连接与发现¶
在对一个新实例进行操作之前,先识别它的版本、版本类型和部署方式。兼容层会用 这些数据来解析模型名和字段名,因此你几乎从不需要为每个版本分叉你的查询。
1. 识别环境¶
调用 odoo_version。它会返回:
version— 主版本整数(10–19)raw_version— Odoo 报告的完整版本字符串edition—community|enterprise|unknowndeployment—onprem|saastransport— 当前生效的传输方式(auto 模式下为jsonrpc,或在一次回退后为xmlrpc)
2. 使用 /odoo-doctor 进行健康检查¶
/odoo-doctor 命令会进行一次完整诊断,且不写入任何内容:
- 调用
odoo_version并报告 版本 / 版本类型 / 部署方式 / 传输方式。 - 调用
odoo_connections并列出活动会话。 - 进行一次受限的读取测试:
odoo_search_read { "model": "res.partner", "fields": ["name"], "limit": 1 }。 - 如果某个步骤失败,它会指出确切的错误,并引导你去
/odoo-tools:odoo-setup-mcp(或odoo-setup-cli)。
3. 探索模式¶
每个实例都不同。在查询你不了解的字段之前:
odoo_list_models— 列出已安装的模型,可选择按名称片段(like)过滤。odoo_fields_get— 返回一个模型的字段定义(带缓存)。它接受历史名称 或现代名称;兼容层会解析到正确的那个。odoo_module_info— 按技术名称获取一个模块的安装状态和元数据 (用于了解某个 Enterprise 模块是否存在)。
示例:发现联系人的字段¶
4. 选择正确的接口¶
- 如果
uvx或 Python 3.11+ 可用 → MCP 服务器(所有工具 + 兼容层)。 - 如果你只有 Node → 备用 CLI(参见 备用 CLI)。
继续阅读 工具参考。