article
README
🚀 Odoo MCP 服务器
Odoo MCP 服务器集成到 Odoo ERP 系统中,借助 Model Context Protocol(模型上下文协议),能让 AI 助手与 Odoo 的数据和服务进行交互,为系统拓展提供了便利。
✨ 主要特性
- 全面的 Odoo 集成:可完全访问 Odoo 模型、记录和方法。
- XML - RPC 通信:通过 XML - RPC 安全连接到 Odoo 实例。
- 灵活的配置:支持配置文件和环境变量。
- 资源模式系统:基于 URI 访问 Odoo 数据结构。
- 错误处理:针对常见 Odoo API 问题提供清晰的错误消息。
- 无状态操作:干净的请求/响应周期实现可靠集成。
📦 安装指南
Python 包安装
pip install odoo-mcp
运行服务器
# 使用安装的包
odoo-mcp
# 使用 MCP 开发工具
mcp dev odoo_mcp/server.py
# 带有额外依赖项
mcp dev odoo_mcp/server.py --with pandas --with numpy
# 挂载本地代码进行开发
mcp dev odoo_mcp/server.py --with-editable .
Docker 构建
docker build -t mcp/odoo:latest -f Dockerfile .
💻 使用示例
工具使用
execute_method
- 功能:在 Odoo 模型上执行自定义方法。
- 输入:
model(字符串):模型名称。method(字符串):要执行的方法名称。args(可选数组):传递给方法的参数列表。kwargs(可选对象):传递给方法的关键字参数。
- 输出:执行方法的结果。
search_employee
- 功能:搜索员工信息。
- 输入:
criteria(字符串/对象):搜索条件,支持列表格式或 JSON 对象。fields(可选数组):要返回的字段列表。
- 输出:符合条件的员工记录。
search_holidays
- 功能:搜索假期信息。
- 输入:
date_range(字符串):日期范围,格式为 "YYYY - MM - DD"。employee_id(可选整数):特定员工 ID。
- 输出:符合条件的假期记录。
资源访问
- Odoo 模型:
odoo://models - Odoo 记录:
odoo://records/{model_name}/{id} - Odoo 方法:
odoo://methods/{model_name}/{method_name}
📚 详细文档
参数格式说明
在使用 MCP 工具时,请注意以下参数格式指南:
- 领域参数:
- 支持以下字段格式:
- 列表格式:
[["field", "operator", value], ...] - 对象格式:
{"conditions": [{"field": "...", "operator": "...", "value": "..."}]} - 两种格式的 JSON 字符串。
- 列表格式:
- 示例:
- 列表格式:
[["is_company", "=", true]] - 对象格式:
{"conditions": [{"field": "date_order", "operator": ">=", "value": "2025-03-01"}]} - 多个条件:
[["date_order", ">=", "2025-03-01"], ["date_order", "<=", "2025-03-31"]]
- 列表格式:
- 支持以下字段格式:
- 字段参数:
- 应该是字段名称数组:
["name", "email", "phone"] - 服务器将尝试解析字符串输入为 JSON。
- 应该是字段名称数组:
📄 许可证
此 MCP 服务器根据 MIT License(MIT)许可。
Scan to contact