Token导航 LogoToken导航TokenDH.com
Odoo Claude MCP logo
数据服务未说明官方级别未说明来源级核验

Odoo Claude MCP

MCP Server

一个通过XML-RPC和JSON-RPC连接Odoo数据库的MCP服务器,支持CRUD操作、模块管理和执行管理任务。

工具数

15

提示词数

0

GitHub Stars

0

资源数

0
JavaScriptClaude数据库连接Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

malvernbright

提供方

malvernbright

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP Odoo服务器

一种模型上下文协议(MCP)服务器,用于通过XML-RPC和JSON-RPC连接到Odoo数据库。该服务器使AI助手和其他MCP客户端能够与Odoo数据库交互,执行CRUD操作、管理模块和执行管理任务。

特性

  • 数据库连接:使用主机、数据库名称、用户名和API密钥连接到任何Odoo实例
  • CRUD操作:在任何Odoo模型中创建、读取、更新和删除记录
  • 搜索与查询:具有域过滤器的强大搜索功能
  • 模块管理:安装、卸载和升级Odoo模块
  • 现场检查:获取详细的字段定义和元数据
  • 访问控制:检查用户操作权限
  • 版本信息:获取Odoo服务器版本和功能

安装

  1. 导航到MCP服务器目录:
cd mcp-odoo-server
  1. 安装依赖项:
npm install
  1. 构建TypeScript代码:
npm run build

配置

MCP客户端配置

将此服务器添加到您的MCP客户端配置中(例如,Claude Desktop):

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "odoo": {
      "command": "node",
      "args": [
        "/Users/malvernbright/development/Odoo/odoo-17.0+e.20251121/mcp-odoo-server/build/index.js"
      ]
    }
  }
}

Odoo API密钥

  1. 登录您的Odoo实例
  2. 首选 设置用户和公司用户
  3. 打开您的用户记录
  4. 转到 偏好设置 标签
  5. 点击 新API密钥 按钮
  6. 复制生成的API密钥(您将使用此密钥作为密码)

用法

1.连接Odoo数据库

首先,建立与Odoo数据库的连接:

// Parameters
{
  host: "localhost",           // or "example.odoo.com"
  database: "mydb",
  username: "admin@example.com",
  apiKey: "your-api-key-here",
  port: 8069,                  // optional, default: 8069
  protocol: "http"             // optional, default: "http", can be "https"
}

2.搜索记录

搜索符合特定条件的记录:

// Find all customers named "John"
{
  model: "res.partner",
  domain: [["name", "ilike", "John"], ["customer_rank", ">", 0]],
  limit: 10,
  order: "name ASC"
}

3.搜索和读取记录

在一次通话中获取完整记录数据:

{
  model: "sale.order",
  domain: [["state", "=", "sale"]],
  fields: ["name", "partner_id", "amount_total", "date_order"],
  limit: 20
}

4.阅读具体记录

按ID读取记录:

{
  model: "res.partner",
  ids: [1, 2, 3],
  fields: ["name", "email", "phone"]
}

5.创建记录

创建新记录:

{
  model: "res.partner",
  values: {
    name: "New Customer",
    email: "customer@example.com",
    phone: "+1234567890",
    is_company: true
  }
}

6.更新记录

更新现有记录:

{
  model: "res.partner",
  ids: [123],
  values: {
    phone: "+0987654321",
    street: "123 Main St"
  }
}

7.删除记录

删除记录:

{
  model: "res.partner",
  ids: [123, 456]
}

8.获取字段定义

检查模型字段:

{
  model: "sale.order",
  fields: ["state", "amount_total"],  // empty array for all fields
  attributes: ["string", "type", "required", "help"]
}

9.模块管理

安装模块:

{
  module_name: "sale_management";
}

卸载模块:

{
  module_name: "sale_management";
}

升级模块:

{
  module_name: "sale_management";
}

列出已安装的模块:

{
  limit: 50;
}

可用工具

工具说明
odoo_connect连接到Odoo数据库
odoo_search搜索符合条件的记录ID
odoo_search_read在一次通话中搜索和读取记录
odoo_read按ID读取特定记录
odoo_create创建新记录
odoo_write更新现有记录
odoo_delete删除记录
odoo_fields_get获取模型的字段定义
odoo_execute在模型上执行任何方法(高级)
odoo_version获取Odoo服务器版本信息
odoo_check_access_rights检查用户权限
odoo_get_installed_modules列出已安装的模块
odoo_install_module安装模块
odoo_uninstall_module卸载模块
odoo_upgrade_module升级模块

Odoo域语法

域使用波兰语表示法(前缀表示法),由元组组成:

# Simple conditions
[["field_name", "operator", "value"]]

# Multiple conditions (AND by default)
[["name", "ilike", "John"], ["age", ">", 18]]

# OR operator
["|", ["name", "=", "John"], ["name", "=", "Jane"]]

# NOT operator
["!", ["active", "=", False]]

# Complex example
["|", "&", ["name", "ilike", "John"], ["age", ">", 18], ["vip", "=", True]]

常见操作员

  • = -等于
  • != -不等于
  • > -大于
  • >= -大于或等于
  • < -小于
  • <= -小于或等于
  • like -类似SQL
  • ilike -不区分大小写LIKE
  • in -在列表中
  • not in -不在列表中
  • child_of -(等级)的孩子
  • parent_of -父级(分级)

常见Odoo型号

型号描述
res.partner联系人和公司
res.users用户
sale.order销售订单
purchase.order采购订单
account.move日记账分录(发票)
stock.picking转移/交付
product.product产品(变体)
product.template产品模板
ir.module.module已安装的模块
res.company公司
hr.employee员工

发展

观看模式

对于自动重建的开发:

npm run watch

在开发中运行

npm run dev

故障排除

连接问题

  1. 检查Odoo是否正在运行:确保您的Odoo服务器可访问
  2. 验证凭据:请确保API密钥有效
  3. 检查防火墙:确保端口8069(或您的自定义端口)可访问
  4. 协议:使用 http 为了地方发展, https 用于生产

身份验证错误

  • 验证您的API密钥是否正确
  • 确保用户有足够的权限
  • 检查数据库名称是否正确

模块安装问题

  • 只有具有管理员权限的用户才能安装模块
  • 某些模块具有必须先安装的依赖项
  • 检查Odoo日志以了解详细的错误消息

与odoo.conf集成

虽然此MCP服务器使用XML-RPC进行远程连接,但您的本地 odoo.conf 该文件用于配置Odoo服务器本身。以下是它们如何协同工作:

odoo.conf(用于odoo服务器)

[options]
db_host = localhost
db_port = 5432
db_user = odoo
db_password = your_postgres_password
db_name = False

MCP服务器(用于远程访问)

MCP服务器使用XML-RPC API连接到正在运行的Odoo实例(可能是本地或远程),类似于Odoo网络界面或移动应用程序的连接方式。

安全说明

  • API密钥:从不将API密钥提交到版本控制
  • 访问控制:MCP服务器尊重Odoo的安全规则和访问权限
  • 超文本传输安全协议:在生产环境中始终使用HTTPS
  • 权限:操作受到经过身份验证的用户权限的限制

许可证

麻省理工学院

贡献

欢迎投稿!请随时提交拉取请求。

目录标签

目录标签

JavaScriptClaude数据库连接Odoo集成本地部署CRUD操作模块管理XML-RPCJSON-RPC

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明noneremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP