Odoo 19 MCP Server (JSON-2 API)
支援的 MCP Client
Odoo 19 MCP Server,使用 JSON-2 API 連線。
本專案基於 Odoo 19 JSON-2 API 完整使用指南 開發。

技術棧
- Python: 3.13
- FastMCP: >=3.0.0,<4.0.0
- odoo-client-lib: 2.0.1 (JSON-2 API)
架構
flowchart TB
subgraph Client["MCP Client"]
CC[Claude Code]
GC[Gemini CLI]
MI[MCP Inspector]
end
subgraph Server["MCP Server (FastMCP)"]
R[Resources<br/>odoo://models<br/>odoo://user<br/>odoo://company]
T[Tools<br/>search_records<br/>create_record<br/>update_record]
DI[Dependency Injection<br/>get_shared_client]
end
subgraph RPC["OdooJsonRpcClient"]
OL[odoolib<br/>json2/json2s protocol]
end
subgraph Odoo["Odoo Server"]
EP["/jsonrpc endpoint"]
end
Client -->|MCP Protocol<br/>stdio/http/sse| Server
R --> DI
T --> DI
DI --> RPC
RPC -->|HTTP/HTTPS| OdooMCP 核心概念
Resources vs Tools
| 特性 | Resources | Tools |
|---|---|---|
| 用途 | 提供上下文資訊 | 執行操作/動作 |
| 觸發 | 客戶端控制(如 Claude Code) | LLM 自動決定呼叫 |
| 參數 | 無(或 URI 參數) | 有(需 LLM 生成) |
| 類比 | 員工手冊(背景知識) | 工具箱(按需使用) |
| HTTP 類比 | GET(讀取) | POST/PUT/DELETE(操作) |






