Petty Cash MCP

Caja chica y gestión de fondo fijo: reposiciones, vales, saldos e informes de conciliación.

Documentación

Sigue un fondo de caja chica desde Claude

Servidor MCP para un libro de caja chica y un registro de comprobantes: un fondo de caja chica bajo el sistema de fondo fijo. Un fondo de caja chica bajo el sistema de fondo fijo, conciliado hasta la unidad menor.

Funciona con Claude Desktop, Claude Code, Cursor y cualquier cliente del Model Context Protocol. Se ejecuta en tu propia máquina o se aloja sin instalación.

Página del producto: https://mcp.zovo.one/s/petty-cash — 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 de 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/petty-cash 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/petty-cash/t/<token>. Ambas formas funcionan. La URL desnuda sin token responde 401 en tools/call, por lo que el token no es opcional.

Claude Desktop, un clic. Descarga petty-cash.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-petty-cash.git
cd mcp-petty-cash
npm install && npm run build

Luego apunta tu cliente al punto de entrada compilado:

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

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

petty-cash demo

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

En el Registro oficial de MCP (io.github.theluckystrike/petty-cash). Un fondo de caja chica, mantenido como lo mantiene el papeleo. Abre una caja con un monto de fondo fijo y un custodio, registra un comprobante por cada recibo que sale de ella, cuenta el efectivo cuando quieras y obtén la diferencia hasta la unidad menor junto con la lista de comprobantes que cubre el conteo. Cuando la caja se agota, calcula el reabastecimiento: cuánto debe ser el cheque para devolver el fondo a su monto fijo, qué comprobantes reembolsa, los totales por categoría como un payload listo para expense_add, y la partida doble en los nombres de cuenta del propio libro de caja. Cada monto es un número entero de unidades menores, nunca se almacena ningún saldo y no se publica nada en ningún lugar: el payload se devuelve a quien sea dueño de los libros.

Construido por theluckystrike.

La publicación en npm de @theluckystrike/mcp-petty-cash está pendiente, por lo que npx -y @theluckystrike/mcp-petty-cash 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

macOS ~/Library/Application Support/Claude/claude_desktop_config.json, Windows %APPDATA%\Claude\claude_desktop_config.json:

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

Claude Code

claude mcp add petty-cash -- npx -y @theluckystrike/mcp-petty-cash

Cursor

~/.cursor/mcp.json (global) o .cursor/mcp.json (proyecto), misma entrada que Claude Desktop.

Herramientas

herramientaqué hace
float_openAbre un fondo bajo el sistema de fondo fijo: nombre, moneda, monto de fondo fijo en unidades menores, custodio. Devuelve FLOAT-YYYY-NNNN y el asiento de apertura
topup_recordRegistra efectivo que entra a la caja: monto, fecha, fuente. Marca cada comprobante hasta esa fecha como reembolsado
voucher_addRegistra un comprobante que sale de la caja: monto, fecha, categoría, descripción, beneficiario, referencia del recibo. Devuelve VOU-YYYY-NNNN
voucher_deleteElimina un comprobante ingresado por error, mientras aún no haya sido contado
reconcileCuenta el efectivo: el saldo esperado, la diferencia, los comprobantes desde el último conteo, todos marcados como conciliados, y el conteo registrado
replenish_requestLo que restaura el fondo fijo: el monto, los comprobantes que cubre, el payload expense_add por categoría y la partida doble. No escribe nada
float_reportSaldo contra el fondo fijo, comprobantes no conciliados, el último conteo y el historial de cada diferencia que un conteo encontró
license_status / license_activateGratis o Pro, y la clave

Gratis vs Pro

GratisPro
Fondos abiertos1Ilimitados
Comprobantes por mes calendario20Ilimitados
Conciliación (reconcile)IlimitadaIlimitada
Eliminar un comprobante (voucher_delete)SíSí
Registrar un reabastecimiento (topup_record)SíSí
Reposición (replenish_request)-Sí
Informe (float_report)-Sí

El conteo nunca está medido. Si el efectivo en la caja coincide con el papeleo es la pregunta que este servidor existe para responder, y un nivel gratuito que retenga la respuesta es una demostración. Lo que está medido es el volumen de mantenimiento de registros: un segundo fondo es una segunda caja, y veinte comprobantes al mes es una oficina real de una sola caja. voucher_delete es gratuito por la misma razón por la que el límite está en los registros mantenidos: un comprobante escrito dos veces costaría un espacio sin forma de volver atrás excepto una clave.

Obtén Pro: https://mcp.zovo.one/buy/petty-cash, $19 único por este servidor, o $39 por el paquete.

Una percepción medida

El cheque no es la suma de los comprobantes, y la brecha es invisible en el rastro de comprobantes.

El mes trabajado en test/unit.test.mjs: un fondo fijo de EUR 500.00, cinco comprobantes que suman 20,194 unidades menores, por lo que el papeleo dice que la caja contiene 29,806 el día 31. Contiene 29,795. El conteo está corto por exactamente 11 unidades menores, once centavos que ningún comprobante explica y para los que nunca se encontrará un recibo.

La reposición es entonces 20,205, no 20,194. Reembolsar el total de comprobantes en su lugar es lo natural, es lo que suman los comprobantes, y restaura el fondo 11 corto. La misma suite ejecuta tres ciclos de eso: el fondo termina en 49,967 contra un fondo fijo de 50,000, 33 unidades menores de menos, y cada una de las tres conciliaciones intermedias reportó una diferencia de exactamente 11 y nada peor. Nada parece roto. La caja simplemente se hace más pequeña.

Por eso replenish_request calcula imprest - balance y nunca sum(vouchers), y por qué la diferencia regresa como su propia línea de diario cash_over_short en lugar de ser absorbida en una categoría de gastos donde parecería franqueo.

Privacidad

Todos los datos permanecen locales, en ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/petty-cash/. Tres archivos: floats.json, vouchers.json, counter.json. No se envía nada a ningún lugar, no hay cuenta, ni clave API ni llamada de red en este servidor. Las claves de licencia se verifican sin conexión. El diario y el payload expense_add se te devuelven; este servidor no publica nada en ningún otro almacén.

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

Preguntas frecuentes

¿Existe un servidor MCP para caja chica?

Sí. El servidor de caja chica en mcp.zovo.one ejecuta un fondo de caja chica bajo el sistema de fondo fijo: comprobantes, reabastecimientos, saldos por categoría y conciliación. Nivel gratuito, endpoint alojado, almacenamiento local primero.

¿Cómo hago seguimiento de caja chica desde Claude?

Conecta https://mcp.zovo.one/mcp/petty-cash y di: 'Registra un comprobante de 15 EUR para suministros de oficina.' La reposición y la conciliación son indicaciones únicas.

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: