
MIT MCP server for Odoo — stdio & Streamable HTTP; search/read/create/write/unlink + custom methods
概览
— 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. Python 3.10+, an Odoo 15+ instance you can reach (local or remote). Set connection_type in config.yaml (see stdio vs Streamable HTTP). 5. (Claude Desktop / Cursor) — see Connect Claude or Cursor. Docker alternative: docker compose up -d (lab stack; dev-only defaults). Copy-paste starting point (odoo_mcp/config/config.yaml): Environment variables override the file when set: ODOO_URL, ODOO_DB, ODOO_USER, ODOO_PASSWORD.
README
以下为原文 README 节选,完整内容请查看原文。
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_key -
Choose 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.yaml -
Connect your MCP client (Claude Desktop / Cursor) — see Connect Claude or Cursor.
Docker alternative: docker compose up -d (lab stack; dev-only defaults).
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: stdio
Environment 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:
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"odoo": {
"command": "odoo-mcp-server",
"args": ["--config", "/absolute/path/to/mcp-odoo-panda/odoo_mcp/config/config.yaml"]
}
}
}