Odoo
Odoo ERP for AI agents: hosted OAuth endpoint, gated writes, one endpoint for every instance.
Connector by odooconsole.com · Domain verified by the MCP Registry
Install
Works with Claude Code, VS Code, Cursor, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install connector/odooconsole-com-odoo
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Remote endpoint
https://mcp.odooconsole.com/mcpRemote (HTTP)
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 7 read · 6 write · 1 delete · 1 not yet classified
- Secrets
- None asked for
- Install scripts
- Nothing to install (hosted)
- Runs as
- Hosted (remote endpoint)
Tools by what they do 15
Read from the source code; the running server may list different tools.
Read 7 · Look things up without changing anything.
odoo_connection_infoodoo_get_fieldsodoo_get_viewodoo_list_modelsodoo_model_infoodoo_search_countodoo_search_read
Write 6 · Create, change, send or run things.
odoo_createodoo_doctorodoo_executeodoo_modify_actionodoo_set_defaultodoo_update
Delete 1 · Delete, drop, revoke or wipe things.
odoo_delete
Not yet classified 1 · We could not tell from the name and description.
odoo_export
Network hosts it talks to 1
mcp.odooconsole.com· found in remote endpoint, install command
Tools (15)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
odoo_connection_infoShow the current Odoo connection details. Returns: JSON string with URL, database, user, version, and uid.
odoo_createCreate a new record in an Odoo model. Args: model: Odoo model technical name (e.g. "res.partner"). values: Field values for the new record, e.g. {"name": "Acme Corp"}. Returns: JSON string with the new record ID.
odoo_deleteDelete records from an Odoo model. Args: model: Odoo model technical name. ids: List of record IDs to delete. Returns: JSON string confirming the deletion.
odoo_doctorRun health diagnostics on the connected Odoo instance. Checks server version, installed modules, active users, cron jobs, and recent error logs. Returns: JSON string with diagnostic results.
odoo_executeExecute any model method (action) on Odoo records. Use this for workflow actions like action_confirm, action_post, etc. Args: model: Odoo model technical name (e.g. "account.move"). method: Method name (e.g. "action_post", "action_confirm"). ids: Record IDs to act on. Pass None or [] for methods that need no IDs. Returns: JSON string with the method result.
odoo_exportExport records in bulk for spreadsheet use. Higher default limit than search_read. Fetches up to 500 records per call (vs 20 for search_read). Use offset to paginate through large datasets. Pair with odoo_search_count to know the total. Args: model: Odoo model technical name. domain: Search filter. None returns all records. fields: Fields to export (column headers). None returns all fields. limit: Max records per call (default 500, max 2000). offset: Skip this many records (for pagination). order: Sort string, e.g. "id asc". Returns: JSON string with records, cou…
odoo_get_fieldsGet field definitions for an Odoo model. Useful for discovering what fields a model has before reading/writing. Args: model: Odoo model technical name (e.g. "sale.order"). attributes: Field attributes to return (e.g. ["string", "type", "required"]). None returns all attributes. Returns: JSON string with field metadata.
odoo_get_viewGet the fully rendered (merged) view for a model. Returns the combined XML after all view inheritance is applied. This is what the user actually sees — not the raw fragments in ir.ui.view. Args: model: Odoo model technical name (e.g. "sale.order"). view_type: View type — "form", "tree", "search", "kanban", "pivot", "graph", "calendar". Defaults to "form". Returns: JSON string with the rendered view XML, view ID, and field names used.
odoo_list_modelsList available Odoo models, optionally filtered by keyword. Args: keyword: Filter models whose technical name contains this string (e.g. "sale", "stock", "account"). Returns: JSON string with matching model names and descriptions.
odoo_model_infoGet comprehensive metadata about an Odoo model in one call. Returns the model's default sort order, record name field, field summary (grouped by type), custom fields (x_ prefix), views, window actions, and default values. Eliminates the need for multiple exploratory queries. Args: model: Odoo model technical name (e.g. "res.partner", "sale.order"). Returns: JSON string with model metadata including fields, views, actions, and defaults.
odoo_modify_actionModify a window action's properties to change list/form behavior. Window actions (ir.actions.act_window) control how a model appears in the UI — default filters, sort order, grouping, view modes, and record limits. Provide action_id to modify a specific action, or model to find and list actions for that model. Only provided fields are updated; others are unchanged. Args: action_id: ID of the ir.actions.act_window to modify. If omitted, uses model to find actions. model: Model name to find actions for (used when action_id is not provided). domain: New domain filter…
odoo_search_countCount records matching a domain filter without fetching data. Use this before a large export to know how many records exist. Args: model: Odoo model technical name (e.g. "res.partner"). domain: Search filter, e.g. [["active","=",true]]. None counts all. Returns: JSON string with the total count.
odoo_search_readSearch and read records from any Odoo model. Args: model: Odoo model technical name (e.g. "res.partner", "sale.order"). domain: Search filter as a list of tuples, e.g. [["state","=","sale"]]. fields: List of field names to return. None returns all fields. limit: Maximum number of records (default 20). offset: Number of records to skip for pagination. order: Sort string, e.g. "create_date desc". Returns: JSON string with matching records.
odoo_set_defaultSet, update, or clear a field's default value. Manages ir.default records with proper JSON encoding. Set value to null to remove the default. Omit user_id for a global default. Args: model: Odoo model technical name (e.g. "product.template"). field_name: Field name (e.g. "invoice_policy"). value: Default value to set. Use the raw value — it will be JSON-encoded automatically. Pass null to remove the default. user_id: User ID for user-specific default. None or False = global default. company_id: Company ID for company-specific default. None or False = all compan…
odoo_updateUpdate existing records in an Odoo model. Args: model: Odoo model technical name. ids: List of record IDs to update. values: Field values to write, e.g. {"phone": "+1-555-0100"}. Returns: JSON string confirming the update.
Signals
- Stars
- 5
- Forks
- 1
- Open issues
- 1
- Last commit
- May 14, 2026 (5 months ago)
- Last release
- Aug 13, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
com.odooconsole/odoo- Version
- 1.1.0
- Auth
- Auth not stated
- License
- MIT
- Repository
- github.com/oconsole/odoo-mcp-server
- Website
- www.odooconsole.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
Odoo MCP server. Agent Mart. https://agentmart.dev/connectors/odooconsole-com-odoo (last updated 2026-10-24)