odoo_mcp
Provides tools to manage Odoo projects, tasks, milestones, tags, and users, allowing AI agents to create, update, list, and search records in an Odoo instance.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@odoo_mcpCreate a task in the Backend project with high priority."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Odoo MCP Server
An MCP (Model Context Protocol) server that connects AI agents in Cursor to your Odoo instance. Tell your AI to "turn this PRD into tasks in Odoo" and it will create a full hierarchy of epics, tasks, and subtasks with tags, priorities, and assignments.
No cloning required — just configure and go.
Quick Start
1. Install uv
uv is a fast Python package manager that includes uvx for running tools directly from git repos.
curl -LsSf https://astral.sh/uv/install.sh | sh2. Get Your Odoo API Key
Log into your Odoo instance
Go to My Profile (click your avatar → My Profile)
Navigate to Preferences → Account Security
Click New API Key, name it "Cursor MCP", and copy the key
3. Configure Cursor
Create or edit ~/.cursor/mcp.json:
{
"mcpServers": {
"odoo": {
"command": "/Users/YOUR_USERNAME/.local/bin/uvx",
"args": [
"--from",
"git+https://github.com/willy5xx/odoo_mcp.git",
"odoo-mcp"
],
"env": {
"ODOO_URL": "https://your-instance.odoo.com",
"ODOO_DB": "your-database-name",
"ODOO_USERNAME": "your-email@example.com",
"ODOO_API_KEY": "your-api-key"
}
}
}
}Replace the placeholder values:
YOUR_USERNAME— your macOS username (runwhoamito check)ODOO_URL— your Odoo instance URL (e.g.,https://mycompany.odoo.com)ODOO_DB— your database name (often the subdomain, e.g.,mycompany)ODOO_USERNAME— your Odoo login emailODOO_API_KEY— the API key you created in step 2
4. Restart Cursor
Quit and reopen Cursor for the MCP server to load.
6. Test It
In Cursor, ask your AI:
"Test the Odoo connection"
"List my Odoo projects"
If it works, you're all set!
Related MCP server: Vaiz MCP
Important Notes
Issue | Solution |
uvx not found | Cursor can't find |
SSL certificate errors | Usually handled automatically. If you're behind a corporate proxy, see Troubleshooting |
ODOO_URL format | Use the base URL only (e.g., |
Changes not taking effect | Restart Cursor after editing |
Usage Examples
Once configured, you can use natural language to manage Odoo:
"List my Odoo projects"
"Read @specs/feature-prd.md and create tasks in the 'Mobile App' project.
Break it into epics with subtasks, tag by feature area, and set priorities."
"Show me tasks in the Backend project and update the auth task to urgent priority"
"Create a new task in the API project: implement rate limiting for the /users endpoint"
"Add a subtask to task #123: write unit tests for the validation logic"Available Tools
Tool | Description |
| Verify credentials and connectivity |
| List all projects with metadata |
| Create a new project |
| Update project fields (name, manager, active status) |
| Get kanban stages for a project |
| Create a single task (supports subtasks via |
| Create multiple tasks at once |
| List tasks in a project |
| Update any field on an existing task |
| Post progress updates to task chatter |
| Find users by name/email for assignment |
| List existing project tags |
| Create project milestones |
| List milestones in a project |
| Generic search on any Odoo model |
| Generic create on any Odoo model |
| Generic update for any Odoo model |
| Generic delete for any Odoo model |
How PRD → Tasks Works
When you ask your AI to turn a PRD into Odoo tasks:
AI reads the PRD from a file or pasted text
Calls
odoo_list_projectsto find the target projectCalls
odoo_get_project_stagesto understand the workflowDecomposes the PRD into a task hierarchy:
Top-level tasks = epics / feature areas
Subtasks = individual work items
Creates epics via
odoo_create_task, getting back IDsCreates subtasks via
odoo_create_tasks_batchwithparent_idlinkingTags are auto-created if they don't exist
Supported Odoo Versions
Works with any Odoo version that supports XML-RPC (12.0+):
Odoo Community
Odoo Enterprise
Odoo.sh
Odoo Online (SaaS)
Troubleshooting
Connection fails
Verify your credentials by logging into Odoo manually
Check that your API key is valid (regenerate if needed)
Ensure
ODOO_URLdoesn't have a trailing slash or/odoopathVerify the database name matches exactly
SSL errors
SSL certificates are handled automatically via the bundled certifi package. If you're behind a corporate proxy or firewall that intercepts SSL, add these environment variables to your config:
"env": {
"ODOO_URL": "...",
"ODOO_DB": "...",
"ODOO_USERNAME": "...",
"ODOO_API_KEY": "...",
"SSL_CERT_FILE": "/path/to/your/corporate-ca-bundle.pem",
"REQUESTS_CA_BUNDLE": "/path/to/your/corporate-ca-bundle.pem"
}To find your system's certificate bundle:
python3 -c "import certifi; print(certifi.where())"uvx errors
Verify uvx is installed and get the correct path:
which uvxUse that exact path in your config.
Environment Variables
Variable | Required | Description |
| Yes | Your Odoo instance URL (base URL only) |
| Yes | Database name |
| Yes | Login email |
| Yes | API key (not password) |
| No | Path to CA certificate bundle (only for corporate proxies) |
| No | Path to CA certificate bundle (only for corporate proxies) |
| No |
|
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/willy5xx/odoo_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server