使用说明

项目简介

Odoo MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在连接 AI 助手和 Odoo ERP 系统。它允许 AI 助手通过标准化的 MCP 协议,安全、便捷地访问 Odoo 系统中的数据和功能,从而实现更智能的业务流程自动化和信息交互。

主要功能点

  • 全面的 Odoo 集成: 提供对 Odoo 模型的完整访问能力,包括模型数据和业务方法。
  • 资源 (Resources): 通过 URI 模式 ('odoo://...') 访问 Odoo 系统数据,例如模型列表、模型信息、记录数据和搜索结果。
  • 工具 (Tools): 提供一系列预定义的工具,例如 'search_records', 'read_record', 'create_record', 'update_record', 'delete_record', 'execute_method', 'get_model_fields',允许 AI 助手执行 Odoo 的数据查询、创建、更新、删除以及方法调用等操作。
  • XML-RPC 通信: 使用 XML-RPC 协议与 Odoo 实例进行安全通信。
  • 灵活配置: 支持通过配置文件 ('odoo_config.json') 或环境变量进行 Odoo 连接配置。

安装步骤

  1. 安装 Python 包: 确保您的系统已安装 Python 和 pip。然后,执行以下命令安装 'odoo-mcp' 包:
    pip install odoo-mcp

服务器配置

MCP 服务器需要配置 Odoo 实例的连接信息。您可以通过以下两种方式进行配置:

方式一:配置文件 ('odoo_config.json')

  1. 在服务器运行目录或用户Home目录下创建 'odoo_config.json' 文件。
  2. 编辑 'odoo_config.json' 文件,填入您的 Odoo 连接信息。例如:
    {
      "url": "您的Odoo实例URL (例如: https://your-odoo-instance.com)",
      "db": "您的数据库名称",
      "username": "您的Odoo用户名",
      "password": "您的Odoo密码或API密钥"
    }
    注意: 请将 '"您的Odoo实例URL"', '"您的数据库名称"', '"您的Odoo用户名"', '"您的Odoo密码或API密钥"' 替换为您的实际 Odoo 连接信息。

方式二:环境变量

您可以通过设置以下环境变量来配置 Odoo 连接信息:

  • 'ODOO_URL': 您的 Odoo 服务器 URL。
  • 'ODOO_DB': 数据库名称。
  • 'ODOO_USERNAME': 登录用户名。
  • 'ODOO_PASSWORD': 密码或 API 密钥。
  • 'ODOO_TIMEOUT' (可选): 连接超时时间,单位为秒,默认 30 秒。
  • 'ODOO_VERIFY_SSL' (可选): 是否验证 SSL 证书,'true' 或 'false',默认为 'true'。

MCP 客户端配置

MCP 客户端需要配置连接 Odoo MCP 服务器的启动命令。以下是针对不同部署方式的 MCP 客户端配置示例 (JSON 格式):

1. Python 包方式 (直接运行 'odoo-mcp' 命令)

{
  "mcpServers": {
    "odoo": {
      "command": "odoo-mcp",
      "args": []
    }
  }
}
  • 'command': 启动服务器的命令,这里直接使用安装后可用的 'odoo-mcp' 命令。
  • 'args': 启动参数,本例中无需额外参数。
  • 注意: 确保运行 MCP 客户端的环境能够访问到 'odoo-mcp' 命令 (即 'odoo-mcp' 命令已添加到系统 PATH 环境变量中,或者在同一Python虚拟环境中)。同时,Odoo 连接信息需要通过环境变量或配置文件配置在 服务器运行环境 中。

2. Docker 方式 (使用 Docker 镜像 'mcp/odoo')

{
  "mcpServers": {
    "odoo": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "ODOO_URL",
        "-e", "ODOO_DB",
        "-e", "ODOO_USERNAME",
        "-e", "ODOO_PASSWORD",
        "mcp/odoo"
      ]
    }
  }
}
  • 'command': 使用 'docker' 命令运行容器。
  • 'args': Docker 运行参数,包括 '-i' (保持STDIN打开), '--rm' (容器退出后自动删除), '-e' (设置环境变量) 以及 Docker 镜像名称 'mcp/odoo'。
  • 注意: 您需要预先构建或拉取 'mcp/odoo' Docker 镜像。 Odoo 连接信息通过 '-e' 参数以环境变量的形式传递给 Docker 容器。 请确保在 MCP 客户端的配置 中设置正确的 Odoo 连接环境变量,以便 Docker 容器内的服务器能够正确连接到您的 Odoo 实例。

基本使用方法

  1. 启动 Odoo MCP 服务器 (根据您选择的部署方式)。
  2. 在 MCP 客户端中配置 Odoo MCP 服务器的连接信息 (如上述 服务器配置 中的 MCP 客户端配置示例)。
  3. 使用 MCP 客户端向 Odoo MCP 服务器发送请求,例如:
    • 资源访问: 使用 'odoo://models' 获取 Odoo 模型列表,使用 'odoo://model/res.partner' 获取 'res.partner' 模型的详细信息。
    • 工具调用: 调用 'search_records' 工具搜索 'res.partner' 模型的记录,例如:
      {
        "tool_call": {
          "tool_name": "search_records",
          "parameters": {
            "model": "res.partner",
            "domain": "[[\"is_company\", \"=\", true]]",
            "fields": ["name", "email"]
          }
        }
      }
      请参考 'README.md' 文件中 ToolsResources 部分获取更详细的工具和资源信息以及参数说明。

信息

分类

商业系统