Odoo Pulse vs MCP Odoo — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Odoo Pulse vs MCP Odoo
In-depth architectural comparison of the Odoo Pulse and MCP Odoo MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Odoo Pulse
Workplace & Productivity · Local stdio
Quality: 57/100 (Good) | Auth: API Key required
MCP Odoo
Workplace & Productivity · Local stdio
Quality: 69/100 (Great) | Auth: other
Verdict Summary: Choose Odoo Pulse if you need specialized Workplace & Productivity tools running via a local process. Choose MCP Odoo if your workspace requires Workplace & Productivity integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Odoo Pulse when:
You need dedicated capabilities in the Workplace & Productivity domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (BYOK (Pay Provider Direct)).
You have access to required keys: ODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_API_KEY, ODOO_READ_ONLY, ODOO_WRITABLE_MODELS, ODOO_ALLOW_DELETE.
An AI Business Analyst for Odoo ERP: one-call reports with a verdict (businesspulse, pipelinereview, receivableshealth, inventoryrisk, salessnapshot, absenceoverview) over the XML-RPC API.
Production-grade MCP server for Odoo ERP (16-19) with zero Odoo-side install. 24 tools across read, write (approval-token gated), diagnose, migrate, and audit. JSON-2 transport for Odoo 19+, real Docker Compose smoke tests against Odoo 16/17/18/19, diagnostics (diagnoseodoocall, upgraderiskreport, fitgapreport, scanaddonssource), and 5 reusable agent prompts.
Category & Scope
Tools & Capabilities Breakdown
Odoo Pulse Tools (31)
odoo_version
Check connectivity and return the Odoo server version info.
list_models
List Odoo models (technical name + label). Optionally filter by a
case-insensitive substring matched against the model name or label,
e.g. 'sale', 'res.partner', 'invoice'.
get_model_fields
Inspect the schema of an Odoo model. Returns each field's label, type,
help text, requiredness and relation. Pass `fields` to limit the result
to specific field names. Example model: 'res.partner'.
search_read
Query records from an Odoo model.
Args:
model: Technical model name, e.g. 'sale.order', 'res.partner'.
domain: Odoo search domain as a list of triplets, e.g.
[["state", "=", "sale"], ["amount_total", ">", 1000]].
Use 'and'/'|' operators as Odoo expects. Defaults to all records.
fields: Field names to return. Omit to let Odoo decide (can be large).
limit: Max records (capped by ODOO_MAX_RECORDS).
offset: Pagination offset.
order: Sort spec, e.g. 'date_order desc'.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Odoo Pulse is categorized under Workplace & Productivity and uses a local stdio subprocess. In contrast, MCP Odoo belongs to Workplace & Productivity using local stdio subprocess. Select Odoo Pulse when you need capabilities focused on workplace & productivity and MCP Odoo when you require tools for workplace & productivity.
Count records in a model matching an Odoo domain filter.
read_records
Fetch specific records by their ids. Pass `fields` to limit columns.
aggregate_records
Group and aggregate records server-side (one call instead of pulling rows).
Args:
model: Technical model name, e.g. 'sale.order'.
group_by: One or more fields to group on. A field may carry a
granularity, e.g. 'date_order:month'.
measures: 'field:agg' specs. Bare 'field' means sum. Allowed
aggregators: sum, avg, min, max, count, count_distinct. Omit to
count records.
domain: Odoo search domain (list of triplets). Defaults to all records.
limit: Max groups (capped by ODOO_MAX_RECORDS).
offset: Pagination offset over groups.
order: Sort spec, e.g. 'amount_total desc'.
read_attachment
Read an ir.attachment: metadata always, base64 content when small enough.
Binary attachments under ODOO_MAX_ATTACHMENT_BYTES are returned with their
base64 `datas`; larger ones return metadata plus a warning. URL-type
attachments return the link, never binary data.
Args:
attachment_id: The ir.attachment id.
include_data: When False, return metadata only (no base64 fetch).
create_record
Create one record. Returns a preview unless confirm=True.
Args:
model: Odoo model name (must be in ODOO_WRITABLE_MODELS).
values: Field -> value mapping for the new record.
confirm: Set True to actually create; otherwise a dry-run preview.
update_records
Update one or more records. Returns a preview unless confirm=True.
Args:
model: Odoo model name (must be in ODOO_WRITABLE_MODELS).
ids: Record ids to update.
values: Field -> value mapping to write.
confirm: Set True to actually write; otherwise a dry-run preview.
delete_records
Delete one or more records. Returns a preview unless confirm=True.
Deletes also require ODOO_ALLOW_DELETE=true on the server.
Args:
model: Odoo model name (must be in ODOO_WRITABLE_MODELS).
ids: Record ids to delete.
confirm: Set True to actually delete; otherwise a dry-run preview.
create_lead
Create a CRM lead/opportunity (crm.lead). Preview unless confirm=True.
Use extra_values to set fields this helper doesn't model, including custom
mandatory fields (e.g. {"presales_id": 5}).
+19 more tools listed on main page
MCP Odoo Tools (41)
data_quality_report
Run read-only data-quality checks on one Odoo model: duplicates, missing required values, orphaned references, format anomalies
diagnose_odoo_call
Diagnose an Odoo model call without executing it
generate_json2_payload
Build a JSON-2 request preview without network access
inspect_model_relationships
Inspect model relationships and required field metadata
diagnose_access
Diagnose ACL and record-rule visibility for an Odoo model
upgrade_risk_report
Report Odoo upgrade and JSON-2 migration risks
analyze_upgrade_log
Classify Odoo install/update log errors into a migration worklist (no_action / needs_review / needs_script) with fix suggestions
lookup_model_history
Look up Odoo model rename/removal history by old or new model name (e.g. account.invoice -> account.move)
fit_gap_report
Classify Odoo requirements into fit/gap implementation buckets
scan_addons_source
Scan local Odoo addon source without importing addon code
build_domain
Build a validated Odoo domain from structured conditions
business_pack_report
Report expected modules, models, and safe discovery calls for a business pack