ERP数据接口服务

Odoo MCP Server是一个将Odoo ERP数据和安全操作作为工具暴露给AI代理的服务器,适用于Cursor、Claude Desktop等MCP客户端。

  • by PetrStichauer
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 PetrStichauer/odoo-mcp-server-2026-02-27

使用说明

Odoo MCP服务器

A. 模型上下文协议 该服务器公开Odoo ERP数据和操作,作为Cursor、Claude Desktop和其他MCP客户端中AI代理的工具。

作者 彼得 Stichauer

为什么是这个服务器?

该服务器提供具有安全默认值的类型化MCP工具,而不是教导代理原始Odoo XML-RPC:连接配置文件、只读模式、结果限制和经过净化的错误消息。只需最少的设置,即可将您的代理指向客户、项目、任务或任何Odoo模型。

特性

类别 工具
连接 list_connections, test_connection
伙伴 search_partners, get_partner
项目和任务 get_project, search_tasks, create_task
通用读取 search_records, read_record, list_models

所有工具都接受可选 connection 多实例设置的参数。

快速启动

git clone https://github.com/PetrStichauer/odoo-mcp-server.git
cd odoo-mcp-server
pip install -e .

# Interactive setup (stores API key locally with secure permissions)
odoo-mcp-server configure

# Verify authentication
odoo-mcp-server test

# Run the MCP server (stdio)
odoo-mcp-server

获取Odoo API密钥

  1. 登录您的Odoo实例
  2. 打开您的用户配置文件→ 首选项/帐户安全
  3. 在...之下 API密钥,创建一个新密钥并复制它
  4. 使用具有最低权限访问的专用Odoo用户

配置

命名连接配置文件(推荐)

配置文件存储在 ~/.config/odoo-mcp-server/connections.json (模式 0600,目录 0700).

# Add or update a profile
odoo-mcp-server configure

# List profiles (no secrets shown)
odoo-mcp-server configure --list

# Test a specific profile
odoo-mcp-server test --connection staging

启动服务器时设置活动配置文件:

export ODOO_CONNECTION=production
odoo-mcp-server

覆盖配置文件路径:

export ODOO_MCP_CONFIG=/path/to/connections.json

环境变量(CI/单连接)

将所有四个变量设置为使用隐式 "env" 连接(覆盖配置文件):

ODOO_URL=https://your-odoo-instance.com
ODOO_DB=your_database_name
ODOO_USER=your_username
ODOO_API_KEY=your_api_key

看 .env.example 适用于所有选项,包括 ODOO_READONLY.

只读模式

块写入工具(create_task,未来写入)用于只读代理:

export ODOO_READONLY=true

MCP客户端设置

光标

添加 .cursor/mcp.json (参见 examples/cursor-mcp.json):

{
  "mcpServers": {
    "odoo": {
      "command": "odoo-mcp-server",
      "env": {
        "ODOO_CONNECTION": "production"
      }
    }
  }
}

多个Odoo实例: 添加另一个具有不同名称的条目,然后 ODOO_CONNECTION value--相同的安装,不同的配置文件。

克劳德桌面

添加 ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上(请参阅 examples/claude_desktop_config.json):

{
  "mcpServers": {
    "odoo": {
      "command": "odoo-mcp-server",
      "env": {
        "ODOO_CONNECTION": "production"
      }
    }
  }
}

工具参考

连接工具

  • list_connections --配置文件名称、活动/默认连接、URL(无凭据)
  • test_connection --验证并返回服务器版本信息

合作伙伴工具

  • search_partners --按姓名、电子邮件、公司标志筛选
  • get_partner --按ID列出的完整合作伙伴详细信息

项目和任务工具

  • get_project --按ID列出的项目详细信息
  • search_tasks --按项目、用户、状态、优先级筛选
  • create_task --创建任务(在以下情况下被阻止 ODOO_READONLY=true)

通用读取工具

  • search_records — search_read 在任何具有域、字段、限制(最大100)、顺序的模型上
  • read_record --按ID读取一条记录
  • list_models --从中列出非瞬态模型 ir.model

所有搜索工具都强制执行最大值 100条记录 和 20个领域条款.

Odoo兼容性

针对Odoo进行测试 16/17/18社区 通过XML-RPC。

注: project.task 受让人字段在较新版本中已更改(user_ids vs遗产 user_id).此服务器使用 user_ids 奥多17+。

发展

pip install -e ".[dev]"
ruff check src/ tests/
pytest

看 贡献.md 获取拉取请求指南。

安全

  • 永不承诺 .env 或API密钥-请参阅 安全.md
  • 配置文件在本地以明文存储API密钥(MCP的标准);在共享计算机上使用env变量
  • 使用最低权限Odoo用户和 ODOO_READONLY 当代理不应写入数据时

许可证

麻省理工学院——见 许可证版权所有©2026 Petr Stichauer。