使用说明
OdoMPServer
与Odoo ERP系统集成的MCP服务器实现,使AI助手能够通过模型上下文协议与Odoo数据和功能进行交互。
特性
- 全面的Odoo集成:完全访问Odoo模型、记录和方法
- XML-RPC通信:通过XML-RPC安全连接到Odoo实例
- 灵活的配置:支持配置文件和环境变量
- 资源模式系统:基于URI的Odoo数据结构访问
- 错误处理:清除常见Odoo API问题的错误消息
- 无状态操作:清洁的请求/响应周期,实现可靠的集成
工具
-
execute_方法
- 在Odoo模型上执行自定义方法
- 输入:
model(string):模型名称(例如“res.partner”)method(string):要执行的方法名称args(可选数组):位置参数kwargs(可选对象):关键字参数
- 返回:包含方法result和成功指示符的字典
-
搜索_员工
- 按姓名搜索员工
- 输入:
name(string):要搜索的名称(或名称的一部分)limit(可选数字):要返回的最大结果数(默认值为20)
- 返回:包含成功指示符、匹配的员工姓名和ID列表以及任何错误消息的对象
-
搜索_假期
- 搜索指定日期范围内的假期
- 输入:
start_date(字符串):YYYY-MM-DD格式的开始日期end_date(字符串):YYYY-MM-DD格式的结束日期employee_id(可选编号):可选员工ID,用于过滤假期
- 返回:包含成功指示符、找到的假日列表和任何错误消息的对象
资源
-
odoo://models
- 列出Odoo系统中的所有可用型号
- 返回:模型信息的JSON数组
-
odoo://model/Timomdel_namer
- 获取有关特定模型的信息,包括字段
- 例子:
odoo://model/res.partner - 返回:带有模型元数据和字段定义的JSON对象
-
odoo://record/{型号名称}/{记录id}
- 按ID获取特定记录
- 例子:
odoo://record/res.partner/1 - 返回:包含记录数据的JSON对象
-
odoo://search/{模型名}/{域}
- 搜索与域匹配的记录
- 例子:
odoo://search/res.partner/[["is_company","=",true]] - 返回:匹配记录的JSON数组(默认限制为10)
配置
OdoConcetionSetup
- 创建名为的配置文件
odoo_config.json:
{
"url": "https://your-odoo-instance.com",
"db": "your-database-name",
"username": "your-username",
"password": "your-password-or-api-key"
}
- 或者,使用环境变量:
ODOO_URL有记者问:到“orOdosermere”ODOO_DB:数据库名称ODOO_USERNAME:登录用户名ODOO_PASSWORD:密码或API密钥ODOO_TIMEOUT:连接超时(秒)(默认值:30)ODOO_VERIFY_SSL:是否验证SSL证书(默认值:true)HTTP_PROXY:强制ODOO连接使用HTTP代理
使用Claude Desktop
将此添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"odoo": {
"command": "python",
"args": [
"-m",
"odoo_mcp"
],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_DB": "your-database-name",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password-or-api-key"
}
}
}
}
码头工人
{
"mcpServers": {
"odoo": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ODOO_URL",
"-e",
"ODOO_DB",
"-e",
"ODOO_USERNAME",
"-e",
"ODOO_PASSWORD",
"mcp/odoo"
],
"env": {
"ODOO_URL": "https://your-odoo-instance.com",
"ODOO_DB": "your-database-name",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password-or-api-key"
}
}
}
}
安装
Python包
pip install odoo-mcp
运行服务器
# Using the installed package
odoo-mcp
# Using the MCP development tools
mcp dev odoo_mcp/server.py
# With additional dependencies
mcp dev odoo_mcp/server.py --with pandas --with numpy
# Mount local code for development
mcp dev odoo_mcp/server.py --with-editable .
构建
Docker构建:
docker build -t mcp/odoo:latest -f Dockerfile .
参数格式指南
使用Odoo的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许可证获得许可。
