Skip to main content
Glama
MCP Server Facturas

MCP Server Facturas

by pablofranco1

MCP Server Facturas

Servidor MCP que permite a un LLM (Claude Desktop o cualquier cliente MCP) consultar y gestionar clientes y facturas. El modelo nunca accede a la base de datos directamente: solo puede usar un conjunto cerrado de herramientas, y el servidor valida cada operación independientemente de lo que decida el modelo.

Resumen de deuda

Herramientas

Herramienta

Qué hace

listar_clientes

Lista los clientes

buscar_facturas

Busca facturas por cliente y estado (pagada, pendiente, vencida)

resumen_deuda

Importe pendiente y vencido por cliente

crear_factura

Crea una factura para un cliente existente

marcar_pagada

Marca una factura como pagada

Related MCP server: SecureAgentServer

Seguridad

El modelo puede equivocarse o ser manipulado (por ejemplo, mediante prompt injection), así que las reglas de negocio se aplican en el servidor y no en el prompt:

  • Sin SQL libre: el modelo no puede ejecutar consultas arbitrarias, solo las herramientas definidas. Todas las consultas usan parámetros, sin concatenar texto.

  • Validación de entradas: importes entre 0 y 50.000 €, vencimientos entre 1 y 120 días, estados de una lista cerrada y conceptos limitados a 200 caracteres.

  • Límite acumulado: máximo de 50.000 € facturados por cliente y día.

  • Errores explicativos: los rechazos devuelven un motivo claro al modelo, que puede explicárselo al usuario en lugar de reintentar a ciegas.

Por qué un límite acumulado

En la primera versión, el límite era solo por factura. Al pedirle una factura de 100.000 €, el servidor la rechazó correctamente, pero el propio modelo propuso como alternativa partirla en dos facturas de 50.000 €. No había mala intención: intentaba ayudar. Aun así, demostraba que un agente puede esquivar un límite por operación troceando la acción.

Con el límite acumulado por cliente y día, la segunda factura se rechaza y la operación requiere aprobación manual:

Límite diario

Instalación

Requisitos: Python 3.10+ y Claude Desktop.

git clone https://github.com/pablofranco1/mcp-server-facturas.git
cd mcp-server-facturas
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python seed.py

seed.py crea una base de datos SQLite con clientes y facturas de ejemplo.

Conexión con Claude Desktop

En Claude Desktop: Configuración → Desarrollador → Editar configuración, y añade en claude_desktop_config.json:

{
  "mcpServers": {
    "facturas": {
      "command": "C:\\ruta\\a\\mcp-server-facturas\\venv\\Scripts\\python.exe",
      "args": ["C:\\ruta\\a\\mcp-server-facturas\\server.py"]
    }
  }
}

Reinicia Claude Desktop y prueba, por ejemplo:

  • ¿Qué clientes me deben dinero y cuánto tienen vencido?

  • Crea una factura de 800 € a Talleres Ruzafa por consultoría

  • Marca como pagada la factura 12

Estructura

  • server.py: servidor MCP y herramientas

  • seed.py: genera la base de datos de ejemplo

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI to query a business database for customers, orders, and revenue using natural language through safe, well-defined tools.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables secure support-ticket and customer-account operations with signed JWT authentication, prompt-injection and tool-poisoning guardrails, and human-in-the-loop confirmation for destructive actions.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Lets an AI agent list reports, start and poll exports, and look up insurance claims from a legacy system that has no API, with each server process serving only the tools and report types its role permits. Every tool call is written to an append-only, field-masked audit log, and the backend's login credentials stay in an encrypted vault the model never sees.
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables LLM agents to access third-party APIs through a least-privilege set of audited tools with allowlists, per-caller scopes, label gates, write confirmation, limits, and PII-masked logging. It restricts reads to labeled data, prevents sending or destructive actions, and records every allowed or denied call.
    MIT