Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ODOO_DB | Yes | Odoo database name | |
| MCP_HOST | No | HTTP host (streamable-http mode) | 127.0.0.1 |
| MCP_PORT | No | HTTP port (streamable-http mode) | 8080 |
| ODOO_URL | No | Odoo server URL | http://localhost:8069 |
| MCP_LOG_LEVEL | No | Logging level | INFO |
| MCP_TRANSPORT | No | Transport mode (stdio or streamable-http) | stdio |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| login | Authenticate with Odoo. Methods: 'api_key', 'password', or 'session'. |
| list_models | List available Odoo models. Optionally filter by keyword. |
| get_model_fields | Get field definitions for an Odoo model. |
| search_read | Search and read records from any Odoo model. |
| get_record | Read a single record by ID from any Odoo model. |
| search_count | Count records matching a domain in an Odoo model. |
| create_record | Create a new record in an Odoo model. |
| update_record | Update an existing record in an Odoo model. |
| delete_record | Delete a record from an Odoo model. |
| read_group | Read grouped/aggregated data from an Odoo model. |
| execute_method | Execute a method on an Odoo model. |
| check_in | Record attendance check-in for the current user. |
| check_out | Record attendance check-out for the current user. |
| get_my_attendance | Get attendance records for the current user. |
| get_my_leaves | Get leave requests for the current user. |
| request_leave | Submit a leave request. |
| get_my_profile | Get the current user's employee profile. |
| get_my_quotations | Get quotations/orders where the current user is the salesperson. |
| get_order_details | Get full order details with lines, totals, and partner info. |
| confirm_order | Confirm a quotation, turning it into a sale order. |
| get_sales_summary | Get aggregated sales stats for the current user. |
| get_my_tasks | Get tasks assigned to the current user. |
| get_project_summary | Get project stats: task counts by stage, overdue, recent activity. |
| update_task_stage | Move a task to a different stage. |
| get_my_tickets | Get helpdesk tickets assigned to the current user. |
| create_ticket | Create a new helpdesk ticket. |
| update_ticket_stage | Move a helpdesk ticket to a different stage. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyze_model | Analyze an Odoo model's structure, fields, and relationships. Provides a comprehensive prompt for understanding any model. |
| explore_data | Explore data in an Odoo model based on a natural language question. |
| create_workflow | Guide through a workflow on an Odoo model. |
| compare_records | Compare two or more records from the same model. |
| generate_report | Generate an analytical report from Odoo data. |
| discover_custom_modules | Discover and understand custom Odoo modules installed. |
| debug_access | Debug access issues for a model. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| list_models_resource | List all accessible Odoo models. Returns JSON array of model objects with name, description, is_custom, and access_level. |
| categories_resource | List available model categories with counts. Returns JSON object mapping category names to model counts. |