Multi-Tenant Invoice Autofill MCP Server
Multi-Tenant Invoice Autofill MCP Server
Un servicio backend en Python que permite a los LLM con capacidad de llamada a funciones o compatibles con MCP (Claude, Gemini, GPT, etc.) autocompletar y guardar facturas en Digital Invoicing Software en nombre de los inquilinos.
Características
Soporte de doble transporte: Expuesto mediante el protocolo MCP estándar (stdio / Streamable HTTP) y API REST (FastAPI) con esquema OpenAPI.
Multitenencia y autenticación: Cifrado de credenciales por inquilino, claves de API MCP personalizadas y gestión de sesiones aislada.
Adaptador resiliente: Adaptador HTTP encapsulado que replica las cabeceras del navegador, con renovación reactiva de la sesión y análisis dinámico de la caducidad de las cookies.
Idempotencia y concurrencia: Desduplicación mediante hash de documento y bloqueo distribuido Redis por inquilino (
lock:tenant:{id}).Privacidad ante todo: Capa obligatoria de depuración de registros estructurados que elimina contraseñas, cookies, claves y tokens.
Cero valores codificados: Sin credenciales ni identidades de negocio incrustadas en código, comentarios o pruebas; generación completa de datos de prueba sintéticos.
Related MCP server: Invoice MCP Server
Requisitos previos locales
Python 3.12+
Docker y Docker Compose (para Postgres y Redis locales)
Primeros pasos
1. Configuración del entorno
Copia .env.example a .env y establece las variables locales:
cp .env.example .env2. Inicia la base de datos local y Redis
docker-compose up -d3. Instala las dependencias
python -m venv .venv
# Windows:
.\.venv\Scripts\pip install -r requirements.txt
# Linux/macOS:
source .venv/bin/activate
pip install -r requirements.txt4. Ejecuta las migraciones
.\.venv\Scripts\alembic upgrade head5. Inicia el servidor
# Start FastAPI REST server:
.\.venv\Scripts\uvicorn mcp_digitalinvoice.main:app --reload --port 8000
# Run MCP stdio server:
.\.venv\Scripts\python -m mcp_digitalinvoice.mcp_server.serverSeguridad
[!CAUTION] Gestión de la clave de cifrado: La variable de entorno
ENCRYPTION_KEYdebe establecerse con una clave Fernet segura de 32 bytes codificada en base64. El inicio de la aplicación fallará inmediatamente si no se proporcionaENCRYPTION_KEY. Si una clave de cifrado se utilizó alguna vez para cifrar datos reales de inquilinos y se sospecha que ha quedado expuesta, esos datos deben volver a cifrarse con una clave recién generada, ya que la clave anterior debe considerarse comprometida.
Flujos de trabajo
Incorporación de inquilinos (connect_account)
Llama a
connect_accountcon el correo de inicio de sesión, la contraseña y el nombre comercial del inquilino en Digital Invoicing Software.El servidor cifra las credenciales, las valida mediante un inicio de sesión inicial y devuelve una
mcp_api_keyúnica.Proporciona esta
mcp_api_keyal LLM (como token Bearer o cabecera) para las invocaciones posteriores de herramientas.
Autocompletado de facturas (fill_invoice)
El LLM invoca fill_invoice con la carga útil JSON de la factura extraída (buyer, items, meta). El servicio valida los campos obligatorios, aplica la secuenciación de un único documento, comprueba la idempotencia, resuelve la sesión del inquilino, mapea la carga útil al formato del sistema de destino y crea el borrador de la factura.
Ejecución de pruebas
.\.venv\Scripts\pytest -v tests/This server cannot be deployed
Maintenance
Related MCP Connectors
Turn AI-host work into invoices you review before send — Continue as guest or OAuth via hosted MCP.
Invoicing you drive by talking to your AI: log time, raise invoices and track what's owed via MCP.
Create, send and track invoices from a conversation in Claude, ChatGPT or any MCP client that supports OAuth. Draft an invoice from one sentence or from last month's invoice for the same client, finalize it, email it to your client and send payment reminders for overdue ones. See revenue by month and by client, download PDFs and e-invoices (ZUGFeRD, XRechnung), and export DATEV packages for your tax advisor. Invoices follow the tax rules of 25 countries, including reverse charge and the small-business VAT exemption. New invoices are drafts, and nothing is emailed until you ask. Pay per invoice with no subscription: the first invoice is free.
Multi-tenant MCP gateway for AI commerce. One connection, every store.
Related MCP Servers
- -licenseNot gradedqualityBmaintenanceEnables AI assistants to prepare and create invoices via Outvoicer's invoicing platform using Streamable HTTP MCP.-
- AlicenseNot gradedqualityDmaintenanceAllows AI clients like Claude and Cursor to authenticate and interact with an invoice generator backend, enabling login, invoice creation, and invoice download.11 npmMIT
- AlicenseAqualityBmaintenanceEnables AI assistants to securely interact with rental management data (leases, rent status, tenant records, tax filings) through a per-user OAuth 2.0 authenticated MCP server, with human-in-the-loop for sensitive actions.5AGPL 3.0
- AlicenseAqualityBmaintenanceMCP server for POP — enabling LLMs to generate, submit, and manage Italian e-invoices (FatturaPA/SdI), Peppol invoices, and PDF invoices directly from AI assistants.16244 npmMIT