Cash Book MCP

Un libro mayor de partida doble derivado de tus facturas, banco, gastos, depósitos y activos.

Documentación

mcp-cash-book

Servidor MCP para contabilidad por partida doble y un libro de caja general para una pequeña empresa. Un libro mayor de partida doble derivado de los libros que ya llevas, comprobado hasta la unidad menor.

Funciona con Claude Desktop, Claude Code, Cursor y cualquier cliente del Protocolo de Contexto de Modelos. Se ejecuta en tu propia máquina, o alojado sin instalación.

Página del producto: https://mcp.zovo.one/s/cash-book — qué hace, las herramientas que expone y un endpoint de token en vivo.

Instalación

Alojado, nada que instalar. Obtén un token de https://mcp.zovo.one/mcp/connect (la página de conexión) o https://mcp.zovo.one/mcp/token (el mismo token como JSON); se emite uno anónimo gratuito al instante y una clave Pro funciona de la misma manera. Luego apunta un cliente MCP a https://mcp.zovo.one/mcp/cash-book a través de streamable-http y envía el token como Authorization: Bearer <token>.

Si tu cliente no puede configurar encabezados, coloca el token en la ruta en su lugar: https://mcp.zovo.one/mcp/cash-book/t/<token>. Ambas formas funcionan. La URL sin token responde 401 en tools/call, por lo que el token no es opcional.

Claude Desktop, un clic. Descarga cash-book.mcpb desde la última versión y haz doble clic en él.

Desde el código fuente. El espejo es autónomo: cada dependencia de @theluckystrike/* está incluida, por lo que un clon nuevo se compila sin configuración adicional.

git clone https://github.com/theluckystrike/mcp-cash-book.git
cd mcp-cash-book
npm install && npm run build

Luego apunta tu cliente al punto de entrada compilado:

{
  "mcpServers": {
    "cash-book": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-cash-book/dist/index.js"]
    }
  }
}

@theluckystrike/mcp-cash-book aún no está publicado en npm, por lo que un comando npx -y @theluckystrike/mcp-cash-book fallará. Las tres rutas anteriores son las que funcionan y cada una es probada por CI.

cash-book demo

Espejo de solo lectura de mcp-servers/servers/cash-book. Consulta MIRROR.md.

En el Registro oficial de MCP (io.github.theluckystrike/cash-book). Un libro mayor de partida doble sobre los libros que ya llevas. Lee tus facturas, notas de crédito, órdenes de compra, depósitos, gastos, importación bancaria y registro de activos fijos, y deriva un débito y un crédito para cada movimiento en un período: ingresos y salida de IVA de las facturas, cuentas por cobrar y los pagos que las liquidan, depósitos mantenidos como el pasivo que son, gastos por categoría con el IVA extraído del bruto, activos fijos y su depreciación mensual. Comprueba que el balance de comprobación sume cero hasta la unidad menor, y cuando no lo hace, nombra el documento cuyas propias cifras no cuadran. No escribe nada de vuelta en ninguno de esos libros, y no hay forma de escribir una entrada en él: cada línea lleva el servidor, el id del documento y la fecha de la que proviene, por lo que cualquier cifra puede rastrearse hasta la página en la que se imprimió.

La publicación en npm de @theluckystrike/mcp-cash-book está pendiente, por lo que npx -y @theluckystrike/mcp-cash-book devuelve 404 hoy. Hasta entonces, el paquete de un clic .mcpb o un clon+compilación es la ruta que funciona.

Instalación

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 (o .cursor/mcp.json en un proyecto), misma entrada que Claude Desktop.

Este servidor solo es útil junto a los servidores que poseen los libros: mcp-invoice, mcp-billing-docs, mcp-deposits, mcp-expense-tracker, mcp-bank-statement y mcp-asset-register. Cada uno de ellos es opcional. Una tienda que no está instalada simplemente está ausente del libro mayor; una tienda que está instalada y no se puede leer se reporta como ilegible, y nunca se lee como una vacía.

Herramientas

herramientaqué hace
ledger_buildDeriva el libro mayor para un período en una moneda y registra el período
period_deleteElimina un período construido del registro y devuelve su espacio de nivel gratuito
trial_balanceTotaliza los débitos y los créditos y comprueba que sean iguales hasta la unidad menor
ledger_linesLista las líneas, filtradas por cuenta, servidor de origen, documento de origen o fecha
month_closeLista lo que el mes deja sin contabilizar o inconsistente, luego lo cierra con una instantánea
ledger_export_csvDevuelve las líneas como CSV RFC 4180, una fila por asiento
ledger_reportMovimiento y saldo por cuenta, con los compromisos de compra y las excepciones
license_statusGratis o Pro, y dónde actualizar
license_activateActiva una clave Pro, verificada sin conexión

Cuentas: cash, receivables, revenue, vat_output, vat_input, expenses:<category>, deposits_held, fixed_assets, accumulated_depreciation, depreciation_expense y purchase_commitments como memo que nunca se contabiliza.

Gratis vs Pro

GratisPro
trial_balanceilimitadoilimitado
ledger_linesilimitadoilimitado
ledger_build3 períodos por mes calendarioilimitado
Reconstruir un período ya construidogratisgratis
Reconstruir uno sin cambiosrechazado, nombra la filarechazado, nombra la fila
period_deleteilimitadoilimitado
month_close-sí
ledger_export_csv-sí
ledger_report-sí

El balance de comprobación es gratuito porque es la única pregunta que este servidor existe para responder. Un contador que no puede verificar que los libros cuadren no tiene razón para confiar en nada más aquí.

ledger_lines ya devuelve cada campo que ledger_export_csv hace, bank_ref incluido: la exportación es una conveniencia de formato, un archivo RFC 4180 con esos mismos campos como columnas, no datos nuevos. La ronda 29 (data/user_value_r29.json, prompt 6) midió que un modelo tomó el rechazo Pro en ledger_export_csv correctamente, luego construyó manualmente un CSV sustituto de ledger_lines y dejó caer bank_ref de todos modos. El texto de la puerta ahora dice esto claramente, para que un cliente transmita ledger_lines en lugar de reensamblar uno.

Obtén Pro: https://mcp.zovo.one/buy/cash-book (único pago, de por vida, verificado sin conexión).

La percepción medida

En el mes trabajado en test/_client.mjs, cuatro de las cinco filas bancarias son el mismo dinero que un documento que ya fue contabilizado: 1,375,300 de las 1,380,300 unidades menores de movimiento de efectivo, el 99.6 por ciento, aparecen en ambos libros. Contabilizar la importación bancaria además de los documentos, que es la forma obvia de construir un libro de caja y la forma en que la mayoría de las hojas de cálculo lo hacen, mueve el saldo de efectivo de -10,543.00 a -21,111.00 EUR. No parece incorrecto. Cada línea es individualmente plausible, la cuenta está desviada por casi exactamente un factor de dos, y el balance de comprobación aún llega a cero, porque cada recibo duplicado trajo su propio contrapartida consigo.

Entonces, la importación bancaria no contabiliza nada aquí. Se compara con los movimientos de efectivo contabilizados como evidencia, y los sobrantes son el punto central: en ese mes, exactamente 7,500 unidades menores del total bancario, un retiro sin explicación, es información que los documentos no tenían. Ese es el 0.4 por ciento que vale la pena importar un estado de cuenta, y es la parte que un libro mayor con muchos duplicados entierra.

Privacidad

Todos los datos permanecen en tu máquina. El libro mayor se deriva en cada llamada de los directorios de datos propios de los servidores hermanos bajo ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/, y este servidor solo escribe su propio cash-book/periods.json y cash-book/closes.json. No hay llamada de red en ningún lugar de src, y no hay telemetría. Las claves de licencia se verifican sin conexión.

Construido por theluckystrike. https://github.com/theluckystrike

Usa estos documentos como un servidor MCP

Cualquier cliente MCP (Claude, Cursor, Windsurf, VS Code) puede leer la documentación de este repositorio directamente a través de GitMCP — sin instalación: