MCP server that provides full read/write access to Odoo accounting data including invoices, vendor bills, journal entries, payments, reconciliation, and financial reports, as well as BOQ/Project Budget data when available.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
Andrewraof
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.
ODOO_MCP_BEARER_TOKEN(none) required when ODOO_MCP_TRANSPORT=http -- server refuses to start over HTTP without itODOO_MCP_HOST127.0.0.1 HTTP bind addressODOO_MCP_PORT8000 HTTP bind portODOO_MCP_TRANSPORTstdio stdio or httpODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_API_KEY.ODOO_DBODOO_URL, , ODOO_USERNAME, ODOO_API_KEY.ODOO_USERNAMEODOO_URL, ODOO_DB, , ODOO_API_KEY.ODOO_API_KEYODOO_URL, ODOO_DB, ODOO_USERNAME, .Tool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
34/34 tools missing one or more hints — create_invoice (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); update_invoice (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); post_invoice (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +31 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Destructive tools are labelled
1 tool perform destructive updates without destructiveHint — odoo_unlink deletes at line 95 (client.unlink(model, ids))
Add destructiveHint:true to any tool whose handler calls .delete(), .upsert(), .update(), unlink, rm, DELETE, DROP, REPLACE INTO, or any operation that overwrites existing data.
Tool handlers catch errors
32/34 tool handlers wrap calls in try/catch (94%)
Wrap each tool handler body in try/catch and return a structured error response.
License file
No license file
Add a LICENSE file (MIT, Apache-2.0, etc.).
Tests exist
No test files found
Add tests that exercise each declared tool.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/andrewraof-bookkeeping-mcp-1kwcxf)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check