Skip to main content
Glama
CATS70

NOVA MCP Server

by CATS70

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ía PyJWKClient), resolución de identidad (iss, sub), CredentialStore (YAML local) que mapea hacia una clave API Dolibarr por usuario, middleware credential_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: ERPNext 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 --reload
  • GET /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=html

Sin base de datos: las pruebas utilizan un doble de prueba (tests/fixtures/) para DolibarrClient, sin fixtures PostgreSQL/NullPool.

Docker

docker compose up --build

El CredentialStore se monta en solo lectura (./credentials:/app/credentials:ro) — nunca versionar credentials/credentials.yaml.

Requisitos del lado de Dolibarr NOVA

  1. Instalar dolibarr-module/nova/ (ver su README).

  2. 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 en credentials/credentials.yaml (con el sub de su token Keycloak) — reiniciar el servidor MCP para que se aplique (sin recarga en caliente, H2).

  3. Para get_company: completar la constante Dolibarr API_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).

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables e-commerce shop owners to query their business data using natural language through local AI models. Provides secure, privacy-focused access to sales reports, inventory management, customer analytics, and order data without sending sensitive information to external services.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
  • A
    license
    C
    quality
    C
    maintenance
    A complete MCP server for Dolibarr ERP/CRM, enabling AI assistants to perform billing, accounting, CRM, project, stock, and contract management.
    100
    32
    8
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A 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

View all related MCP servers

Related MCP Connectors

  • Open-source AI accounting skills verified by licensed accountants (tax, VAT, payroll).

  • Read-only NuMetric.work accounting & ERP data: statements, KPIs, reports, invoices, documents.

  • AI-native ERP MCP: ES/EU fiscal compliance (VeriFactu/TicketBAI/Facturae), invoicing, tax, banking

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CATS70/dolibarr-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server