Panda Odoo MCP Server
Provides a standardized interface for interacting with Odoo instances, enabling operations such as searching, reading, creating, updating, and deleting records, managing binary fields, and calling custom methods.
Click on "Deploy 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., "@Panda Odoo MCP Serverlist all sales orders from the last 7 days"
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.
mcp-odoo-panda
An MCP server for Odoo — let Claude, Cursor, or any MCP client search, read, create, update, and call methods on your Odoo ERP.
For developers and integrators who want Odoo tools inside an LLM client without writing a custom connector.
Quickstart
Requirements: Python 3.10+, an Odoo 15+ instance you can reach (local or remote).
Install
git clone https://github.com/pandeussilvae/mcp-odoo-panda.git cd mcp-odoo-panda pip install .Configure from the example
cp odoo_mcp/config/config.example.yaml odoo_mcp/config/config.yaml # edit config.yaml — set odoo_url, database, username, api_keyChoose how clients connect (MCP protocolVersion
2026-07-28only)Mode
When to use
stdio(default)Claude Desktop / Cursor on the same machine (official
mcpSDK)mcp_2026_07_28Remote Streamable HTTP (
POST /mcpviamcp_sdk_server)Set
connection_typeinconfig.yaml(see stdio vs Streamable HTTP).Run
odoo-mcp-server --config odoo_mcp/config/config.yaml # or: python -m odoo_mcp.core.mcp_server --config odoo_mcp/config/config.yamlConnect your MCP client (Claude Desktop / Cursor) — see Connect Claude or Cursor.
Docker alternative: docker compose up -d (lab stack; dev-only defaults).
Related MCP server: Odoo MCP Server
Minimal config
Copy-paste starting point (odoo_mcp/config/config.yaml):
odoo_url: http://localhost:8069
database: your_database
username: your_username
api_key: your_password_or_api_key
protocol: xmlrpc
connection_type: stdio
transport_type: stdioEnvironment variables override the file when set: ODOO_URL, ODOO_DB, ODOO_USER, ODOO_PASSWORD.
stdio vs Streamable HTTP
Both transports speak MCP protocolVersion: 2026-07-28 via the official Python mcp SDK (≥2.1.1).
stdio — the MCP client starts this process and talks over stdin/stdout (SDK modern-only). Best for desktop apps (Claude, Cursor). No open port.
mcp_2026_07_28 (alias
http) — Streamable HTTP onPOST /mcp(mcp_sdk_server+ uvicorn). Use for remote / Docker.
Migration note
SSE / pre-2026-07-28 HTTP were removed. connection_type: sse, streamable_http, and modern_http fail at startup. Upgrade clients to 2026-07-28 envelopes (server/discover, per-request _meta).
HTTP example (dev):
connection_type: mcp_2026_07_28
http:
host: 127.0.0.1 # prefer loopback; 0.0.0.0 is DEV-ONLY
port: 8080Connect Claude or Cursor
Cursor — add an MCP server entry (Settings → MCP), for example:
{
"mcpServers": {
"odoo": {
"command": "odoo-mcp-server",
"args": ["--config", "/absolute/path/to/mcp-odoo-panda/odoo_mcp/config/config.yaml"]
}
}
}Claude Desktop — same shape in its MCP config file (claude_desktop_config.json): command + args pointing at your install and config.
Use absolute paths. Do not commit client configs that embed real passwords.
What you get
Search / read / create / write / unlink Odoo records
Call custom model methods
Session handling, rate limiting, optional HTTP CORS
MCP Streamable HTTP via official SDK (
CONNECTION_TYPE=mcp_2026_07_28; protocol2026-07-28)
Security
Never commit real passwords or API keys. Keep
config.yamllocal (it is gitignored); onlyconfig.example.yamlis tracked.Compose / Dockerfile
adminpassword defaults are DEV-ONLY for a local lab.Binding
0.0.0.0and CORSallowed_origins: ["*"]are DEV-ONLY. In production use loopback or a private interface and explicit origins.Prefer env vars or a secrets manager for credentials.
Standalone
This project is a standalone MIT MCP server for a single Odoo connection. It is not a multi-tenant SaaS gateway. See ODWARD_BOUNDARY.md.
Optional: used by Odward Connect as an upstream engine; that integration lives outside this repo.
Deeper docs
Doc | Topic |
Full configuration reference | |
Tools / API | |
Architecture for contributors | |
Docker notes | |
Server usage | |
Italian quickstart |
Historical refactor notes (when present) live under docs/archive/.
License
MIT — see LICENSE.
Developed by Paolo Nugnes and TechLab · info@techlab.it · support@techlab.it
This server cannot be deployed
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Model Context Protocol server for Studex tools, notifications, and profile integrations
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA comprehensive implementation of the Model Context Protocol for Odoo ERP systems that enables AI assistants to interact directly with business data across sales, purchases, inventory, and accounting modules.48MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with Odoo ERP systems, providing comprehensive tools for searching, creating, updating, and managing Odoo records through a standardized interface.220 PyPI23GPL 3.0
- AlicenseBqualityDmaintenanceSafety-first Model Context Protocol server for Odoo that enables AI assistants to safely inspect records, explain business data, prepare controlled changes, and rollback supported operations.71MIT
- AlicenseNot gradedqualityDmaintenanceIntegrates with Odoo ERP systems, enabling AI assistants to interact with Odoo data and functionality through the Model Context Protocol.MIT