mcpField
D
dunning

dunning

本地服务
mcp.zovo.one金融数据21 天前更新

关于 dunning

dunning 是一款 MCP 服务,可从发票、贷项通知单和押金记录生成客户对账单并起草催款函。它按到期日统计欠款,读取数据但不修改账簿。

主要功能

  1. 01按客户和期间生成对账单
  2. 02按指定日期统计逾期账款
  3. 03导出文本或 A4 PDF 对账单
  4. 04起草友好、坚定或最终催款函
  5. 05按币种汇总未结余额

适用场景

  1. 01为客户准备账户对账单
  2. 02查询指定日期的逾期发票
  3. 03起草不额外添加费用的催款提醒

MCP 相关

它向 MCP 客户端提供对账单生成、账龄分析、导出、报告和催款工具,并提供数据源资源与催款提示词。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbstatement-of-account.mcpb0.22.5

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-statement-of-account

theluckystrike/mcp-statement-of-account MCP 服务

已收录于 官方 MCP 注册表(io.github.theluckystrike/statement-of-account)。 给客户端发送一份能回答“我到底欠你多少钱”的文件。此 MCP 服务会读取你在这套工具中已有的账簿、发票、贷项通知单和押金,并按指定期间生成对账单:期初余额、你开具的每张发票、收到的每笔付款、开出的每张贷项通知单,以及期末余额。它会将尚未结清的款项按逾期 0–30 天、31–60 天、61–90 天和超过 90 天进行账龄划分,让你一眼看出哪个客户端有问题;它可以将对账单生成为可直接粘贴的文本,或采用与发票相同样式的 A4 PDF;还可以起草催款信,语气分为友好、坚定或最终催款。它绝不会回写你的发票,也绝不会凭空捏造滞纳金。

由 theluckystrike 构建。

@theluckystrike/mcp-statement-of-account 尚未发布到 npm,因此目前运行 npx -y @theluckystrike/mcp-statement-of-account 会返回 404。在此之前,可使用 .mcpb 一键安装包,或克隆并构建。

安装

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):

{
  "mcpServers": {
    "statement-of-account": {
      "command": "npx",
      "args": ["-y", "@theluckystrike/mcp-statement-of-account"]
    }
  }
}
Claude Code
claude mcp add statement-of-account -- npx -y @theluckystrike/mcp-statement-of-account
Cursor

~/.cursor/mcp.json(全局)或 .cursor/mcp.json(项目级),与 Claude Desktop 使用相同条目。

工具

工具功能
statement_build生成单个客户端某一期间的对账单:期初余额、已开具发票、已收款项、贷项通知单、已抵扣押金和期末余额。所有金额均以最小货币单位表示并经过格式化
statement_aging截至指定日期的应收款,按逾期 0–30 天、31–60 天、61–90 天和超过 90 天分类;可查询单个客户端或所有客户端,并按币种区分
statement_text将同一份对账单生成为纯文本,按日期顺序列出各笔变动,可直接粘贴到电子邮件中
statement_pdf将同一份对账单生成为 A4 PDF,标题为 STATEMENT OF ACCOUNT,页面布局与发票和贷项通知单相同
dunning_text生成 1 级(友好)、2 级(坚定)或 3 级(最终催款)的催款信,附上逾期款项清单和银行账户信息
statements_report一次查看所有客户端:按币种列出未结款项和账龄,并显示账簿中逾期时间最长的发票
license_status查看免费版或 Pro 版状态,以及升级方式
license_activate激活 Pro 密钥

此外还有 statement://sources 资源,用于说明此服务能够读取三个存储源中的哪些,以及每个存储源包含多少行;还有 chase_overdue 提示词。

免费版与 Pro 版

免费版Pro 版
生成对账单每个自然月 5 份不限
重新生成已生成的对账单不限不限
statement_aging不限不限
statement_text可以可以
dunning_text 1 级和 2 级可以可以
dunning_text 3 级(最终催款)不可以可以
statement_pdf不可以可以
statements_report不可以可以
PDF 页脚署名显示移除

账龄查询有意设置为免费且不限量。“谁欠我钱”是此服务存在的全部意义,隐藏这项功能的免费版只是演示,而不是工具。额度限制针对的是实际发送给客户端的对账单,并按不同对账单计数:相同客户端、期间和币种的对账单,无论重新生成多少次,都永久免费。

获取 Pro 版,一次性付费,终身使用此服务。密钥可离线验证。

数字的来源

这里没有任何数据需要重复录入。服务会读取三个存储,不会向其中任何一个写入数据:

存储服务从中获取的内容
invoices.jsonmcp-invoice发票、到期日以及每张发票已支付的金额
credit-notes.jsonmcp-billing-docs贷项通知单,已按负数存储
deposits.jsonmcp-deposits定金的应用情况,以及仍被保留的金额

从未安装过的存储只会被视为不存在,报表会在不使用它的情况下生成。 如果某个存储存在于磁盘上,却无法读取,那就完全是另一回事;每项数据都会如实报告这一情况,因为无法计算的余额绝不能显示成无欠款的余额。服务唯一拒绝在缺少它时运行的存储是发票账簿。

一项经过验证的洞见

用今天的付款数据计算过去日期的账龄,不只是略有偏差,而是会悄无声息地得出空结果。 账龄的常见计算方式是“逐张发票计算,减去已付金额,再按到期日分组”。没人考虑过的是,这个减法也要按日期计算。在 test/_client.mjs 中的示例月份,按 2026-06-10 计算账龄时,两种规则得出的结果如下:

规则未结余额逾期金额
截至 2026-06-102,500.00 EUR500.00 EUR,逾期 31 天
按今天的 paid_minor 计算1,700.00 EUR0.00 EUR

这种简单规则少算了 800.00,占 2,500.00 欠款的三分之一;而在发票已逾期一个月的日期,它却报告没有任何逾期金额,因为两天后到账的付款已经从中扣除。这种错误难以察觉:答案看起来整齐,分组金额也能加总,而且由于输入数据不断变化,下个月就无法复现。因此,statement_aging 中的每项数据都会按所查询的日期计算,两个方向都一样:之后开具的发票不计入账簿,之后支付的款项尚未发生,之后开具的贷项通知单也尚未发出。

测量还揭示了第二点:发票上的 paid_minor 和 payments[] 不必一致,而且两者经常不一致。invoice_mark_paid 会同时写入两者,但 deposit_apply 只会增加 paid_minor,不会附加付款记录;在该字段出现之前创建的发票也没有付款记录。如果根据 payments[] 重建收款记录,示例月份 900.00 收款中就会漏掉 300.00,也就是三分之一的现金,而系统不会在任何地方报错。paid_minor 被视为权威数据,付款记录则只用于归属。

本服务遵循的规则

  • 押金是一笔只流转一次的款项。 计入押金时,付款就已记入发票,因此对账单会在发票中计入这笔款项,并将其单独列为“其中:已抵扣押金”,而不会再次将其作为抵扣项。仍由本服务持有的押金款项会作为备忘项目列出,绝不会计入余额:在抵扣前,这笔钱属于客户。
  • 不同币种绝不相加。 一份对账单只使用一种币种;如果客户的账单涉及两种币种,会询问客户选择哪一种。本服务没有汇率,因此将 EUR 账本和 USD 账本合并成一个数字,只会是凭空捏造。
  • 到期日当天不算逾期。 发票在到期日次日才进入 0-30 天账龄区间。未结清但尚未到期的款项会列在各账龄区间旁边,既不会计入区间,也不会被隐藏。
  • 贷项通知单只会冲减其指定的发票。 未结余额最低为零;超出的部分会列为未抵扣贷项,不会悄悄用来冲销客户从未同意抵扣的发票。
  • 催款通知不会凭空捏造费用。 三个催款级别只在语气和期限上有所不同,除此之外没有区别。本服务不保存合同条款、法定利率或司法管辖区信息,因此任何级别都不会提及滞纳金、利率或法律费用。最不该放入虚构数字的地方,就是催款通知。
  • 如果客户没有任何逾期款项,则拒绝发送催款通知,并说明哪些款项未结清但尚未到期。

隐私

所有数据都保留在你的机器上。发票、贷项通知单和押金从 ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/ 中读取;本服务自行建立的对账单登记簿写入 .../mcp-servers/statement-of-account/,不会向任何地方发送数据。本服务完全不进行网络调用。许可证密钥会离线验证。

许可证

MIT。支持邮箱:[email protected]

由 theluckystrike 构建。

将这些文档用作 MCP 服务

任何 MCP 客户端(Claude、Cursor、Windsurf、VS Code)都可以通过 GitMCP 直接读取此代码库的文档,无需安装:

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。