odoo19-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ODOO_URL | No | Odoo server URL | http://localhost:8069 |
| ODOO_API_KEY | Yes | API Key for Odoo authentication | |
| ODOO_DATABASE | Yes | The name of the Odoo database to connect to | |
| READONLY_MODE | No | Enable read-only mode to prevent write operations (true/false) | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_modelsA | List all available Odoo models. |
| get_fieldsA | Get field information for an Odoo model using ORM fields_get(). |
| execute_methodC | Execute any method on an Odoo model. |
| search_recordsA | Search for records in an Odoo model. |
| count_recordsA | Count records in an Odoo model matching the domain. |
| read_recordsA | Read specific records by their IDs. |
| create_recordB | Create new record(s) in an Odoo model. |
| update_recordA | Update existing records in an Odoo model. |
| delete_recordA | Delete records from an Odoo model. IRREVERSIBLE operation. IMPORTANT: You MUST first call with confirm=False to show the user what will be deleted. Only set confirm=True AFTER the user explicitly approves the deletion. NEVER set confirm=True on the first call. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| list_models_resource | List all available Odoo models. |
| get_current_user | Get current logged-in user information. |
| get_current_company | Get current user's company information. |
TDQS
Scored across 9 tools
Each tool has a distinct purpose: count, create, delete, execute method, get fields, list models, read, search, update. No two tools overlap in functionality.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., count_records, create_record, list_models), making it predictable and easy to understand.
9 tools is well-scoped for an Odoo server, covering essential operations without being too few or too many.
The set includes CRUD operations, search, count, field introspection, model listing, and arbitrary method execution, providing comprehensive coverage for interacting with Odoo models.