
Odoo
io.github.Helios-One-Oy由 GitHub 帳號 Helios-One-Oy 發布v0.1.0更新於 Oct 29, 2026
Odoo orders, late lines, supplier promise dates, manufacturing and stock. Read-only by default.
概覽
本機 MCP 伺服器,讓助理讀取 Odoo 的銷售、採購、製造與庫存資料,並可選擇性修改採購單列的承諾日期。
- 可以做什麼
- 列出未完成的銷售單與採購單,可包含報價單與詢價單
- 檢視單一訂單的明細、數量與調撥,並找出逾期未交貨的銷售列或採購列及逾期天數
- 檢視供應商承諾到貨日期、製造單、工序單與收發貨
- 依名稱、電子郵件、編號或統一編號查詢客戶與供應商
- 查詢產品的現有、預測、進貨與出貨數量
- 啟用寫入後,可更新某一筆採購單列的預計到貨日期
- 適用情境
- 適合讓助理回答 Odoo 中的營運問題,例如哪些採購列逾期、某張銷售單進度如何、某產品還剩多少庫存,同時不必給予完整的 ERP 權限。
- 執行需求
- 透過 npx 以 stdio 在本機執行,需要 Node.js 20 或更新版本。需要 Odoo 基礎網址(ODOO_URL)、資料庫名稱(ODOO_DB)與登入名稱(ODOO_USERNAME),以及 Odoo API 金鑰(ODOO_API_KEY)或使用者密碼(ODOO_PASSWORD)其中之一。該 Odoo 使用者須被允許使用外部 API,伺服器也需能透過網路連線到該 Odoo 執行個體。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Odoo,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Odoo MCP server
An MCP server that lets an AI assistant (Claude Desktop, Claude Code, or any MCP client) read your Odoo sales, purchasing, manufacturing and stock data, and, only if you turn it on, update a purchase order line's promise date.
- 12 read tools and 1 write tool (listed below).
- Read-only by default. The write tool needs
ODOO_MCP_ENABLE_WRITES=trueon the server and an exact confirmation text on every call. - Talks to Odoo's external JSON-RPC API (
/jsonrpc) as the user you configure. Odoo's access rights apply. - Runs locally over stdio. No telemetry; it connects only to your Odoo.
Built by Helios One. MIT license.
Quickstart (2 minutes)
You need Node.js 20 or newer and an Odoo user that can log in to the external API.
1. Get an API key in Odoo (recommended over a password): click your avatar, then My Profile / Preferences, open Account Security, click New API Key. Copy the key.
2. Add the server to your MCP client.
Claude Code:
Claude Desktop: open Settings > Developer > Edit Config and add this to claude_desktop_config.json, then restart Claude Desktop:
3. Ask, for example: "Which purchase order lines are late, and by how many days?" or "What is the status of S00042?"
Settings
The server starts even when settings are missing, so your client can list the tools. Each call then returns CONFIGURATION_ERROR with the names of the missing settings.
Tools
List tools take limit (default 50, max 500) and offset. Results are Odoo's own field values, plus a few computed fields (qty_open, days_late, promised_date). Fields that do not exist in your Odoo version are left out.
The write tool
update_po_line_promise_date changes date_planned on one purchase order line (for example after a vendor confirms a new date). It runs only when both are true:
- the server was started with
ODOO_MCP_ENABLE_WRITES=true, and - the call includes
"confirmation": "CONFIRM update_po_line_promise_date".
Otherwise it returns WRITES_DISABLED or CONFIRMATION_REQUIRED and does not call Odoo. A date without a time is stored as 12:00 UTC so it shows as the same day in most time zones. The result shows the value before and after.
What has been tested
Tested on 24 October 2026, with the packed npm tarball installed into an empty project and its odoo-mcp command driven over stdio by the official MCP TypeScript SDK client, against fresh self-hosted Odoo Community 17.0, 18.0 and 19.0 (built from the official odoo/odoo branches; Sales, Purchase, Inventory and Manufacturing installed; fictional records). In each version:
- all 13 tools were listed and all 12 read tools returned the seeded records (21 tool calls and 25 checks per version, all passed);
- the write tool was refused with writes off (
WRITES_DISABLED), refused without the confirmation text (CONFIRMATION_REQUIRED), then succeeded, and a direct Odoo read confirmed the new date; - the server logged in with an Odoo API key; one session used the plain password instead, and a wrong password returned
AUTH_FAILED; - one call also went through the MCP Inspector CLI.
Logs: proof/. Unit tests (npm test, against an in-memory fake Odoo) pass on Node.js 20 and 25.
Not tested: Odoo Online (odoo.com hosting) and Odoo.sh, Odoo Enterprise, Odoo versions before 17, multi-company setups, and large databases. Odoo Online offers the external API only on some plans. Odoo 19 deprecated /jsonrpc (removal planned for Odoo 22, fall 2028, and Odoo Online 21.1, winter 2027) in favour of its JSON-2 API; this server does not use JSON-2 yet. Odoo 19 logs a deprecation warning for each /jsonrpc call.
Development
proof/run-live.sh 18.0 repeats the live test in a disposable Linux machine (it installs PostgreSQL and Odoo; do not run it on your workstation).
Security
See SECURITY.md. Use a dedicated Odoo user with only the rights the assistant needs.
License
MIT, see LICENSE.
來源:README.md,提交 f12961c
工具
0版本歷史
1- v0.1.0最新Oct 29, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
