mcpField
O
odoo-surface-mcp

odoo-surface-mcp

本地服务
github.com/solutionsunity商业与营销24 周前更新

关于 odoo-surface-mcp

odoo-surface-mcp 将 Odoo 的用户界面权限映射为 MCP 工具,供 AI Agent 在授权范围内读取和操作数据。它还提供分层发现、规划与工作流指引。

主要功能

  1. 01按用户权限限定操作范围
  2. 02发现模型、字段和可用操作
  3. 03读取、搜索及分组记录
  4. 04创建、更新并执行记录操作
  5. 05管理网页、附件和翻译
  6. 06提供技能与工作流指引

适用场景

  1. 01检索并更新 Odoo 业务记录
  2. 02根据当前记录状态执行操作
  3. 03创建或调整网站页面
  4. 04管理附件及翻译内容

MCP 相关

作为 MCP 服务,向兼容客户端暴露 Odoo 的发现、查询和操作工具;权限受认证用户在 Odoo 中的访问范围约束。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"solutionsunity-odoo-surface": {
"command": "npx",
"args": [
"-y",
"@suco/odoo-surface-mcp"
],
"env": {
"ODOO_URL": "<ODOO_URL>",
"ODOO_DB": "<ODOO_DB>",
"ODOO_USERNAME": "<ODOO_USERNAME>",
"ODOO_PASSWORD": "<ODOO_PASSWORD>"
}
}
}
}
启动命令npx -y @suco/odoo-surface-mcp
需要配置的环境变量
ODOO_URLOdoo instance URL (e.g. https://myodoo.com)
ODOO_DBOdoo database name
ODOO_USERNAMEOdoo login username
ODOO_PASSWORD密钥Odoo login password

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@suco/odoo-surface-mcp0.6.1

工具

36

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

README 配图 OdooSurface MCP

npm version Node Odoo License: Apache 2.0 Downloads

为 AI Agent 提供与用户等同的 Odoo 访问权限——仅限已认证用户在浏览器中能够执行的操作,不多也不少。

前置条件

  • Node.js 18+(自带 npx,无需额外安装)
  • 正在运行的 Odoo 实例(15.0+,CE 或 EE)——各版本中每个调用的行为:docs/compatibility.md
  • 兼容 MCP 的客户端(VS Code、Claude Desktop、Claude Code、Cursor 等)

配置 MCP 客户端

将以下内容添加到 MCP 客户端配置中(例如 Claude Desktop 的 claude_desktop_config.json):

{
  "mcpServers": {
    "odoo-surface": {
      "command": "npx",
      "args": ["-y", "@suco/odoo-surface-mcp@latest"],
      "env": {
        "ODOO_URL": "http://localhost:8069",
        "ODOO_DB": "your_database",
        "ODOO_USER": "admin",
        "ODOO_PASSWORD": "admin"
      }
    }
  }
}

保存后重启 MCP 客户端。npx 会自动下载并运行此软件包,无需其他安装步骤。

身份验证

选项 A — .env 文件(避免在 MCP 配置中存放凭据)

无需将凭据写入 MCP 客户端 JSON,可在运行 MCP 的目录中创建 .env 文件:

ODOO_URL=http://localhost:8069
ODOO_DB=your_database
ODOO_USER=admin
ODOO_PASSWORD=your_password

从 MCP 客户端配置中移除 env 区块,系统会自动加载 .env 文件。

选项 B — API Key(推荐,不存储密码)

从 Odoo 14+ 开始,用户可以生成个人 API 密钥,用作密码的替代品。 每位用户都需在自己的账户中生成密钥——管理员端没有对应的菜单。

  1. 以 MCP 将要使用的用户身份登录
  2. 点击用户头像(右上角)→ Preferences
  3. 转到 Account Security 标签页
  4. 在 API Keys 下,点击 New API Key
  5. 根据提示输入密码,为密钥命名,然后复制生成的密钥
  6. 将其用作 ODOO_PASSWORD——实际账户密码不会被存储
ODOO_URL=http://localhost:8069
ODOO_DB=your_database
ODOO_USER=admin
ODOO_PASSWORD=your_api_key_here

无需更改账户密码,即可在同一界面单独撤销 API 密钥。

高级配置

多个 Odoo 实例

技术用户通常需要使用多个 Odoo 实例(本地开发、预发布、生产)。 每个实例在 MCP 配置中都有自己的命名条目——它们作为独立进程运行, 凭据完全隔离。AI 客户端会将它们显示为独立的工具命名空间。

{
  "mcpServers": {
    "odoo-local": {
      "command": "npx",
      "args": ["-y", "@suco/odoo-surface-mcp@latest"],
      "env": {
        "ODOO_URL": "http://localhost:8069",
        "ODOO_DB": "dev",
        "ODOO_USER": "admin",
        "ODOO_PASSWORD": "dev_api_key"
      }
    },
    "odoo-production": {
      "command": "npx",
      "args": ["-y", "@suco/odoo-surface-mcp@latest"],
      "env": {
        "ODOO_URL": "https://mycompany.odoo.com",
        "ODOO_DB": "prod",
        "ODOO_USER": "admin",
        "ODOO_PASSWORD": "prod_api_key"
      }
    }
  }
}

注意: .env 文件方式(选项 A)不适用于多实例配置——两个 进程会共享同一工作目录,并加载相同的文件。请在每个条目中使用 env 区块。

调试模式

注册其他工具:ping、echo、inspect_view、inspect_action、inspect_fields、dump_cache、clear_cache、restart_mcp。

"args": ["-y", "@suco/odoo-surface-mcp@latest", "--debug"]

工具

层级工具
指引list_skills、get_skills、find_skill、list_workflows、get_workflows
探索get_models、get_model_actions、get_model_interface
规划get_available_actions
支持list_records、get_record、search_records、read_group、get_fields、get_defaults、get_filters、list_pages、get_page_arch、list_snippets、get_snippet、list_attachments、download_binary、fetch_and_upload、translation_get、translation_update、translation_audit
意图create、update、execute_action、archive、post_message、schedule_activity、create_page、set_page_arch、set_page_visibility、upload_binary

架构

核心约束

Agent 只能执行经过身份验证的用户在其浏览器中能够执行的操作。范围受限于用户的菜单、视图和 ACL,不得超出。工具动词表达功能意图(发布、确认),而非原始 ORM 操作。发现过程采用惰性方式:Agent 只解析当前提示词所需的内容。

分层工具界面
层级作用调用时机
0 — 指引Agent 在执行任何多步骤操作前查阅的权威方案(技能、工作流)。纯文档,不产生副作用。规划前
1 — 发现确定当前用户可访问的模型范围及可达关系。解析意图时
2 — 规划桥接回答“此刻这条特定记录上有哪些可执行操作”——感知记录状态的操作。确定记录后
3 — 辅助只读数据获取工具,在后台运行,用于补全 Agent 计划中的信息缺口。贯穿规划过程
4 — 意图执行用户请求的变更操作——受限于用户在 UI 中的权限。最终执行
规划循环
User prompt
  ├── Discovery       — what models/relations does this user have?
  ├── (optional)      — locate the specific record
  ├── Planning Bridge — what is live on that record right now?
  ├── Guidance        — consult skills/workflows for multi-step recipes
  └── Intent          — execute the mutation(s)

技能和工作流以带有 YAML frontmatter 的 Markdown 编写,存放在 skills/ 和 workflows/ 中;运行时会将其作为第 0 层工具公开。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。