Cash Book MCP
Um livro-razão de partidas dobradas derivado das suas faturas, banco, despesas, depósitos e ativos.
Documentação
mcp-cash-book
Servidor MCP para escrituração contábil por partidas dobradas e um livro-caixa razão geral para pequenas empresas. Um razão de partidas dobradas derivado dos livros que você já mantém, comprovado até a unidade monetária mínima.
Funciona com Claude Desktop, Claude Code, Cursor e qualquer cliente do Model Context Protocol. Roda na sua própria máquina ou hospedado, sem instalação.
Página do produto: https://mcp.zovo.one/s/cash-book — o que faz, as ferramentas que expõe e um endpoint de token ao vivo.
Instalação
Hospedado, nada para instalar. Obtenha um token em https://mcp.zovo.one/mcp/connect (a página de conexão) ou https://mcp.zovo.one/mcp/token (o mesmo token em JSON); um token anônimo gratuito é emitido na hora e uma chave Pro funciona da mesma forma. Em seguida, aponte um cliente MCP para https://mcp.zovo.one/mcp/cash-book via streamable-http e envie o token como Authorization: Bearer <token>.
Se o seu cliente não puder definir cabeçalhos, coloque o token no caminho: https://mcp.zovo.one/mcp/cash-book/t/<token>. Ambas as formas funcionam. A URL simples sem token responde 401 em tools/call, então o token não é opcional.
Claude Desktop, um clique. Baixe cash-book.mcpb do último lançamento e clique duas vezes nele.
A partir do código-fonte. O espelho é autossuficiente: cada dependência @theluckystrike/* é fornecida, então um clone novo compila sem configuração extra.
git clone https://github.com/theluckystrike/mcp-cash-book.git
cd mcp-cash-book
npm install && npm run build
Em seguida, aponte seu cliente para o ponto de entrada compilado:
{
"mcpServers": {
"cash-book": {
"command": "node",
"args": ["/absolute/path/to/mcp-cash-book/dist/index.js"]
}
}
}
@theluckystrike/mcp-cash-bookainda não está publicado no npm, então um comandonpx -y @theluckystrike/mcp-cash-bookfalhará. Os três caminhos acima são os que funcionam e cada um é exercitado pela CI.

Espelho somente leitura de mcp-servers/servers/cash-book. Veja MIRROR.md.
No Registro Oficial de MCP (io.github.theluckystrike/cash-book).
Um razão de partidas dobradas sobre os livros que você já mantém. Ele lê suas faturas, notas de crédito, ordens de compra, depósitos, despesas, importação bancária e registro de ativos fixos, e deriva um débito e um crédito para cada movimento em um período: receita e saída de IVA das faturas, contas a receber e os pagamentos que as quitam, depósitos mantidos como o passivo que são, despesas por categoria com o IVA retirado do valor bruto, ativos fixos e sua depreciação mensal. Ele prova que o balancete soma zero até a unidade monetária mínima e, quando não soma, nomeia o documento cujos próprios números não batem. Ele não escreve nada de volta em nenhum desses livros e não há como digitar um lançamento nele: cada linha carrega o servidor, o ID do documento e a data de origem, para que qualquer valor possa ser rastreado até a página em que foi impresso.
A publicação no npm para @theluckystrike/mcp-cash-book está pendente, então npx -y @theluckystrike/mcp-cash-book retorna 404 hoje. Até lá, o pacote de um clique .mcpb ou um clone + compilação é o caminho que funciona.
Instalação
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 (ou .cursor/mcp.json em um projeto), mesma entrada do Claude Desktop.
Este servidor só é útil ao lado dos servidores que possuem os livros: mcp-invoice, mcp-billing-docs, mcp-deposits, mcp-expense-tracker, mcp-bank-statement e mcp-asset-register. Cada um deles é opcional. Uma loja que não está instalada simplesmente fica ausente do razão; uma loja instalada e ilegível é relatada como ilegível e nunca é lida como vazia.
Ferramentas
| ferramenta | o que faz |
|---|---|
ledger_build | Deriva o razão para um período em uma moeda e registra o período |
period_delete | Remove um período já construído do registro e devolve sua vaga no nível gratuito |
trial_balance | Totaliza os débitos e os créditos e prova que são iguais até a unidade monetária mínima |
ledger_lines | Lista as linhas, filtradas por conta, servidor de origem, documento de origem ou data |
month_close | Lista o que o mês deixa não lançado ou inconsistente e o fecha com um instantâneo |
ledger_export_csv | Retorna as linhas como CSV RFC 4180, uma linha por lançamento |
ledger_report | Movimento e saldo por conta, com os compromissos de compra e as exceções |
license_status | Gratuito ou Pro, e onde atualizar |
license_activate | Ativa uma chave Pro, verificada offline |
Contas: cash, receivables, revenue, vat_output, vat_input, expenses:<category>, deposits_held, fixed_assets, accumulated_depreciation, depreciation_expense e purchase_commitments como memorando que nunca é lançado.
Gratuito vs Pro
| Gratuito | Pro | |
|---|---|---|
trial_balance | ilimitado | ilimitado |
ledger_lines | ilimitado | ilimitado |
ledger_build | 3 períodos por mês calendário | ilimitado |
| Reconstruir um período já construído | gratuito | gratuito |
| Reconstruir um sem nada alterado | recusado, nomeia a linha | recusado, nomeia a linha |
period_delete | ilimitado | ilimitado |
month_close | - | sim |
ledger_export_csv | - | sim |
ledger_report | - | sim |
O balancete é gratuito porque é a única pergunta que este servidor existe para responder. Um contador que não pode verificar se os livros somam não tem motivo para confiar em mais nada aqui.
ledger_lines já retorna todos os campos que ledger_export_csv retorna, bank_ref incluído: a exportação é uma conveniência de formatação, um arquivo RFC 4180 com esses mesmos campos como colunas, não dados novos. A rodada 29 (data/user_value_r29.json, prompt 6) mediu um modelo que interpretou corretamente a recusa Pro em ledger_export_csv, depois construiu manualmente um CSV substituto a partir de ledger_lines e descartou bank_ref mesmo assim. O texto do bloqueio agora diz isso claramente, para que um cliente retransmita ledger_lines em vez de remontar um.
Obtenha Pro: https://mcp.zovo.one/buy/cash-book (pagamento único, vitalício, verificado offline).
A percepção medida
No mês trabalhado em test/_client.mjs, quatro das cinco linhas bancárias são o mesmo dinheiro de um documento que já foi lançado: 1.375.300 das 1.380.300 unidades monetárias mínimas de movimento de caixa, 99,6 por cento, aparecem em ambos os livros. Lançar a importação bancária além dos documentos, que é a forma óbvia de construir um livro-caixa e a forma como a maioria das planilhas faz, move o saldo de caixa de -10.543,00 para -21.111,00 EUR. Não parece errado. Cada linha é individualmente plausível, a conta está errada por quase exatamente um fator de dois, e o balancete ainda soma zero, porque cada recebimento duplicado trouxe sua própria contrapartida.
Então a importação bancária não lança nada aqui. Ela é comparada aos movimentos de caixa lançados como evidência, e os restos são o ponto principal: naquele mês, exatamente 7.500 unidades monetárias mínimas do total bancário, um saque não explicado, é informação que os documentos já não tinham. Esse é o 0,4 por cento que vale a pena importar um extrato, e é a parte que um razão cheio de duplicatas enterra.
Privacidade
Todos os dados permanecem na sua máquina. O razão é derivado em cada chamada dos diretórios de dados dos servidores irmãos em ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/, e este servidor escreve apenas seu próprio cash-book/periods.json e cash-book/closes.json. Não há chamada de rede em nenhum lugar em src e nenhuma telemetria. As chaves de licença são verificadas offline.
Construído por theluckystrike. https://github.com/theluckystrike
Use estes documentos como um servidor MCP
Qualquer cliente MCP (Claude, Cursor, Windsurf, VS Code) pode ler a documentação deste repositório diretamente via GitMCP — sem instalação:
- URL de documentos MCP: https://gitmcp.io/theluckystrike/mcp-cash-book