使用说明
Odoo MCP服务器
A. 模型上下文协议 该服务器公开Odoo ERP数据和操作,作为Cursor、Claude Desktop和其他MCP客户端中AI代理的工具。
作者 彼得 Stichauer
为什么是这个服务器?
该服务器提供具有安全默认值的类型化MCP工具,而不是教导代理原始Odoo XML-RPC:连接配置文件、只读模式、结果限制和经过净化的错误消息。只需最少的设置,即可将您的代理指向客户、项目、任务或任何Odoo模型。
特性
| 类别 | 工具 |
|---|---|
| 连接 | list_connections, test_connection |
伙伴 search_partners, get_partner |
|
| 项目和任务 | get_project, search_tasks, create_task |
| 通用读取 | search_records, read_record, list_models |
所有工具都接受可选 connection 多实例设置的参数。
快速启动
git clone https://github.com/PetrStichauer/odoo-mcp-server.git
cd odoo-mcp-server
pip install -e .
# Interactive setup (stores API key locally with secure permissions)
odoo-mcp-server configure
# Verify authentication
odoo-mcp-server test
# Run the MCP server (stdio)
odoo-mcp-server
获取Odoo API密钥
- 登录您的Odoo实例
- 打开您的用户配置文件→ 首选项/帐户安全
- 在...之下 API密钥,创建一个新密钥并复制它
- 使用具有最低权限访问的专用Odoo用户
配置
命名连接配置文件(推荐)
配置文件存储在 ~/.config/odoo-mcp-server/connections.json (模式 0600,目录 0700).
# Add or update a profile
odoo-mcp-server configure
# List profiles (no secrets shown)
odoo-mcp-server configure --list
# Test a specific profile
odoo-mcp-server test --connection staging
启动服务器时设置活动配置文件:
export ODOO_CONNECTION=production
odoo-mcp-server
覆盖配置文件路径:
export ODOO_MCP_CONFIG=/path/to/connections.json
环境变量(CI/单连接)
将所有四个变量设置为使用隐式 "env" 连接(覆盖配置文件):
ODOO_URL=https://your-odoo-instance.com
ODOO_DB=your_database_name
ODOO_USER=your_username
ODOO_API_KEY=your_api_key
看 .env.example 适用于所有选项,包括 ODOO_READONLY.
只读模式
块写入工具(create_task,未来写入)用于只读代理:
export ODOO_READONLY=true
MCP客户端设置
光标
添加 .cursor/mcp.json (参见 examples/cursor-mcp.json):
{
"mcpServers": {
"odoo": {
"command": "odoo-mcp-server",
"env": {
"ODOO_CONNECTION": "production"
}
}
}
}
多个Odoo实例: 添加另一个具有不同名称的条目,然后 ODOO_CONNECTION value--相同的安装,不同的配置文件。
克劳德桌面
添加 ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上(请参阅 examples/claude_desktop_config.json):
{
"mcpServers": {
"odoo": {
"command": "odoo-mcp-server",
"env": {
"ODOO_CONNECTION": "production"
}
}
}
}
工具参考
连接工具
list_connections--配置文件名称、活动/默认连接、URL(无凭据)test_connection--验证并返回服务器版本信息
合作伙伴工具
search_partners--按姓名、电子邮件、公司标志筛选get_partner--按ID列出的完整合作伙伴详细信息
项目和任务工具
get_project--按ID列出的项目详细信息search_tasks--按项目、用户、状态、优先级筛选create_task--创建任务(在以下情况下被阻止ODOO_READONLY=true)
通用读取工具
search_records—search_read在任何具有域、字段、限制(最大100)、顺序的模型上read_record--按ID读取一条记录list_models--从中列出非瞬态模型ir.model
所有搜索工具都强制执行最大值 100条记录 和 20个领域条款.
Odoo兼容性
针对Odoo进行测试 16/17/18社区 通过XML-RPC。
注: project.task 受让人字段在较新版本中已更改(user_ids vs遗产 user_id).此服务器使用 user_ids 奥多17+。
发展
pip install -e ".[dev]"
ruff check src/ tests/
pytest
看 贡献.md 获取拉取请求指南。
安全
- 永不承诺
.env或API密钥-请参阅 安全.md - 配置文件在本地以明文存储API密钥(MCP的标准);在共享计算机上使用env变量
- 使用最低权限Odoo用户和
ODOO_READONLY当代理不应写入数据时
许可证
麻省理工学院——见 许可证版权所有©2026 Petr Stichauer。