跳转至

连接与发现

在对一个新实例进行操作之前,先识别它的版本、版本类型和部署方式。兼容层会用 这些数据来解析模型名和字段名,因此你几乎从不需要为每个版本分叉你的查询。

1. 识别环境

调用 odoo_version。它会返回:

  • version — 主版本整数(10–19)
  • raw_version — Odoo 报告的完整版本字符串
  • editioncommunity | enterprise | unknown
  • deploymentonprem | saas
  • transport — 当前生效的传输方式(auto 模式下为 jsonrpc,或在一次回退后为 xmlrpc

2. 使用 /odoo-doctor 进行健康检查

/odoo-doctor 命令会进行一次完整诊断,且不写入任何内容:

  1. 调用 odoo_version 并报告 版本 / 版本类型 / 部署方式 / 传输方式。
  2. 调用 odoo_connections 并列出活动会话。
  3. 进行一次受限的读取测试: odoo_search_read { "model": "res.partner", "fields": ["name"], "limit": 1 }
  4. 如果某个步骤失败,它会指出确切的错误,并引导你去 /odoo-tools:odoo-setup-mcp(或 odoo-setup-cli)。

3. 探索模式

每个实例都不同。在查询你不了解的字段之前:

  • odoo_list_models — 列出已安装的模型,可选择按名称片段(like)过滤。
  • odoo_fields_get — 返回一个模型的字段定义(带缓存)。它接受历史名称 或现代名称;兼容层会解析到正确的那个。
  • odoo_module_info — 按技术名称获取一个模块的安装状态和元数据 (用于了解某个 Enterprise 模块是否存在)。

示例:发现联系人的字段

odoo_fields_get {
  "model": "res.partner",
  "attributes": ["string", "type", "required"]
}

4. 选择正确的接口

  • 如果 uvx 或 Python 3.11+ 可用 → MCP 服务器(所有工具 + 兼容层)。
  • 如果你只有 Node → 备用 CLI(参见 备用 CLI)。

继续阅读 工具参考