Odoo MCP Server

Integrations

  • Optional dependency that can be included when running the server to support numerical computing operations when processing Odoo data.

  • Provides comprehensive access to Odoo ERP systems, enabling interaction with models, records, and methods. Includes tools for searching, reading, creating, updating, and deleting records, executing custom methods, and retrieving model metadata through an XML-RPC connection to Odoo instances.

  • Optional dependency that can be included when running the server to support data manipulation and analysis of Odoo records and datasets.

Odoo MCP 服务器

与 Odoo ERP 系统集成的 MCP 服务器实现,使 AI 助手能够通过模型上下文协议与 Odoo 数据和功能进行交互。

特征

  • 全面的 Odoo 集成:完全访问 Odoo 模型、记录和方法
  • XML-RPC 通信:通过 XML-RPC 安全连接到 Odoo 实例
  • 灵活配置:支持配置文件和环境变量
  • 资源模式系统:基于 URI 访问 Odoo 数据结构
  • 错误处理:清除常见 Odoo API 问题的错误消息
  • 无状态操作:清晰的请求/响应周期,实现可靠的集成

工具

  • 搜索记录
    • 在任何 Odoo 模型中搜索记录
    • 输入:
      • model (字符串):模型名称(例如,“res.partner”)
      • domain (数组):搜索域(例如,[['is_company', '=', true]])
      • fields (可选数组):要获取的可选字段
      • limit (可选数字):返回的最大记录数
    • 返回:与请求字段匹配的记录
  • 读取记录
    • 读取特定记录的详细信息
    • 输入:
      • model (字符串):模型名称(例如,“res.partner”)
      • id (数字):记录 ID
      • fields (可选数组):要获取的可选字段
    • 返回:记录具有请求字段的数据
  • 创建记录
    • 在 Odoo 中创建新记录
    • 输入:
      • model (字符串):模型名称(例如,“res.partner”)
      • values (对象):字段值字典
    • 返回:带有新记录 ID 的字典
  • 更新记录
    • 更新现有记录
    • 输入:
      • model (字符串):模型名称(例如,“res.partner”)
      • id (数字):记录 ID
      • values (对象):要更新的字段值的字典
    • 返回:指示成功的字典
  • 删除记录
    • 从 Odoo 中删除记录
    • 输入:
      • model (字符串):模型名称(例如,“res.partner”)
      • id (数字):记录 ID
    • 返回:指示成功的字典
  • 执行方法
    • 在 Odoo 模型上执行自定义方法
    • 输入:
      • model (字符串):模型名称(例如,“res.partner”)
      • method (字符串):要执行的方法名称
      • args (可选数组):位置参数
      • kwargs (可选对象):关键字参数
    • 返回:带有方法结果的字典
  • 获取模型字段
    • 获取模型的字段定义
    • 输入:
      • model (字符串):模型名称(例如,“res.partner”)
    • 返回:带有字段定义的字典
  • 搜索员工
    • 按姓名搜索员工。
    • 输入:
      • name (字符串):要搜索的名称(或名称的一部分)。
      • limit (可选数字):返回的最大结果数(默认为 20)。
    • 返回:匹配的员工姓名和 ID 列表。
  • 搜索假期
    • 搜索指定日期范围内的假期。
    • 输入:
      • start_date (字符串):YYYY-MM-DD 格式的开始日期。
      • end_date (字符串):YYYY-MM-DD 格式的结束日期。
      • employee_id (可选数字):可选员工 ID,用于过滤假期。
    • 返回:找到的假期列表。

资源

  • odoo://模型
    • 列出 Odoo 系统中所有可用的模型
    • 返回:模型信息的 JSON 数组
  • odoo://模型/{模型名称}
    • 获取有关特定模型(包括字段)的信息
    • 例如: odoo://model/res.partner
    • 返回:带有模型元数据和字段定义的 JSON 对象
  • odoo://record/{模型名称}/{record_id}
    • 通过ID获取特定记录
    • 例如: odoo://record/res.partner/1
    • 返回:带有记录数据的 JSON 对象
  • odoo://search/{model_name}/{domain}
    • 搜索与域名匹配的记录
    • 例如: odoo://search/res.partner/[["is_company","=",true]]
    • 返回:匹配记录的 JSON 数组(默认限制为 10 条)

配置

Odoo 连接设置

  1. 创建一个名为odoo_config.json的配置文件:
{ "url": "https://your-odoo-instance.com", "db": "your-database-name", "username": "your-username", "password": "your-password-or-api-key" }
  1. 或者,使用环境变量:
    • ODOO_URL :您的 Odoo 服务器 URL
    • 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" } } } }

Docker

{ "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 工具时,请注意以下参数格式指南:

  1. 域参数
    • 支持以下域格式:
      • 列表格式: [["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"]]
  2. 字段参数
    • 应该是字段名称的数组: ["name", "email", "phone"]
    • 服务器将尝试将字符串输入解析为 JSON

执照

此 MCP 服务器根据 MIT 许可证获得许可。

-
security - not tested
F
license - not found
-
quality - not tested

与 Odoo ERP 系统集成的实现,使 AI 助手能够通过模型上下文协议与 Odoo 数据和功能进行交互。

  1. Features
    1. Tools
      1. Resources
        1. Configuration
          1. Odoo Connection Setup
          2. Usage with Claude Desktop
          3. Docker
        2. Installation
          1. Python Package
          2. Running the Server
        3. Build
          1. Parameter Formatting Guidelines
            1. License
              ID: 142dbb6v2m