Skip to main content
Glama
CATS70

NOVA MCP Server

by CATS70

NOVA MCP Server

Serveur Model Context Protocol en lecture seule exposant les données comptables et commerciales de la société de démonstration NOVA (Dolibarr 23.0.3), pour investigation progressive par un assistant IA via Cowork. Voir spec-final.md pour la spécification complète.

Architecture

  • Auth (app/auth/) : validation JWT Keycloak (JWKS via PyJWKClient), résolution d'identité (iss, sub), CredentialStore (YAML local) mappant vers une clé API Dolibarr par utilisateur, middleware credential_gate (403 si identité non mappée).

  • Dolibarr (app/dolibarr/) : client HTTP centralisé (pool de connexions persistant, retries limités, conversion Decimal) pour l'API REST Dolibarr stock (tiers, factures, paiements, banque).

  • Module compagnon NOVA (dolibarr-module/) : le plan comptable et le Grand livre ne sont pas exposés par l'API Dolibarr standard — voir la section dédiée ci-dessous.

  • Privacy Layer (app/privacy/) : remplace toute identité de tiers par une référence technique stable (THIRDPARTY:<id>, etc.), appliquée systématiquement par les services.

  • Domain (app/domain/) : règles comptables déterministes (EBITDA, aging, pagination, validation) indépendantes de tout framework.

  • Services (app/services/) : logique métier, un module par domaine.

  • MCP (app/mcp_server/) : serveur MCP (SDK officiel Anthropic), tools par domaine, décorateur central de traduction d'erreurs + logging (errors.py).

Related MCP server: ERPNext MCP Server

Pourquoi un module compagnon Dolibarr ?

L'API REST stock de Dolibarr 23.0 n'expose aucun endpoint pour le plan comptable ou le Grand livre (le seul point d'entrée natif, GET /accountancy/exportdata, écrit un fichier côté serveur sans le retourner dans la réponse HTTP). dolibarr-module/nova/ ajoute deux endpoints en lecture seule (GET /nova/accounts, GET /nova/bookkeeping) sous le même mécanisme REST natif (DOLAPIKEY, permissions applicatives). Ce module s'installe séparément sur l'instance Dolibarr NOVA — voir dolibarr-module/README.md.

Démarrage 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 (non authentifiés).

  • POST /mcp : endpoint MCP (Streamable HTTP).

Tests

uv run pytest                      # suite complète (couverture terminal + coverage.xml)
uv run pytest --cov=app --cov-report=html

Aucune base de données : les tests utilisent un double de test (tests/fixtures/) pour DolibarrClient, pas de fixtures PostgreSQL/NullPool.

Docker

docker compose up --build

Le CredentialStore est monté en lecture seule (./credentials:/app/credentials:ro) — ne jamais versionner credentials/credentials.yaml.

Prérequis côté Dolibarr NOVA

  1. Installer dolibarr-module/nova/ (voir son README).

  2. Pour chaque auditeur : créer un utilisateur Dolibarr dédié, générer sa DOLAPIKEY, accorder le droit Lire le plan comptable et le Grand livre via l'API NOVA, puis ajouter son entrée dans credentials/credentials.yaml (avec le sub de son token Keycloak) — redémarrer le serveur MCP pour la prise en compte (pas de rechargement à chaud, H2).

  3. Pour get_company : renseigner la constante Dolibarr API_LOGINS_ALLOWED_FOR_GET_COMPANY (ou accorder le droit admin) pour chaque login utilisé — sinon ce tool précis échoue avec une erreur upstream 403 (comportement attendu).

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