cash-book

One double-entry ledger derived from your invoices, bank, expenses, deposits and assets.

我该使用它吗

质量与安全性

A
描述质量
98%
模式完整度
92%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,881token 数(工具定义)
~1.6 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.47%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "cash-book": {
      "command": "uvx",
      "args": [
        "https://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/cash-book.mcpb"
      ]
    }
  }
}

可运行的软件包

mcpbhttps://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/cash-book.mcpb0.22.0stdio

远程端点

https://mcp.zovo.one/mcp/cash-bookstreamable-http

它能做什么

工具清单

工具(9)

🟢 只读🟡 写入🔴 删除⚪ 未知
⚪ledger_build(from, to, currency)

Derive the double-entry ledger for one period in ONE currency from the invoice, credit note, deposit, expense, bank and asset stores, and register it. Nothing is written back. Free: 3 periods a month.

输入模式

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "maxLength": 10,
      "description": "First day of the period, YYYY-MM-DD"
    },
    "to": {
      "type": "string",
      "maxLength": 10,
      "description": "Last day of the period, YYYY-MM-DD, inclusive"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "Needed when the period holds documents in more than one currency. Currencies are never added together"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴period_delete(from, to, currency)

Delete one built period from the register and give its free-tier slot back. Refused when a closed month's snapshot covers the period, and that month is named. No sibling book is touched.

输入模式

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "maxLength": 10,
      "description": "First day of the period, YYYY-MM-DD"
    },
    "to": {
      "type": "string",
      "maxLength": 10,
      "description": "Last day of the period, YYYY-MM-DD, inclusive"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "Needed only when the same date range was built in more than one currency"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡trial_balance(from, to, currency)

Total the debits and the credits for a period and prove they are equal to the minor unit. When they are not, name the entries whose own legs do not add up and the source document behind each. Free and unlimited.

输入模式

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "maxLength": 10,
      "description": "First day of the period, YYYY-MM-DD"
    },
    "to": {
      "type": "string",
      "maxLength": 10,
      "description": "Last day of the period, YYYY-MM-DD, inclusive"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "Needed when the period holds documents in more than one currency. Currencies are never added together"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢ledger_lines(from, to, currency, account, source, ...)

List the ledger lines for a period, filtered by account, source server, source_id or date; each carries its debit, credit and bank_ref, with the totals of the rows returned. Filtered totals do not balance. Free.

输入模式

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "maxLength": 10,
      "description": "First day of the period, YYYY-MM-DD"
    },
    "to": {
      "type": "string",
      "maxLength": 10,
      "description": "Last day of the period, YYYY-MM-DD, inclusive"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "Needed when the period holds documents in more than one currency. Currencies are never added together"
    },
    "account": {
      "type": "string",
      "maxLength": 200,
      "description": "Only this account, e.g. cash, receivables, vat_output, or a category prefix such as \"expenses\""
    },
    "source": {
      "type": "string",
      "maxLength": 200,
      "description": "Only lines derived from this server: invoice, billing-docs, deposits, expense-tracker or asset-register"
    },
    "source_id": {
      "type": "string",
      "maxLength": 200,
      "description": "Only lines derived from this document, e.g. INV-2026-0001"
    },
    "since": {
      "type": "string",
      "maxLength": 10,
      "description": "Only lines dated on or after this date, YYYY-MM-DD"
    },
    "until": {
      "type": "string",
      "maxLength": 10,
      "description": "Only lines dated on or before this date, YYYY-MM-DD"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5000,
      "description": "Maximum rows, default and ceiling 5000"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢month_close(month, currency, dry_run)

List what a month leaves unposted or unbalanced, with its trial balance and bank reconciliation, then store the close as a snapshot; a later call names any drift against it. dry_run writes nothing. Pro.

输入模式

{
  "type": "object",
  "properties": {
    "month": {
      "type": "string",
      "maxLength": 7,
      "description": "The month to close, YYYY-MM"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "Needed when the period holds documents in more than one currency. Currencies are never added together"
    },
    "dry_run": {
      "type": "boolean",
      "description": "Report the exceptions and the trial balance without writing the close. Default false"
    }
  },
  "required": [
    "month"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢ledger_export_csv(from, to, currency, account, source)

Return the period's ledger lines as RFC 4180 CSV, one row per leg, as a download link valid for one hour. Pro, but ledger_lines returns these same fields free and unlimited; this only lays them out as CSV columns.

输入模式

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "maxLength": 10,
      "description": "First day of the period, YYYY-MM-DD"
    },
    "to": {
      "type": "string",
      "maxLength": 10,
      "description": "Last day of the period, YYYY-MM-DD, inclusive"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "Needed when the period holds documents in more than one currency. Currencies are never added together"
    },
    "account": {
      "type": "string",
      "maxLength": 200,
      "description": "Only this account or category prefix"
    },
    "source": {
      "type": "string",
      "maxLength": 200,
      "description": "Only lines derived from this server"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢ledger_report(from, to, currency)

Report a built period account by account: debits, credits, movement and closing balance, plus purchase commitments held as memos and the period's exceptions. Pro; ledger_lines gives the lines free.

输入模式

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "maxLength": 10,
      "description": "First day of the period, YYYY-MM-DD"
    },
    "to": {
      "type": "string",
      "maxLength": 10,
      "description": "Last day of the period, YYYY-MM-DD, inclusive"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "Needed when the period holds documents in more than one currency. Currencies are never added together"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢license_status

Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪license_activate(key)

Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.

输入模式

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "License key from checkout, MCPL1.<payload>.<signature>"
    }
  },
  "required": [
    "key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本9 个工具
已验证未记录版本9 个工具
已验证未记录版本9 个工具