NOVA MCP Server
NOVA MCP Server
Servidor Model Context Protocol de solo lectura que expone los datos contables y
comerciales de la empresa de demostración NOVA (Dolibarr 23.0.3), para investigación
progresiva por un asistente de IA a través de Cowork. Ver spec-final.md para la especificación
completa.
Arquitectura
Auth (
app/auth/) : validación JWT Keycloak (JWKS víaPyJWKClient), resolución de identidad(iss, sub),CredentialStore(YAML local) que mapea hacia una clave API Dolibarr por usuario, middlewarecredential_gate(403 si la identidad no está mapeada).Dolibarr (
app/dolibarr/) : cliente HTTP centralizado (pool de conexiones persistente, reintentos limitados, conversión Decimal) para la API REST Dolibarr stock (terceros, facturas, pagos, banco).Módulo complementario NOVA (
dolibarr-module/) : el plan contable y el Libro Mayor no están expuestos por la API Dolibarr estándar — ver la sección dedicada a continuación.Privacy Layer (
app/privacy/) : reemplaza cualquier identidad de terceros por una referencia técnica estable (THIRDPARTY:<id>, etc.), aplicada sistemáticamente por los servicios.Domain (
app/domain/) : reglas contables deterministas (EBITDA, aging, paginación, validación) independientes de cualquier framework.Services (
app/services/) : lógica de negocio, un módulo por dominio.MCP (
app/mcp_server/) : servidor MCP (SDK oficial de Anthropic), tools por dominio, decorador central de traducción de errores + logging (errors.py).
Related MCP server: NuMetric MCP Server
¿Por qué un módulo complementario Dolibarr?
La API REST stock de Dolibarr 23.0 no expone ningún endpoint para el plan contable o el Libro
Mayor (el único punto de entrada nativo, GET /accountancy/exportdata, escribe un archivo del
lado del servidor sin devolverlo en la respuesta HTTP). dolibarr-module/nova/ añade dos
endpoints de solo lectura (GET /nova/accounts, GET /nova/bookkeeping) bajo el mismo
mecanismo REST nativo (DOLAPIKEY, permisos de aplicación). Este módulo se instala por separado
en la instancia Dolibarr NOVA — ver dolibarr-module/README.md.
Inicio local
uv sync --extra dev
cp .env.example .env # renseigner OIDC_ISSUER, CREDENTIAL_STORE_PATH, DOLIBARR_API_URL
cp credentials/credentials.example.yaml credentials/credentials.yaml # ne pas versionner
uv run uvicorn app.main:app --reloadGET /health/live,GET /health/ready: healthchecks (no autenticados).POST /mcp: endpoint MCP (Streamable HTTP).
Pruebas
uv run pytest # suite complète (couverture terminal + coverage.xml)
uv run pytest --cov=app --cov-report=htmlSin base de datos: las pruebas utilizan un doble de prueba (tests/fixtures/) para
DolibarrClient, sin fixtures PostgreSQL/NullPool.
Docker
docker compose up --buildEl CredentialStore se monta en solo lectura (./credentials:/app/credentials:ro) — nunca
versionar credentials/credentials.yaml.
Requisitos del lado de Dolibarr NOVA
Instalar
dolibarr-module/nova/(ver su README).Para cada auditor: crear un usuario Dolibarr dedicado, generar su
DOLAPIKEY, otorgar el derecho Leer el plan contable y el Libro Mayor a través de la API NOVA, luego añadir su entrada encredentials/credentials.yaml(con elsubde su token Keycloak) — reiniciar el servidor MCP para que se aplique (sin recarga en caliente, H2).Para
get_company: completar la constante DolibarrAPI_LOGINS_ALLOWED_FOR_GET_COMPANY(o otorgar el derecho de administrador) para cada login utilizado — de lo contrario, esta tool concreta falla con un error upstream 403 (comportamiento esperado).
This server cannot be deployed
Maintenance
Related MCP Connectors
Query your books, company data, business health, and ship invoices from your AI assistant.
Odoo MCP connector for ChatGPT and Claude: ask sales, invoices and stock in plain words. Read-only.
Read-only by architecture: ask AI about QuickBooks, Xero and NetSuite, across every entity.
Open-source AI accounting skills verified by licensed accountants (tax, VAT, payroll).
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive interaction with ERPNext systems through natural language, providing secure access to any document type (customers, items, invoices, etc.) with enterprise-grade permission controls and audit logging.MIT
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server for the NuMetric.work accounting/POS/ERP platform, exposing 38 tools to query live business data such as financial statements, invoices, taxes, projects, inventory, and documents. It enables AI assistants to answer from real accounting data without any create, edit, or delete capabilities.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to natively interact with Dolibarr ERP/CRM through its REST API, providing over 30 tools for managing customers, contacts, products, quotes, orders, invoices, stock, projects, contracts, interventions, and PDF generation, while supporting complex workflow orchestration and read-only security modes.MIT
- AlicenseBqualityBmaintenanceEnables read-only access to Merit Aktiva accounting data, including customers, vendors, sales invoices, accounts, payments, and taxes, through natural language MCP tools.771MIT