theluckystrike Cash Book MCP
A double-entry ledger server that derives accounting entries from existing invoices, bank lines, expenses, deposits, and assets. It provides tools to build ledgers, list lines, calculate trial balances, close months, and export data, ensuring debits equal credits to the minor unit.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.zovo.one/mcp/cash-bookWhat its tools do
9 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (3)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Derive double-entry ledger entries from source records
- List ledger lines filtered by account or date
- Calculate and prove trial balance totals
- Close a month and export ledger to CSV
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- mcp-cash-book 0.22.6
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 9 advertised
- Resources
- 2 advertised
- Resource templates
- 0 advertised
- Prompts
- 2 advertised
{
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
ledger_build — Build the ledger for a period
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 10,
"description": "Last day of the period, YYYY-MM-DD, inclusive"
},
"from": {
"type": "string",
"maxLength": 10,
"description": "First day of the period, YYYY-MM-DD"
},
"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"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}period_delete — Delete a built period
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 10,
"description": "Last day of the period, YYYY-MM-DD, inclusive"
},
"from": {
"type": "string",
"maxLength": 10,
"description": "First day of the period, YYYY-MM-DD"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Needed only when the same date range was built in more than one currency"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}trial_balance — Prove the ledger balances
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 10,
"description": "Last day of the period, YYYY-MM-DD, inclusive"
},
"from": {
"type": "string",
"maxLength": 10,
"description": "First day of the period, YYYY-MM-DD"
},
"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"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}ledger_lines — List ledger lines
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 10,
"description": "Last day of the period, YYYY-MM-DD, inclusive"
},
"from": {
"type": "string",
"maxLength": 10,
"description": "First day of the period, YYYY-MM-DD"
},
"limit": {
"type": "integer",
"maximum": 5000,
"minimum": 1,
"description": "Maximum rows, default and ceiling 5000"
},
"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"
},
"source": {
"type": "string",
"maxLength": 200,
"description": "Only lines derived from this server: invoice, billing-docs, deposits, expense-tracker or asset-register"
},
"account": {
"type": "string",
"maxLength": 200,
"description": "Only this account, e.g. cash, receivables, vat_output, or a category prefix such as \"expenses\""
},
"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"
},
"source_id": {
"type": "string",
"maxLength": 200,
"description": "Only lines derived from this document, e.g. INV-2026-0001"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}month_close — Close a month
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"month"
],
"properties": {
"month": {
"type": "string",
"maxLength": 7,
"description": "The month to close, YYYY-MM"
},
"dry_run": {
"type": "boolean",
"description": "Report the exceptions and the trial balance without writing the close. Default false"
},
"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"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}ledger_export_csv — Export the ledger as CSV
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 10,
"description": "Last day of the period, YYYY-MM-DD, inclusive"
},
"from": {
"type": "string",
"maxLength": 10,
"description": "First day of the period, YYYY-MM-DD"
},
"source": {
"type": "string",
"maxLength": 200,
"description": "Only lines derived from this server"
},
"account": {
"type": "string",
"maxLength": 200,
"description": "Only this account or category prefix"
},
"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"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}ledger_report — Report movement and balance per account
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 10,
"description": "Last day of the period, YYYY-MM-DD, inclusive"
},
"from": {
"type": "string",
"maxLength": 10,
"description": "First day of the period, YYYY-MM-DD"
},
"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"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}license_status — 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",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}license_activate — Activate license
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"key"
],
"properties": {
"key": {
"type": "string",
"description": "License key from checkout, MCPL1.<payload>.<signature>"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Prompts
2 advertised
upgrade_to_pro — Explain the upgrade
Explain what Pro on the cash-book server costs and exactly what the user has to do, without leaving the conversation.
- feature
- The capped feature that prompted this, if there was one
close_the_month — Close the month
Walk a month close: build the ledger, prove the trial balance, work the exceptions, then close.
- month
- The month to close, YYYY-MM (required)
Resources
2 advertised
pricing — Pricing and upgrade
What cash-book costs, what Pro unlocks, the checkout link that carries this connection's token, and the one step a person has to take. Machine-readable; read it before telling a user how to lift a free-tier cap.
pricing://cash-bookaccounts — Chart of accounts and the stores behind it
The accounts this ledger posts to, which sibling endpoint feeds each one, and the one document this server writes.
ledger://accounts30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1291 ms
- 95th percentile latency
- 1291 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1291 ms · metadata changed · 9 tool(s), 2 resource(s), 0 resource template(s), 2 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http cash-book-mcp-zovo https://mcp.zovo.one/mcp/cash-bookCodex
codex mcp add cash-book-mcp-zovo --url https://mcp.zovo.one/mcp/cash-bookCursor
{
"mcpServers": {
"cash-book-mcp-zovo": {
"url": "https://mcp.zovo.one/mcp/cash-book"
}
}
}Cline
{
"mcpServers": {
"cash-book-mcp-zovo": {
"type": "streamableHttp",
"url": "https://mcp.zovo.one/mcp/cash-book",
"disabled": false
}
}
}VS Code
{
"servers": {
"cash-book-mcp-zovo": {
"type": "http",
"url": "https://mcp.zovo.one/mcp/cash-book"
}
}
}Gemini CLI
gemini mcp add --transport http cash-book-mcp-zovo https://mcp.zovo.one/mcp/cash-bookClaude Desktop
https://mcp.zovo.one/mcp/cash-bookWindsurf
{
"mcpServers": {
"cash-book-mcp-zovo": {
"serverUrl": "https://mcp.zovo.one/mcp/cash-book"
}
}
}Let your agent find its tools
Find servers like theluckystrike Cash Book MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.