NOVA MCP Server
NOVA MCP Server
読み取り専用のModel Context Protocolサーバーで、デモ企業 NOVA (Dolibarr 23.0.3) の会計・商取引データを公開し、Cowork を介した AI アシスタントによる段階的な調査を可能にします。完全な仕様については spec-final.md を参照してください。
Architecture
Auth (
app/auth/) : Keycloak JWT 検証 (PyJWKClientによる JWKS)、(iss, sub)による ID 解決、ユーザーごとの Dolibarr API キーにマッピングするCredentialStore(ローカル YAML)、credential_gateミドルウェア (ID がマッピングされていない場合は 403)。Dolibarr (
app/dolibarr/) : 標準の Dolibarr REST API (取引先、請求書、支払い、銀行) のための集中型 HTTP クライアント (永続的な接続プール、制限付きリトライ、Decimal 変換)。NOVA コンパニオンモジュール (
dolibarr-module/) : 勘定科目表と元帳は標準の Dolibarr API では公開されません — 以下の専用セクションを参照してください。Privacy Layer (
app/privacy/) : すべての取引先 ID を安定した技術参照 (THIRDPARTY:<id>など) に置き換え、サービスによって常に適用されます。Domain (
app/domain/) : あらゆるフレームワークから独立した決定的な会計ルール (EBITDA、aging、ページネーション、検証)。Services (
app/services/) : ビジネスロジック。ドメインごとに 1 つのモジュール。MCP (
app/mcp_server/) : MCP サーバー (公式 Anthropic SDK)、ドメインごとのツール、エラー変換 + ロギングの集中デコレータ (errors.py)。
Related MCP server: ERPNext MCP Server
なぜ Dolibarr コンパニオンモジュールなのか ?
Dolibarr 23.0 の標準 REST API には、勘定科目表や元帳を公開するエンドポイントがありません (唯一のネイティブエントリポイント GET /accountancy/exportdata はサーバー側でファイルを書き込むだけで、HTTP レスポンスでは返しません)。dolibarr-module/nova/ は、同じネイティブ REST メカニズム (DOLAPIKEY、アプリケーション権限) の下で、読み取り専用の 2 つのエンドポイント (GET /nova/accounts、GET /nova/bookkeeping) を追加します。このモジュールは NOVA Dolibarr インスタンスに別途インストールされます — 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 --reloadGET /health/live、GET /health/ready: ヘルスチェック (認証不要)。POST /mcp: MCP エンドポイント (Streamable HTTP)。
テスト
uv run pytest # suite complète (couverture terminal + coverage.xml)
uv run pytest --cov=app --cov-report=htmlデータベースは不要です。テストは DolibarrClient のテストダブル (tests/fixtures/) を使用し、PostgreSQL/NullPool のフィクスチャは使用しません。
Docker
docker compose up --buildCredentialStore は読み取り専用でマウントされます (./credentials:/app/credentials:ro) — credentials/credentials.yaml をバージョン管理に含めないでください。
NOVA Dolibarr 側の前提条件
dolibarr-module/nova/をインストールします (その README を参照)。監査人ごとに: 専用の Dolibarr ユーザーを作成し、その
DOLAPIKEYを生成し、NOVA API 経由で勘定科目表と元帳を読む権限を付与し、その後credentials/credentials.yamlにエントリを追加します (Keycloak トークンのsubを含む) — 反映には MCP サーバーを再起動します (ホットリロードなし、H2)。get_companyの場合: 使用する各ログインについて、Dolibarr 定数API_LOGINS_ALLOWED_FOR_GET_COMPANYを設定します (または管理者権限を付与します) — そうしないと、この特定のツールは上流の 403 エラーで失敗します (想定された動作)。
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceEnables 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.
- 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
- AlicenseCqualityCmaintenanceA complete MCP server for Dolibarr ERP/CRM, enabling AI assistants to perform billing, accounting, CRM, project, stock, and contract management.100328MIT
- AlicenseNot gradedqualityBmaintenanceA 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
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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