Skip to main content
Glama
CATS70

NOVA MCP Server

by CATS70

NOVA MCP Server

Сервер Model Context Protocol в режиме только для чтения, предоставляющий бухгалтерские и коммерческие данные демонстрационной компании NOVA (Dolibarr 23.0.3), для постепенного исследования ИИ-ассистентом через Cowork. См. spec-final.md для полной спецификации.

Архитектура

  • Auth (app/auth/): проверка JWT Keycloak (JWKS через PyJWKClient), разрешение идентичности (iss, sub), CredentialStore (локальный YAML), сопоставляющий пользователей с ключом API Dolibarr, middleware credential_gate (403, если идентичность не сопоставлена).

  • Dolibarr (app/dolibarr/): централизованный HTTP-клиент (постоянный пул соединений, ограниченные повторные попытки, преобразование в Decimal) для стандартного REST API Dolibarr (контрагенты, счета-фактуры, платежи, банк).

  • Модуль-компаньон NOVA (dolibarr-module/): план счетов и Главная книга не предоставляются стандартным API Dolibarr — см. соответствующий раздел ниже.

  • Privacy Layer (app/privacy/): заменяет любую идентичность контрагента стабильной технической ссылкой (THIRDPARTY:<id> и т. д.), систематически применяется сервисами.

  • Domain (app/domain/): детерминированные правила бухгалтерского учёта (EBITDA, aging, пагинация, валидация), не зависящие от какого-либо фреймворка.

  • Services (app/services/): бизнес-логика, по одному модулю на домен.

  • MCP (app/mcp_server/): MCP-сервер (официальный SDK Anthropic), инструменты по доменам, центральный декоратор перевода ошибок + логирование (errors.py).

Related MCP server: ERPNext MCP Server

Зачем нужен модуль-компаньон Dolibarr?

Стандартный REST API Dolibarr 23.0 не предоставляет ни одного endpoint для плана счетов или Главной книги (единственная нативная точка входа, GET /accountancy/exportdata, записывает файл на стороне сервера, не возвращая его в HTTP-ответе). dolibarr-module/nova/ добавляет два endpoint только для чтения (GET /nova/accounts, GET /nova/bookkeeping) через тот же нативный REST-механизм (DOLAPIKEY, права приложения). Этот модуль устанавливается отдельно на инстанс Dolibarr NOVA — см. dolibarr-module/README.md.

Локальный запуск

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: проверки работоспособности (без аутентификации).

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

Тесты

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

База данных не используется: тесты используют тестовый двойник (tests/fixtures/) для DolibarrClient, без фикстур PostgreSQL/NullPool.

Docker

docker compose up --build

CredentialStore монтируется в режиме только для чтения (./credentials:/app/credentials:ro) — никогда не добавляйте credentials/credentials.yaml в систему контроля версий.

Предварительные требования на стороне Dolibarr NOVA

  1. Установите dolibarr-module/nova/ (см. его README).

  2. Для каждого аудитора: создайте выделенного пользователя Dolibarr, сгенерируйте его DOLAPIKEY, предоставьте право Чтение плана счетов и Главной книги через API NOVA, затем добавьте его запись в credentials/credentials.yamlsub из его токена Keycloak) — перезапустите MCP-сервер для применения изменений (без горячей перезагрузки, H2).

  3. Для get_company: укажите константу Dolibarr API_LOGINS_ALLOWED_FOR_GET_COMPANY (или предоставьте право администратора) для каждого используемого логина — иначе этот конкретный инструмент завершится ошибкой upstream 403 (ожидаемое поведение).

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