项目简介

Odoo MCP Server是一个实现了Model Context Protocol (MCP) 的应用后端,专为集成大型语言模型 (LLM) AI 助手与Odoo ERP系统而设计。它允许AI助手以标准化的方式访问和操作Odoo中的业务数据、调用Odoo功能,从而实现基于自然语言的Odoo交互和自动化。

主要功能点

  • 搜索和检索记录: 能够根据指定的过滤条件(Domain)搜索Odoo中的任何模型(如客户、产品、发票等)的记录,并检索指定字段的数据。
  • 浏览记录: 根据提供的记录ID列表批量获取详细记录信息。
  • 统计记录: 统计符合特定过滤条件的记录总数。
  • 获取模型信息: 获取指定Odoo模型的字段定义和元数据,帮助AI理解数据结构。
  • 创建记录: 在Odoo中创建新的记录。
  • 更新记录: 修改Odoo中现有记录的字段值。
  • 删除记录: 从Odoo中删除记录。
  • 安全认证: 支持使用Odoo API Key或用户名/密码进行安全连接和认证。
  • 智能处理: 包括对大数据集的分页处理、为LLM优化的数据格式化输出、以及性能优化(如连接池和缓存)。

安装步骤

  1. 先决条件:

    • 安装 Python 3.10 或更高版本。
    • 拥有 Odoo 实例的访问权限 (推荐 Odoo 18.0+)。
    • 在您的 Odoo 实例上安装配套的 'mcp_server' Odoo模块 (该模块通常可以在 https://github.com/ivnvxd/mcp-server-odoo 仓库的 'odoo-apps' 目录下找到)。
    • 在 Odoo 中为用于集成的用户生成 API Key(设置 > 用户 > API Keys)或准备好该用户的用户名和密码。
  2. 安装 MCP Server Python 包: 您可以通过 'pipx' (推荐,在一个独立环境安装) 或 'pip' 进行安装:

    # 使用 pipx (推荐)
    pipx install mcp-server-odoo
    
    # 或使用 pip
    pip install mcp-server-odoo

    这将安装 'mcp-server-odoo' 命令。

服务器配置 (MCP客户端配置)

安装完成后,您需要将该 MCP 服务器配置到您的 LLM 客户端(如 Claude Desktop, Cursor, VS Code (GitHub Copilot), Zed 等)中。通常,这涉及修改客户端的 MCP 设置文件(通常是 JSON 格式),添加一个指向 'mcp-server-odoo' 命令的配置项,并设置必要的 Odoo 连接环境变量。

以下是一个示例配置结构,您需要将其合并到您的客户端 MCP 设置文件中:

{
  "mcpServers": {
    "odoo": {
      "command": "uvx", // 调用 uvx 运行已安装的包
      "args": ["mcp-server-odoo"], // 传递给 uvx 的包名/命令
      "env": {
        // *** 必需配置项 ***
        "ODOO_URL": "你的Odoo实例的完整URL,例如:https://mycompany.odoo.com",
        // 以下两种认证方式选择一种配置:
        // 方法一:使用 API Key (推荐)
        "ODOO_API_KEY": "你在Odoo中为集成用户生成的API Key字符串",
        // 方法二:使用用户名和密码 (仅当API Key不可用或不需要时)
        // "ODOO_USER": "用于连接Odoo的用户名,例如:admin",
        // "ODOO_PASSWORD": "用于连接Odoo的密码",

        // *** 可选配置项 ***
        // "ODOO_DB": "你的Odoo数据库名称,如果未设置,服务器会尝试自动检测",
        // "ODOO_MCP_LOG_LEVEL": "日志级别,例如:INFO, DEBUG, WARNING, ERROR (默认为 INFO)",
        // "ODOO_MCP_DEFAULT_LIMIT": "搜索结果默认限制数量 (默认为 10)",
        // "ODOO_MCP_MAX_LIMIT": "搜索结果最大允许限制数量 (默认为 100)"
      }
    }
  }
}

请根据您实际的 Odoo 环境和偏好的认证方式,填写并取消注释相应的配置项。将这个配置块添加到您的 LLM 客户端的 'mcpServers' (或类似的 'context_servers') JSON 对象中。

基本使用方法

配置并重启您的 LLM 客户端后,AI 助手应该就能识别并使用这个 Odoo MCP 服务器。您可以开始尝试用自然语言让 AI 助手与您的 Odoo 实例交互,例如:

  • "Show me the names and emails of the first 5 customers." (显示前5个客户的姓名和邮箱。)
  • "Search for products where the name contains 'Desk' and list their price and stock quantity." (搜索名称包含“Desk”的产品,并列出其价格和库存量。)
  • "Count how many active employees we have." (统计我们有多少活跃的员工。)
  • "What are the fields available on the 'sale.order' model?" (销售订单模型有哪些可用的字段?)
  • "Create a new contact named 'Acme Corp' with email '[email protected]'." (创建一个名为“Acme Corp”的新联系人,邮箱为“[email protected]”。)

这些自然语言请求会被 LLM 客户端转换为 MCP 请求(调用相应的资源或工具),发送给 Odoo MCP 服务器,服务器执行操作并将结果返回给客户端,再由 AI 助手向您呈现。

信息

分类

商业系统