Trial Balance

io.github.theluckystrike由 GitHub 帳號 theluckystrike 發布v0.22.6更新於 Oct 24, 2026

Prove your books balance: every debit and credit for a month, to the minor unit.

已驗證STDIO僅桌面金融資料與分析

概覽

AI 產生的概覽

本機複式記帳現金簿,從配套記帳伺服器推導借貸分錄,並驗證試算表合計為零。

可以做什麼
建立、刪除與結算會計期間,月結快照僅限 Pro。彙總借方與貸方,驗證試算表精確到最小貨幣單位。依科目、來源伺服器、來源單據或日期篩選列出分錄列。將分錄匯出為 RFC 4180 CSV,並產生依科目的發生額與餘額報告(僅 Pro)。查詢授權狀態並離線啟用 Pro 金鑰。
適用情境
當你已經執行配套的記帳伺服器(發票、帳務文件、押金、費用、銀行對帳單、資產登記)並希望助理據此彙整與核對每月複式帳簿時適用。單獨使用沒有意義,因為它只讀取這些配套資料存放區。
執行需求
以本機程序在使用者電腦上執行,僅限桌面端;npm 套件尚未發布,目前需使用 .mcpb 安裝包或複製後自行建置。讀取本機 mcp-servers 資料目錄下配套伺服器的資料。選用的 Pro 授權金鑰透過 MCP_LICENSE_KEY 環境變數提供,並離線驗證。
安裝前請注意
Pro 功能(月結、CSV 匯出、報告、無限次建立期間)需要一次性付費授權;免費版每個日曆月僅允許建立三個期間。它只寫入自己的期間與結算檔案,不會回寫來源帳簿。授權金鑰屬於機密,應避免放入共用設定。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Trial Balance,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-cash-book

In the official MCP Registry (io.github.theluckystrike/cash-book). One double-entry ledger over the books you already keep. It reads your invoices, credit notes, purchase orders, deposits, expenses, bank import and fixed asset register, and derives a debit and a credit for every movement in a period: revenue and VAT output from the invoices, receivables and the payments that clear them, deposits held as the liability they are, expenses by category with the VAT taken out of the gross, fixed assets and their monthly depreciation. It proves the trial balance sums to zero to the minor unit, and when it does not it names the document whose own figures do not add up. It writes nothing back into any of those books, and there is no way to type an entry into it: every line carries the server, the document id and the date it came from, so any figure can be walked back to the page it was printed on.

npm publish for @theluckystrike/mcp-cash-book is pending, so npx -y @theluckystrike/mcp-cash-book returns 404 today. Until then, the .mcpb one-click bundle or a clone+build is the working path.

Install

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

json
{  "mcpServers": {    "cash-book": {      "command": "npx",      "args": ["-y", "@theluckystrike/mcp-cash-book"]    }  }}

Claude Code:

sh
claude mcp add cash-book -- npx -y @theluckystrike/mcp-cash-book

Cursor: ~/.cursor/mcp.json (or .cursor/mcp.json in a project), same entry as Claude Desktop.

This server is only useful next to the servers that own the books: mcp-invoice, mcp-billing-docs, mcp-deposits, mcp-expense-tracker, mcp-bank-statement and mcp-asset-register. Every one of them is optional. A store that is not installed is simply absent from the ledger; a store that is installed and unreadable is reported as unreadable, and never read as an empty one.

Tools

toolwhat it does
ledger_buildDerives the ledger for one period in one currency and registers the period
period_deleteRemoves one built period from the register and gives its free-tier slot back
trial_balanceTotals the debits and the credits and proves they are equal to the minor unit
ledger_linesLists the lines, filtered by account, source server, source document or date
month_closeLists what the month leaves unposted or inconsistent, then closes it with a snapshot
ledger_export_csvReturns the lines as RFC 4180 CSV, one row per leg
ledger_reportMovement and balance per account, with the purchase commitments and the exceptions
license_statusFree or Pro, and where to upgrade
license_activateActivates a Pro key, verified offline

Accounts: cash, receivables, revenue, vat_output, vat_input, expenses:<category>, deposits_held, fixed_assets, accumulated_depreciation, depreciation_expense, and purchase_commitments as a memo that is never posted.

Free vs Pro

FreePro
trial_balanceunlimitedunlimited
ledger_linesunlimitedunlimited
ledger_build3 periods a calendar monthunlimited
Rebuilding a period already builtfreefree
Rebuilding one with nothing changedrefused, names the rowrefused, names the row
period_deleteunlimitedunlimited
month_close-yes
ledger_export_csv-yes
ledger_report-yes

The trial balance is free because it is the only question this server exists to answer. A bookkeeper who cannot check that the books add up has no reason to trust anything else here.

ledger_lines already returns every field ledger_export_csv does, bank_ref included: the export is a formatting convenience, an RFC 4180 file with those same fields as columns, not new data. Round 29 (data/user_value_r29.json, prompt 6) measured a model take the Pro refusal on ledger_export_csv correctly, then hand-build a substitute CSV from ledger_lines and drop bank_ref anyway. The gate text now says this plainly, so a client relays ledger_lines instead of reassembling one.

Get Pro: https://mcp.zovo.one/buy/cash-book (one-time, lifetime, verified offline).

The measured insight

On the worked month in test/_client.mjs, four of the five bank rows are the same money as a document that was already posted: 1,375,300 of the 1,380,300 minor units of cash movement, 99.6 percent, appear in both books. Posting the bank import as well as the documents, which is the obvious way to build a cash book and the way most spreadsheets do it, moves the cash balance from -10,543.00 to -21,111.00 EUR. It does not look wrong. Every line is individually plausible, the account is off by almost exactly a factor of two, and the trial balance still comes to zero, because each duplicated receipt brought its own contra with it.

So the bank import posts nothing here. It is matched to the posted cash movements as evidence, and the leftovers are the whole point: on that month exactly 7,500 minor units of the bank total, one unexplained withdrawal, is information the documents did not already have. That is the 0.4 percent worth importing a statement for, and it is the part a duplicate-heavy ledger buries.

Privacy

All data stays on your machine. The ledger is derived on each call from the sibling servers' own data directories under ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/, and this server writes only its own cash-book/periods.json and cash-book/closes.json. There is no network call anywhere in src, and no telemetry. License keys are verified offline.

Built by theluckystrike. https://github.com/theluckystrike

Use these docs as an MCP server

Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP - no install:

來源:servers/cash-book/README.md,提交 6535b33

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

3
  1. v0.22.6最新Oct 14, 2026
  2. v0.22.3Sep 23, 2026
  3. v0.21.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分