MCP Odoo Platform Documentation
Everything you need to connect Claude AI and other LLMs to your Odoo ERP — from first signup to live tool calls. This platform bridges the Model Context Protocol (MCP) to Odoo's JSON-RPC API so AI models can read, write, and automate your ERP in real time.
What is MCP Odoo Platform?
MCP Odoo Platform is a self-hosted bridge that exposes your Odoo ERP as a set of AI tools over the Model Context Protocol. It runs as a secure HTTPS service and lets any MCP-compatible AI (Claude, custom agents) perform structured Odoo operations through natural language.
Prerequisites
| Item | Required | Notes |
|---|---|---|
| Odoo instance | Required | Community or Enterprise, v16 / v17 / v19 |
| Odoo API user | Required | User with API access enabled in Odoo settings |
| Claude account | For SSE | claude.ai Pro/Team or Claude Desktop |
| API key | Optional | Anthropic / OpenAI / DeepSeek / Groq key for platform chat |
Quick Start — 0 to Hero
Follow these steps in order. You'll go from zero to Claude reading and writing your live Odoo data in under 5 minutes.
Create Your Account
Go to https://mcpodoo.com/signup.
Add Your Odoo Connection
Log in → go to Connections in the sidebar → click Add Connection. Enter your Odoo URL (e.g. https://yourcompany.myodoo.nc), database name, and Odoo username/password/API key.
Enable MCP Connector & Copy Token
In your connection settings, toggle Enable MCP Connector. A unique connector token is generated. Click Copy SSE URL — it looks like:https://mcpodoo.com/sse/{conn_id}/token/{token}
Paste URL into Claude
Open claude.ai → click your profile → Settings → Integrations → Add custom integration. Paste the SSE URL and save. Claude will immediately load all Odoo tools.
Test It — Talk to Your Odoo
Start a new Claude conversation and try: "List the last 5 customer orders" or "Show me all overdue invoices". Claude will call your Odoo tools live and return real data.
System Architecture
Understanding how the platform works helps you troubleshoot, secure, and extend it. Here is the full data flow from Claude to your Odoo database.
Full Data Flow
How SSE Works
When Claude connects to the SSE endpoint, it establishes a persistent HTTP connection. The server sends tool definitions, and Claude can call them by sending POST requests to /messages/. The response streams back in real time.
1. Claude → GET /sse/{conn_id}/token/{token}
Server ← sends tool list (odoo_search, odoo_create …)
2. Claude → POST /messages/?session_id={sid}
body: { "tool": "odoo_search_records", "model": "sale.order", … }
Server → calls Odoo JSON-RPC
Server ← streams result back to Claude
3. Claude parses result → shows to user in natural languageAuthentication Flow
The platform uses two separate auth layers — one for the web panel (JWT cookies) and one for MCP connections (connector tokens stored in the database).
| Layer | Method | Scope |
|---|---|---|
| Web Panel | JWT Cookie | Login/signup pages, user panel settings |
| MCP SSE | Connector Token | Per-connection token embedded in SSE URL |
| Odoo API | API Key / Password | Stored encrypted in PostgreSQL per connection |
Method 1 — Claude Direct (SSE)
The simplest way: connect Claude.ai or Claude Desktop directly to your Odoo with a single URL. No code, no API key needed. Claude gets 12 live Odoo tools in one click.
Step-by-step — Claude.ai Web
Get Your SSE URL
In the MCP platform panel → Connections → select your connection → click Enable Connector → copy the SSE URL shown.
Open Claude Settings
In claude.ai → click your profile picture (top right) → Settings → Integrations.
Add Custom Integration
Click Add custom integration → paste your SSE URL → click Add. Claude tests the connection and lists available tools.
Start Using
Start any new conversation. At the bottom of the chat, you'll see the Odoo integration enabled. Ask anything about your Odoo data.
Claude Desktop Setup
Edit your Claude Desktop config file:
{
"mcpServers": {
"odoo": {
"url": "https://mcpodoo.com/sse/{conn_id}/token/{token}"
}
}
}{conn_id} and {token} are shown in your connection settings panel — just copy the full URL.Streamable HTTP (alternative)
For clients that support the newer MCP Streamable HTTP spec:
https://mcpodoo.com/mcp/{conn_id}/token/{token}Method 2 — API Providers
Use the MCP Odoo web platform as an AI chat interface. Bring your own API key from Anthropic, OpenAI, DeepSeek, or Groq and chat with your Odoo directly in the browser.
How it works
Setup
Go to Settings in the Platform
Log in → Settings in the sidebar → AI Provider section.
Choose Provider and Enter API Key
Select your provider from the dropdown and paste your API key. Keys are stored encrypted per user.
Open Chat
Go to Chat in the sidebar. Select your Odoo connection from the dropdown and start chatting. The AI can call all 12 Odoo tools.
Supported Providers
| Provider | Models | API Key URL |
|---|---|---|
| Anthropic | Claude Sonnet 4.6, Opus 4.8, Haiku 4.5 | console.anthropic.com |
| OpenAI | GPT-4o, GPT-4o mini, o3-mini | platform.openai.com |
| DeepSeek | DeepSeek V3, R1, R1-Distill | platform.deepseek.com |
| Groq | Llama 3.3 70B, Mixtral 8x7B | console.groq.com (free tier) |
Method 3 — Local AI (Ollama)
Run AI completely locally with Ollama. No cloud, no API cost, total privacy. Your data never leaves your server.
Setup Ollama
Install Ollama
Run on your server or local machine:
curl -fsSL https://ollama.ai/install.sh | sh
ollama pull llama3.3
ollama serveConfigure in Platform Settings
In platform Settings → AI Provider → select Ollama → set endpoint to http://localhost:11434 → select your model.
Start Chatting Locally
Open Chat → select Ollama → your model runs locally while still calling Odoo tools through the MCP bridge.
Recommended Models
| Model | Size | Best for |
|---|---|---|
| llama3.3:70b | 40 GB | Best quality, needs GPU |
| llama3.2:3b | 2 GB | Fast, runs on CPU |
| mistral:7b | 4 GB | Good balance, structured output |
| deepseek-r1:7b | 4 GB | Reasoning tasks, analysis |
MCP Tools Reference
The platform exposes 12 tools to connected AI clients. These are callable by Claude or any MCP-compatible agent to perform Odoo operations in natural language.
* are required. All other params are optional. Claude decides which params to use based on your natural language request.Example Tool Calls
# You say to Claude:
"List all confirmed sales orders this month over $5000"
# Claude calls:
odoo_search_records(
model = "sale.order",
domain = [
["state", "=", "sale"],
["date_order", ">=", "2026-06-01"],
["amount_total", ">", 5000]
],
fields = ["name", "partner_id", "amount_total", "date_order"],
limit = 50
)# You say to Claude:
"Create a new customer contact: John Smith, john@acme.com, company Acme Corp"
# Claude calls:
odoo_create_record(
model = "res.partner",
values = {
"name": "John Smith",
"email": "john@acme.com",
"company_name": "Acme Corp",
"customer_rank": 1
}
)Platform Guide
A walkthrough of every section of the MCP Odoo web panel.
Dashboard
The dashboard shows your active Odoo connections, MCP session status, recent activity, and quick links to add connections or configure AI.
Connections
Each connection represents one Odoo instance. Fields:
| Field | Description |
|---|---|
| Connection Name | Friendly label shown in the platform |
| Odoo URL | Full URL of your Odoo instance (e.g. https://demo.myodoo.nc) |
| Database | Odoo database name (shown in Odoo URL or Settings) |
| Username | Odoo login email of the API user |
| Password / API Key | Odoo password or API key (Settings → Technical → API Keys) |
| Enable MCP Connector | Generates the SSE URL with a unique secure token |
Settings
Configure your AI provider API key, default model, and platform preferences. Settings are per-user and stored securely in the database.
Security Overview
Security is built in at every layer. Your Odoo credentials never leave the server and all communication is encrypted.
Security Layers
| Layer | Implementation |
|---|---|
| Transport | TLS 1.3 via Nginx — all traffic encrypted in transit |
| Web Auth | HS256 JWT in HttpOnly cookies — 7 day expiry |
| Passwords | bcrypt hashed with salt — never stored plain text |
| MCP Tokens | 256-bit random tokens, compared with HMAC to prevent timing attacks |
| Odoo Creds | Stored in PostgreSQL — accessible only by the app user |
| Firewall | UFW blocks port 8000 — only Nginx (80/443) is public |
Best Practices
Use Odoo API Keys, Not Passwords
Create a dedicated Odoo API key in Settings → Technical → API Keys. This lets you revoke access without changing your password.
Rotate Connector Tokens Regularly
In the connection settings, click Regenerate Token to issue a new SSE URL. Old URLs stop working immediately.
Restrict Odoo User Permissions
The Odoo API user only needs access to models Claude should be able to read/write. Don't use an admin account.
Claude Prompt Examples
Copy these prompts directly into Claude. With the Odoo MCP integration active, Claude will execute the Odoo calls and return live data.
Sales & Orders
"List my top 10 customers by total sales this year"
"Show all quotations that haven't been confirmed in 30 days"
"Create a draft quotation for Acme Corp for 5 units of [Product Name]"
"How many orders were confirmed last week? What's the total revenue?"
"Mark invoice INV/2026/001 as paid"Inventory & Products
"What products are low on stock? (below reorder point)"
"Show me all products in the Electronics category with their prices"
"Update the price of product [ID] to $299"
"List all stock moves for product [name] in the last 7 days"CRM & Contacts
"Show all open CRM leads assigned to me"
"Create a new lead: company BigCorp, contact Jane Smith, email jane@bigcorp.com"
"Which leads have been in 'Qualified' stage for more than 2 weeks?"
"Add a note to partner [ID]: 'Called and left voicemail'"FAQ
Does this work with self-hosted Odoo?
Yes. Any Odoo instance reachable from the MCP server works — self-hosted, cloud, or myodoo.nc. The URL must be HTTPS for production use.
Is my Odoo data stored on the MCP server?
No. The MCP server only stores your connection credentials (encrypted in PostgreSQL). Odoo data flows through the server in real-time but is never persisted.
Can I have multiple Odoo connections?
Yes. Add as many connections as you need. Each gets its own SSE URL with a separate token. You can switch between them in the Claude connector settings.
What Odoo versions are supported?
Odoo 16, 17, and 19 (Community and Enterprise). The JSON-RPC API used is stable across all these versions.
Claude says "No tools available" — what do I do?
Check that: (1) the MCP Connector is enabled in your connection settings, (2) the SSE URL you pasted in Claude is correct and complete, (3) you can open the SSE URL in a browser and it shows a stream. If the URL returns 401, regenerate the token.
Can I deploy this on my own server?
Yes! Run sudo bash deploy.sh on any Ubuntu 22+ server. The script installs Python, PostgreSQL, systemd service, and UFW firewall automatically. Takes about 3 minutes.