ERP连接服务

Odoo MCP Server是一个通过XML-RPC连接Claude(或任何MCP客户端)到Odoo ERP实例的服务器,提供通用CRUD操作、模型自省和预构建工具。

  • by M0hamedM0sad
  • Python
  • 混合部署
  • 2 星标
  • 更新于
在 GitHub 查看 M0hamedM0sad/odoo-mcp-server

使用说明

Odoo MCP服务器

A. 模型上下文协议(MCP) 通过XML-RPC将Claude(或任何MCP客户端)连接到Odoo ERP实例的服务器。

特性

  • 通用CRUD: search_read, read, create, update, delete 适用于任何Odoo车型
  • 模式自省: fields_get 发现模型字段
  • 预构建工具 对于常见操作:
    • 合作伙伴/联系人
    • 发票和账单
    • 销售订单
    • 采购订单
    • 产品
    • 日记账分录
    • 库存/存货
  • 多个传输: stdio (克劳德代码), sse,以及 streamable-http (克劳德聊天)

快速开始

1.安装依赖项

pip install -r requirements.txt

2.设置环境变量

export ODOO_URL=https://your-instance.odoo.com
export ODOO_DB=your-database-name
export ODOO_USER=your-email@example.com
export ODOO_PASSWORD=your-api-key-or-password

3.运行服务器

对于克劳德代码(stdio):

python server.py

对于Claude Chat/远程客户端(SSE):

python server.py --transport sse --port 8081

对于Claude Chat/远程客户端(流式HTTP):

python server.py --transport streamable-http --port 8081

Claude代码集成

添加到您的Claude Code MCP设置中:

{
  "mcpServers": {
    "odoo": {
      "command": "python",
      "args": ["path/to/server.py"],
      "env": {
        "ODOO_URL": "https://your-instance.odoo.com",
        "ODOO_DB": "your-database",
        "ODOO_USER": "your-email@example.com",
        "ODOO_PASSWORD": "your-password"
      }
    }
  }
}

Claude聊天集成

  1. 部署到云主机(Render、Railway等)
  2. 在主机上设置环境变量
  3. 使用 --transport sse 或 --transport streamable-http
  4. 在Claude Chat设置中添加公共URL作为自定义连接器

部署到渲染(单击一下)

在Render上设置这些环境变量:

  • ODOO_URL
  • ODOO_DB
  • ODOO_USER
  • ODOO_PASSWORD
  • MCP_AUTH_TOKEN (可选--启用承载令牌身份验证)

认证

设置 MCP_AUTH_TOKEN 启用承载令牌身份验证的环境变量。设置后,所有HTTP请求必须包括:

Authorization: Bearer <your-token>

接收没有有效令牌的请求 401 Unauthorized.何时 MCP_AUTH_TOKEN 如果未设置,服务器将在没有身份验证的情况下运行(适用于本地/stdio使用)。

可用工具

工具 说明
odoo_search_read 从任何模型中搜索和读取记录
odoo_read 按ID读取特定记录
odoo_create 创建新记录
odoo_update 更新现有记录
odoo_delete 删除记录
odoo_count 统计与域匹配的记录
odoo_fields_get 获取模型的字段定义
odoo_list_models 列出可用的Odoo型号
odoo_list_partners 列出联系人/合作伙伴
odoo_create_partner 创建新联系人
odoo_list_invoices 列出发票/账单
odoo_list_journal_entries 列出日记账条目
odoo_get_journal_items 获取日记账分录行项目
odoo_list_sales_orders 列出销售订单
odoo_get_sale_order_lines 获取销售订单行项目
odoo_list_purchase_orders 列出采购订单
odoo_list_products 列出产品
odoo_stock_quants 获取当前库存水平
odoo_server_version 获取Odoo服务器版本

许可证

麻省理工学院