关于 odoo-mcp-connector
odoo-mcp-connector 将 Odoo ERP 接入 Claude 等 MCP 客户端,适合需要用自然语言查询和汇总业务数据的团队。它支持任意模型,默认只读,写入操作需显式启用。
主要功能
- 01搜索、读取和统计任意模型记录
- 02查看模型列表与字段信息
- 03查询逾期发票、销售和库存
- 04汇总开票收入最高的客户
- 05可选启用创建、更新和删除
适用场景
- 01查询特定 Odoo 模型中的记录
- 02生成日期范围内的销售摘要
- 03查找逾期发票或低库存产品
- 04在启用写入后修改 ERP 记录
MCP 相关
该 MCP 服务向客户端开放 Odoo 模型查询、读取、统计和业务汇总工具;启用写入后也可创建、更新或删除记录。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y odoo-mcp-connectorODOO_URLOdoo base URL, e.g. https://your-company.odoo.comODOO_DBOdoo database nameODOO_USERNAMEOdoo login (email)ODOO_API_KEY密钥Odoo API key (or password)ODOO_ENABLE_WRITESSet to 'true' to allow create/update/delete. Default false (read-only).ODOO_TIMEOUT_MSPer-request timeout in milliseconds (default 30000).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
9收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 最大记录数(默认值:50)。 |
| model | string | 是 | 模型技术名称,例如 'res.partner'、'sale.order'、'account.move'。 |
| order | string | 否 | 排序规范,例如 'create_date desc'。 |
| domain | array | 否 | Odoo 搜索域,例如 [["is_company","=",true]]。省略则搜索所有记录。 |
| fields | array | 否 | 要返回的字段名称。省略则返回所有字段。 |
| offset | integer | 否 | 要跳过的记录数(默认值:0)。 |
详细介绍
Odoo MCP 服务
适用于 Odoo 的 Model Context Protocol 服务。将 Claude(或任何 MCP 客户端)连接到你自己的 Odoo ERP,即可用自然语言查询、生成报告,并可选择修改数据。
适用于任何 Odoo 模型。默认安全:仅可读,除非你明确启用写入。你的凭据保留在自己的机器上。除你自己的 Odoo 实例外,不会存储或发送到任何地方。
功能
- 通用模型访问:搜索、读取、计数、查看字段信息、列出模型
- 即用型业务工具:逾期发票、销售汇总、低库存产品、顶级客户
- 默认仅可读:只有选择启用后才可创建、更新和删除(
ODOO_ENABLE_WRITES=true) - 你的数据,你的机器:完全通过环境变量配置
安装
将以下内容添加到 MCP 客户端配置中(例如 Claude Desktop 或 Claude Code):
{
"mcpServers": {
"odoo": {
"command": "npx",
"args": ["-y", "odoo-mcp-connector"],
"env": {
"ODOO_URL": "https://your-company.odoo.com",
"ODOO_DB": "your-database",
"ODOO_USERNAME": "[email protected]",
"ODOO_API_KEY": "your-odoo-api-key"
}
}
}
}
获取 Odoo API 密钥
在 Odoo 中:设置、用户、你的用户、账户安全、新建 API 密钥。将生成的密钥粘贴到 ODOO_API_KEY 中。(密码也可以使用,但 API 密钥更安全,且可撤销。)
启用写入
默认仅可读。若要允许模型创建、更新或删除记录,请添加:
"ODOO_ENABLE_WRITES": "true"
Odoo 中保存着真实的业务数据。只有在你接受模型可以创建、修改或删除记录,且始终受限于你的 Odoo 用户自身权限时,才启用写入。
工具
始终可用(仅可读)
| 工具 | 用途 |
|---|---|
odoo_search_read | 搜索并读取任意模型中的记录 |
odoo_read | 按 ID 读取记录 |
odoo_count | 统计符合某个 domain 的记录数 |
odoo_fields | 查看模型字段信息(名称、类型、标签) |
odoo_list_models | 列出可用模型 |
odoo_overdue_invoices | 已过到期日的未付款客户发票 |
odoo_sales_summary | 指定日期范围内的收入和订单数 |
odoo_low_stock | 库存数量低于或等于阈值的产品 |
odoo_top_customers | 按已开票收入排名的顶级客户 |
仅在 ODOO_ENABLE_WRITES=true 时可用
| 工具 | 用途 |
|---|---|
odoo_create | 创建记录 |
odoo_write | 按 ID 更新记录 |
odoo_unlink | 按 ID 删除记录(不可撤销) |
odoo_call | 调用任意模型方法 |
配置参考
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
ODOO_URL | 是 | Odoo 基础 URL | |
ODOO_DB | 是 | 数据库名称 | |
ODOO_USERNAME | 是 | 登录名(电子邮件) | |
ODOO_API_KEY | 是 | API 密钥(或密码) | |
ODOO_ENABLE_WRITES | 否 | false | 设置为 "true" 以允许写入 |
ODOO_TIMEOUT_MS | 否 | 30000 | 每次请求的超时时间(毫秒) |
开发
npm install
npm test # vitest, fully mocked, no live Odoo needed
npm run build
许可证
MIT,Falak Sarhan Saade
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。