使用说明
Odoo MCP服务器——代理版
企业级 模型上下文协议(MCP) 用于通过AI助手与Odoo ERP交互的服务器。与传统的数据库连接器不同,此服务器被设计为 代理桥:它教人工智能如何导航Odoo,理解其业务逻辑,并执行复杂的数据分析。
为什么是代理版?
- 引导式工作流程(提示) --本机指令教你的人工智能如何一步一步地审计库存、分析销售或审查安全权限,而无需从头开始编写提示。
- 原生BI --优化支持
read_group以及先进的分析操作,使人工智能能够即时生成财务报告或关键绩效指标。 - 深度反思 --赋予AI X射线视觉的工具:发现可用的操作按钮,检查视图XML架构,评估安全规则——将幻觉减少到最低限度。
- 零额外依赖 --仅使用Python stdlib(
urllib,json,csv,xml)加上mcp包裹。不requests,没有odoorpc. - 内置安全 --使用Odoo自己的XML-RPC层;MCP服务器无法绕过用户尚未拥有的权限。
安装
# Recommended — isolated and fast
uv tool install odoo-mcp-server-conn
# Standard
pip install odoo-mcp-server-conn
配置
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
ODOO_URL |
✅ | 您的Odoo URL(例如。 http://localhost:8069) |
ODOO_DB |
✅ | 数据库名称 |
ODOO_USERNAME |
✅ | 用户登录或电子邮件 |
ODOO_PASSWORD |
✅ | 密码或 API密钥 (强烈推荐) |
MCP_AUTH_CACHE_TTL |
❌ | 重新验证前的秒数(默认值: 300) |
提示: 总是更喜欢 API密钥 使用普通密码。在Odoo中生成一个 设置→ 用户→ 用户→ API密钥.
克劳德代码(CLI)
运行此命令一次——它将永久存储当前项目的配置:
claude mcp add odoo-server \
--env ODOO_URL=http://localhost:8069 \
--env ODOO_DB=my_database \
--env ODOO_USERNAME=admin \
--env ODOO_PASSWORD=my_api_key \
-- odoo-mcp-server-conn
验证Claude Code内部的连接:
/mcp
Project-scoped config — share with your team via .mcp.json
添加 --scope project 创建a .mcp.json 在存储库根目录下,您的整个团队都可以使用。每个开发人员都通过环境变量或CI机密提供自己的凭据。
claude mcp add odoo-server \
--scope project \
--env ODOO_URL=http://localhost:8069 \
--env ODOO_DB=my_database \
--env ODOO_USERNAME=admin \
--env ODOO_PASSWORD=my_api_key \
-- odoo-mcp-server-conn
克劳德桌面版
找到您的配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
添加以下块:
{
"mcpServers": {
"odoo-server": {
"command": "odoo-mcp-server-conn",
"env": {
"ODOO_URL": "http://localhost:8069",
"ODOO_DB": "my_database",
"ODOO_USERNAME": "admin",
"ODOO_PASSWORD": "my_api_key"
}
}
}
}
VS代码(复制品/临床/房间代码)
添加到您的 .vscode/mcp.json (工作空间级别)或用户MCP设置:
{
"servers": {
"odoo-server": {
"type": "stdio",
"command": "odoo-mcp-server-conn",
"env": {
"ODOO_URL": "http://localhost:8069",
"ODOO_DB": "my_database",
"ODOO_USERNAME": "admin",
"ODOO_PASSWORD": "my_api_key"
}
}
}
}
Cline / Roo Code — cline_mcp_settings.json
{
"mcpServers": {
"odoo-server": {
"command": "odoo-mcp-server-conn",
"env": {
"ODOO_URL": "http://localhost:8069",
"ODOO_DB": "my_database",
"ODOO_USERNAME": "admin",
"ODOO_PASSWORD": "my_api_key"
}
}
}
}
光标IDE
- 首选 设置→ 特性→ MCP.
- 点击 添加新服务器 → type
command. - 命令:
odoo-mcp-server-conn. - 将每个环境变量添加到 环境变量 部分。
帆板运动
增添 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"odoo-server": {
"command": "odoo-mcp-server-conn",
"env": {
"ODOO_URL": "http://localhost:8069",
"ODOO_DB": "my_database",
"ODOO_USERNAME": "admin",
"ODOO_PASSWORD": "my_api_key"
}
}
}
}
工具
CRUD——核心操作
| 工具 | Odoo方法 | 说明 |
|---|---|---|
search_records |
search |
返回与域筛选器匹配的ID |
read_records |
read |
按ID从记录中读取字段 |
search_read_records |
search_read |
搜索+阅读一次优化的通话 |
create_record |
create |
创建新记录 |
update_record |
write |
更新现有记录 |
delete_record |
unlink |
删除记录⚠️ |
count_records |
search_count |
无加载记录计数(快速) |
内省——实时理解数据模型
| 工具 | 说明 |
|---|---|
get_model_fields |
任何模型的实时模式(类型、关系、所需标志) |
get_view_architecture |
视图的最终合并XML(表单/树/看板/搜索) |
get_workflow_states |
模型的状态、阶段和转换按钮 |
get_action_buttons |
具有可见性条件和组的视图中的所有按钮 |
get_related_records |
自动解析Many2one/One2many/Many2many关系 |
get_security_rules |
ACL和 ir.rule 模型的记录 |
explain_domain |
将Odoo域过滤器翻译成简单的英语 |
BI和分析
| 工具 | 说明 |
|---|---|
read_group |
GROUP BY 求和、计数、平均值。支持 :month / :year 日期分组 |
export_to_csv |
将记录导出为CSV字符串(最多1000行) |
get_available_reports |
列出模型可用的PDF/HTML报告 |
通配符
| 工具 | 说明 |
|---|---|
execute_method |
呼叫 任何 公共Odoo方法(例如。 action_confirm, button_validate) |
引导式提示(预先培训的工作流程)
直接从您的AI客户端调用这些提示以启动结构化分析:
| 提示 | 它做什么 |
|---|---|
analyze_sales |
销售KPI——收入趋势、顶级客户、转化率 |
diagnose_inventory |
低库存产品、滞留转运、仓库利用率 |
audit_permissions |
使用ACL交叉引用安全组,标记特权用户 |
financial_overview |
现金流概览——应收账款、应付账款、按期间开票 |
资源(可导航URI)
AI可以直接查询这些URI,就像浏览ERP一样:
| URI | 描述 |
|---|---|
odoo://models |
实例中安装的所有模型的主列表 |
odoo://fields/{model} |
特定模型的数据字典 |
odoo://record/{model}/{id} |
完整记录表 |
odoo://search/{model}/{domain} |
即时搜索,例如。 odoo://search/res.partner/[["is_company","=",true]] |
安全
- 服务器完全通过Odoo的XML-RPC层运行——它不能绕过经过身份验证的用户在ERP中没有的任何权限。
- 没有原始SQL,没有强制提交,没有ORM绕过。
- 凭据仅从环境变量中读取,从不进行硬编码。
许可证: 麻省理工学院
