Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
Discuss (mail)
|
Lines of code | 1582 |
Technical Name |
mcp_server |
License | OPL-1 |
Website | https://github.com/ivnvxd/mcp-server-odoo |
Versions | 17.0 18.0 |
Availability |
Odoo Online
Odoo.sh
On Premise
|
Odoo Apps Dependencies |
Discuss (mail)
|
Lines of code | 1582 |
Technical Name |
mcp_server |
License | OPL-1 |
Website | https://github.com/ivnvxd/mcp-server-odoo |
Versions | 17.0 18.0 |
Connect AI Assistants to Your Odoo Data
Enable natural language to search, create, update, and manage your Odoo records
What is Model Context Protocol (MCP)?
The universal standard for AI-data integration
Model Context Protocol (MCP) is an open standard that enables seamless integration between AI assistants and data sources. Developed by Anthropic, MCP provides a universal way for AI systems to securely access and interact with local and remote resources while maintaining user control and privacy.
Why MCP is Revolutionary
Universal Compatibility One integration works with ALL AI assistants that support MCP - no need for multiple custom integrations. |
|
Secure by Design Built-in security with controlled access, authentication, and granular permissions for every operation. |
|
Future-Proof As new AI tools emerge, they'll support MCP - your Odoo integration automatically works with them. |
How MCP Benefits Your Business
Instant AI Integration Connect any MCP-compatible AI assistant to your Odoo data without complex API development. |
|
Empower Your Team Let employees use their preferred AI tools to access Odoo data naturally and efficiently. |
|
No Vendor Lock-in Switch between AI providers anytime - your MCP integration continues to work seamlessly. |
Transform How You Work with Odoo
Ask questions in plain English and get instant answers from your business data

Natural Language Operations Not just queries - create, update, and delete records naturally. Ask "Create a new customer for Acme Corp" or "Update John Doe's phone number" and watch it happen instantly. |
|
Secure & Controlled Access Control exactly which models AI can access with granular permissions. Secure API key authentication ensures your data remains protected. |
|
Easy Configuration Set up in minutes through Odoo's standard settings interface. No technical expertise required - just point, click, and configure. |
Full CRUD Capabilities
Complete data management through natural language
Go beyond simple queries - create, update, and manage your Odoo data with the same ease as asking questions. MCP Server provides full Create, Read, Update, and Delete operations for any enabled model.
Create
"Create a new customer for Acme Corp"
"Add a product called Premium Widget"
"Schedule a meeting for tomorrow"
Read
"Show me all customers from Spain"
"Find unpaid invoices from last month"
"List products below reorder point"
Update
"Update John's phone number"
"Change order status to confirmed"
"Set product price to $99.99"
Delete
"Remove the test contact"
"Delete cancelled orders"
"Clean up duplicate records"
Smart Permission System
Every operation respects your configured permissions. Enable read-only access for reporting, or grant full CRUD permissions for complete data management. The granular permission system lets you control exactly what each model can do - all managed through Odoo's familiar interface.
Powerful Use Cases
Boost productivity across all departments
Customer Service
AI can instantly look up customer orders, create new support tickets, update contact info, and manage customer data seamlessly.
Sales Intelligence
Manage CRM naturally: "Create a lead for Acme Corp" or "Update opportunity status to won" - execute instantly.
Inventory Management
Full inventory control: "Create a new product variant" or "Update stock levels for Widget Pro" - manage everything conversationally.
Financial Analysis
Complete financial operations: "Create invoice for customer X" or "Update payment terms" - handle finances through natural language.
HR Queries
Manage HR data: "Add new employee John Doe" or "Update Sarah's department" - complete HR operations conversationally.
Project Management
Full project control: "Create task for website redesign" or "Update milestone deadline" - manage projects through conversation.
Simple Setup Process
Get started in just 4 easy steps
Install Module
Install MCP Server in your Odoo instance like any other module
Configure Access
Choose which models to expose and set permissions through Settings
Generate API Key
Create secure API keys for authentication in user settings
Connect AI
Install MCP client on your AI assistant and start querying

Security First Design
Enterprise-grade security with granular control
API Key Authentication Secure token-based authentication with user-level permissions. No passwords stored, easy to rotate keys when needed. |
|
Granular Permissions Control access at the model level and operation level. Choose exactly what data AI can read, write, create, or delete. |
|
Audit Trail Comprehensive logging of all MCP operations for security monitoring and compliance requirements. |

Works with ANY MCP-Compatible AI Assistant
The beauty of standards - one integration, endless possibilities
MCP is rapidly becoming the industry standard. Almost any AI tool already supports or will support the protocol.
View the growing list of compatible clients at
modelcontextprotocol.io/clients
Popular MCP Clients Include:

Claude Desktop
Anthropic's official desktop app

VS Code Extensions
Cody, Continue, Copilot & more

Cursor
AI-first code editor

msty
Desktop AI model client
And Many More...
IDEs & Editors: Sourcegraph Cody, Continue.dev, Void, Windsurf
Desktop Apps: msty, Jan, BrainDump, MindMac
Development Tools: AI SDK, LangChain, Firebase Genkit
Custom Solutions: Any tool built with MCP SDK support
The MCP ecosystem is growing rapidly - new clients are added regularly!
Technical Specifications
Built for performance and reliability
Requirements
- Odoo 17.0
- MCP client package:
mcp-server-odoo
- Compatible AI assistant with MCP support
Protocols Supported
- Model Context Protocol (MCP)
- stdio transport (default) for local clients
- streamable-http transport for web-based clients
- REST API endpoints
- XML-RPC integration
Performance Features
- Connection pooling for efficiency
- Response caching with TTL
- Rate limiting protection
- Optimized data formatting
Ready to Get Started?
Transform your Odoo experience with AI-powered data access
Join the AI revolution and make your Odoo data instantly accessible through natural language queries. Experience the future of business data interaction today.
Installation & Setup Guide
Visit the GitHub repository for detailed installation instructions and examples:
github.com/ivnvxd/mcp-server-odoo
MCP Server for Odoo
Overview
The MCP Server module enables AI assistants to securely access and interact with your Odoo data through the Model Context Protocol (MCP). This module provides the server-side infrastructure within Odoo, while a separate Python package handles the MCP client communication. Supports full CRUD operations - create, read, update, and delete records through natural language.
Installation
Download and install the module in your Odoo instance
Navigate to Settings > MCP Server to configure access
Install UV on your local computer (where your AI assistant runs):
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
After installation, restart your terminal.
Configure your AI assistant to connect via MCP using the companion Python package
Configuration
Model Access
- Go to Settings > MCP Server > Enabled Models
- Add models you want to expose (e.g., res.partner, product.product)
- Configure permissions for each model: - Read access - Write access - Create access - Delete access
API Key Setup
- Navigate to Settings > Users & Companies > Users
- Select the user for MCP access
- Go to API Keys tab
- Generate a new API key with appropriate scope
- Use this key in your MCP client configuration
Client Setup
Important
The MCP Server runs on your local computer (where Claude Desktop or other AI assistants are installed), not on the Odoo server. The Python package connects from your local machine to your remote Odoo instance.
After installing the module and generating an API key, you can configure your AI assistant using either transport method:
Transport Options
The MCP server supports two transport types:
- stdio transport (default): For local AI assistants like Claude Desktop, VS Code extensions
- streamable-http transport: For web-based clients or remote connections
Standard Configuration (stdio transport):
{ "mcpServers": { "odoo": { "command": "uvx", "args": ["mcp-server-odoo"], "env": { "ODOO_URL": "https://your-odoo-instance.com", "ODOO_API_KEY": "your-api-key-here" } } } }
HTTP Transport Configuration:
For web-based or remote MCP clients:
{ "mcpServers": { "odoo": { "command": "uvx", "args": ["mcp-server-odoo", "--transport", "streamable-http", "--port", "8000"], "env": { "ODOO_URL": "https://your-odoo-instance.com", "ODOO_API_KEY": "your-api-key-here" } } } }
Then connect your client to http://localhost:8000/mcp/
Client-Specific Examples
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json using the configuration examples above.
Cursor
Add to ~/.cursor/mcp_settings.json using the configuration examples above.
Claude Code
Run the following command to add the Odoo MCP server:
claude mcp add odoo \ -e ODOO_URL=https://your-odoo-instance.com \ -e ODOO_API_KEY=your-api-key-here \ -- uvx ivnvxd/mcp-server-odoo
Environment Variables
The MCP client requires one of the following authentication methods:
API Key Authentication (Recommended):
- ODOO_URL: Your Odoo instance URL (e.g., https://mycompany.odoo.com)
- ODOO_API_KEY: The API key generated in the previous step
Username/Password Authentication:
- ODOO_URL: Your Odoo instance URL (e.g., https://mycompany.odoo.com)
- ODOO_USER: Your Odoo username
- ODOO_PASSWORD: Your Odoo password
Optional Variables:
- ODOO_DB: Database name (auto-detected if not specified)
Security Groups
The module creates two security groups:
- MCP Administrator: Can configure MCP settings and manage enabled models
- MCP User: Can access MCP-enabled models based on configured permissions
Usage Examples
Once configured, you can query and manage your Odoo data using natural language:
Data Retrieval:
- "Show me all customers from Spain"
- "Find products with stock below 10 units"
- "List today's sales orders over $1000"
- "Search for unpaid invoices from last month"
Data Management:
- "Create a new customer contact for Acme Corporation"
- "Add a new product called 'Premium Widget' with price $99.99"
- "Update the phone number for customer John Doe"
- "Change the status of order SO/2024/001 to confirmed"
- "Delete the test contact we created earlier"
API Endpoints
The module provides several REST and XML-RPC endpoints:
REST API
- /mcp/health - Health check
- /mcp/system/info - System information
- /mcp/auth/validate - API key validation
- /mcp/models - List enabled models
- /mcp/models/{model}/access - Check model permissions
XML-RPC API
- /mcp/xmlrpc/common - Authentication
- /mcp/xmlrpc/db - Database operations
- /mcp/xmlrpc/object - Model operations
Security Considerations
- Use HTTPS in production environments
- Generate unique API keys for each integration
- Configure model access carefully - only enable necessary models
- Regularly review audit logs for suspicious activity
- Keep the module updated
Troubleshooting
Common Issues
Module Not Installing - Check that all dependencies are satisfied - Ensure Odoo 17.0 is being used
API Key Not Working - Verify the key is active in user settings - Check user has appropriate MCP permissions - Ensure correct API key scope
Model Access Denied - Confirm model is in enabled models list - Check operation permissions for the model - Verify user's security group membership
"spawn uvx ENOENT" Error
This error means UV is not installed on your local computer:
Install UV using the commands in the Installation section above
Restart your terminal and Claude Desktop
On macOS, if the issue persists, launch Claude from Terminal:
open -a "Claude"
Alternative: Use the full path to uvx (find it with which uvx)
Database Access Denied
If you see "Access Denied" when the MCP server tries to list databases:
- This is normal security behavior on some Odoo instances
- You must specify the ODOO_DB environment variable in your configuration
- The server will use your specified database without validation
Support
For support and documentation:
- GitHub Repository: https://github.com/ivnvxd/mcp-server-odoo
- Issue Tracker: https://github.com/ivnvxd/mcp-server-odoo/issues
- Email Support: ivnv.xd@gmail.com
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module