ERP AI代理服务器

Odoo MCP Server是一个企业级的模型上下文协议服务器,作为AI助手与Odoo ERP系统之间的智能桥梁,提供业务逻辑导航、复杂数据分析等功能。

  • by edubolivar
  • Python
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 edubolivar/odoo-mcp-server

使用说明

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

  1. 首选 设置→ 特性→ MCP.
  2. 点击 添加新服务器 → type command.
  3. 命令: odoo-mcp-server-conn.
  4. 将每个环境变量添加到 环境变量 部分。

帆板运动

增添 ~/.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绕过。
  • 凭据仅从环境变量中读取,从不进行硬编码。

许可证: 麻省理工学院