关于 trial-balance
trial-balance 是从现有财务记录推导复式账簿并验证借贷平衡的 MCP 服务,适用于簿记和月末核对。每条分录都保留来源服务器、单据编号和日期,且不会回写原始账簿。
主要功能
- 01按期间和币种生成账簿
- 02验证借贷精确平衡
- 03按账户、来源或日期筛选分录
- 04标记未过账或不一致项目
- 05导出 CSV 并生成账户报告
适用场景
- 01核对某月借方与贷方是否平衡
- 02追溯分录对应的来源单据
- 03月末检查未过账项目和异常
MCP 相关
该 MCP 服务读取可用的发票、费用、银行导入和固定资产等相邻服务数据,并向 MCP 客户端提供账簿构建、试算平衡及分录查询工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-cash-book
已列入 官方 MCP Registry(io.github.theluckystrike/cash-book)。
用你已经在记的账簿建立一套复式分类账。它会读取你的发票、贷项通知单、采购订单、押金、费用、银行导入记录和固定资产登记簿,并为每个期间内的每笔变动推导出一笔借方和一笔贷方:从发票中计算收入和销项 VAT、应收款及结清应收款的付款、作为负债的押金、按类别归集并从总额中扣除 VAT 的费用、固定资产及其每月折旧。它会验证试算平衡表精确到最小货币单位的借贷合计为零;如果不平衡,则会指出数字本身对不上的单据。它不会向任何账簿写回内容,也无法在其中手动录入分录:每一行都会注明来源服务、单据 ID 和日期,因此可以将任何数字追溯到其印制出处。
@theluckystrike/mcp-cash-book 的 npm 发布尚未完成,因此目前运行 npx -y @theluckystrike/mcp-cash-book 会返回 404。在此之前,可用的方式是 .mcpb 一键安装包,或克隆并构建。
安装
Claude Desktop,~/Library/Application Support/Claude/claude_desktop_config.json(Windows:%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"cash-book": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-cash-book"]
}
}
}
Claude Code:
claude mcp add cash-book -- npx -y @theluckystrike/mcp-cash-book
Cursor:~/.cursor/mcp.json(或项目中的 .cursor/mcp.json),配置项与 Claude Desktop 相同。
此服务只有与负责管理账簿的服务配合使用时才有用:mcp-invoice、mcp-billing-docs、mcp-deposits、mcp-expense-tracker、mcp-bank-statement 和 mcp-asset-register。这些服务均为可选项。未安装的账簿存储会直接从分类账中省略;已安装但无法读取的存储会被报告为无法读取,绝不会被当作空存储处理。
工具
| 工具 | 说明 |
|---|---|
ledger_build | 推导单一期间、单一货币的分类账,并登记该期间 |
period_delete | 从登记簿中移除已构建的期间,并返还其免费版名额 |
trial_balance | 汇总借方与贷方,并验证二者精确到最小货币单位相等 |
ledger_lines | 按账户、来源服务、来源单据或日期筛选并列出各行 |
month_close | 列出该月尚未过账或存在不一致的事项,然后生成快照并结账 |
ledger_export_csv | 以 RFC 4180 CSV 格式返回各行,每个分录项占一行 |
ledger_report | 按账户列出变动和余额,并显示采购承诺及异常事项 |
license_status | 显示免费版或 Pro 版状态,以及升级方式 |
license_activate | 激活 Pro 密钥,并离线验证 |
账户包括:cash、receivables、revenue、vat_output、vat_input、expenses:<category>、deposits_held、fixed_assets、accumulated_depreciation、depreciation_expense,以及永不入账的备忘项目 purchase_commitments。
Free 与 Pro
| Free | Pro | |
|---|---|---|
trial_balance | unlimited | unlimited |
ledger_lines | unlimited | unlimited |
ledger_build | 每个日历月 3 个期间 | unlimited |
| 重建已构建的期间 | 免费 | 免费 |
| 重建内容没有变化的期间 | 拒绝,并指出对应行 | 拒绝,并指出对应行 |
period_delete | unlimited | unlimited |
month_close | - | 是 |
ledger_export_csv | - | 是 |
ledger_report | - | 是 |
试算平衡表免费,因为这是此服务存在的唯一目的。无法检查账目是否平衡的簿记员,没有理由相信这里的其他任何内容。
ledger_lines 已返回 ledger_export_csv 提供的所有字段,包括 bank_ref:导出功能只是格式上的便利,提供一个 RFC 4180 文件,其中以相同字段作为列,并不包含新数据。第 29 轮(data/user_value_r29.json,提示词 6)测得,模型正确地处理了 Pro 对 ledger_export_csv 的拒绝,随后却手动根据 ledger_lines 生成替代 CSV,并漏掉了 bank_ref。现在,限制提示会明确说明这一点,因此客户端会直接转发 ledger_lines,而不是重新拼装数据。
获取 Pro:https://mcp.zovo.one/buy/cash-book(一次性付费,终身使用,离线验证)。
经测量得出的洞见
在 test/_client.mjs 中的示例月份里,5 笔银行记录中有 4 笔与已过账单据记录的是同一笔钱:现金流动的 1,380,300 个小单位中,有 1,375,300 个(99.6%)同时出现在两套账簿中。既记录银行导入,又记录单据——这是建立现金账簿最直观的做法,也是大多数电子表格采用的做法——会使现金余额从 -10,543.00 EUR 降至 -21,111.00 EUR。这看起来并没有错。每一行单独来看都合乎情理,账户金额几乎正好差了一倍,而试算平衡表仍然归零,因为每笔重复的收款都带有对应的抵销项。
因此,这里不会过账银行导入。它会作为证据,与已过账的现金流动进行匹配;而剩余部分才是重点:在该月份,银行总额中恰好有 7,500 个小单位,也就是一笔无法解释的取款,是单据中原本没有的信息。这就是值得导入银行对账单的 0.4%,也是重复记录繁多的账簿会掩盖的部分。
隐私
所有数据都保留在你的机器上。每次调用时,账簿都会根据同级服务各自的数据目录重新生成,这些目录位于 ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/ 下;此服务只会写入自己的 cash-book/periods.json 和 cash-book/closes.json。src 中没有任何网络调用,也没有遥测。许可证密钥会离线验证。
由 theluckystrike 构建。https://github.com/theluckystrike
将这些文档用作 MCP 服务
任何 MCP 客户端(Claude、Cursor、Windsurf、VS Code)都可以通过 GitMCP 直接读取此代码库的文档,无需安装:
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。