关于 Aidoo for Odoo
aidoo-mcp 是通过 Aidoo 将 MCP 客户端连接到 Odoo 的 stdio 桥接程序。助手可按 Aidoo API 密钥的权限查询和修改记录,Odoo 凭据则保留在 Aidoo。
主要功能
- 01将 MCP 消息转发至托管的 Aidoo 服务
- 02查询、创建和更新 Odoo 记录
- 03遵循 API 密钥关联的权限
- 04提供 Python 和 Node.js 版本
- 05检查配置并列出可用工具
适用场景
- 01查找 Odoo 中待处理的报价
- 02在 Odoo 中创建联系人
- 03生成发票 PDF
- 04将仅支持 stdio 的客户端连接至 Aidoo
MCP 相关
该桥接程序通过 stdio 连接 MCP 客户端,并经 HTTPS 接入 Aidoo 的托管 MCP 服务;它转发协议消息而不改写内容,再由 Aidoo 连接 Odoo。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.aidoo.ai/mcpclaude mcp add --transport http ai-aidoo-aidoo https://mcp.aidoo.ai/mcp{"mcpServers":{"ai-aidoo-aidoo":{"type":"http","url":"https://mcp.aidoo.ai/mcp"}}}在 Cursor 中打开{"servers":{"ai-aidoo-aidoo":{"type":"http","url":"https://mcp.aidoo.ai/mcp"}}}在 VS Code 中打开{"mcpServers":{"ai-aidoo-aidoo":{"type":"http","url":"https://mcp.aidoo.ai/mcp"}}}{"mcpServers":{"ai-aidoo-aidoo":{"serverUrl":"https://mcp.aidoo.ai/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.aidoo.ai/mcphttps://mcp.aidoo.ai/sse工具
详细介绍
aidoo-mcp
通过 Aidoo 将任意 MCP 客户端连接到你的 Odoo ERP。
aidoo-mcp 是一个轻量级的 stdio 桥接程序。它接收 Aidoo API 密钥,与托管的 Aidoo MCP 服务建立经过身份验证的会话,并双向转发 Model Context Protocol 消息。随后,你的助手便可以使用自然语言查询、创建和更新 Odoo 记录,且操作权限由该密钥决定。
为什么需要桥接程序
Aidoo MCP 服务托管在 https://mcp.aidoo.ai。支持通过 OAuth 或自定义标头连接远程服务的客户端可以直接访问,无需安装任何内容。许多 MCP 客户端仍然只支持 stdio,或者无法设置 Authorization 标头。这个桥接程序正是为了解决这一问题:只需一条命令,无需本地服务,机器上也无需保存 Odoo 凭据。
MCP client <--stdio--> aidoo-mcp <--HTTPS--> Aidoo <--XML-RPC--> Odoo
桥接程序是透明的。它绝不会改写负载,因此 Aidoo 一旦推出新工具,工作区中就能立即使用,无需在此更新。
要求
- Python 3.10+(或 Node.js 18+,请参阅下文的 Node 构建)
- 一个已连接 Odoo 的 Aidoo 账户
- 一个以
aid_live_开头的 Aidoo API 密钥,可在工作区的 API 密钥页面创建
安装
使用 uv 运行,无需安装任何内容:
uvx aidoo-mcp --check
也可以安装:
pipx install aidoo-mcp
# or
pip install aidoo-mcp
更倾向于使用 Node 而非 Python?npm/ 目录提供了相同的桥接程序,可通过 npx 运行,无需依赖 Python:
npx aidoo-mcp --check
检查设置
export AIDOO_API_KEY=aid_live_your_key_here
aidoo-mcp --check
此命令会验证端点是否响应、执行 MCP 握手,并列出你的密钥获准使用的工具:
[aidoo-mcp] https://mcp.aidoo.ai/health is reachable
[aidoo-mcp] authenticated with https://mcp.aidoo.ai/mcp (transport=http, key=aid_live_...cdef)
[aidoo-mcp] 8 tools available: aidoo_context, aidoo_create, aidoo_print, aidoo_query, ...
配置客户端
Claude Desktop
macOS 上的路径为 ~/Library/Application Support/Claude/claude_desktop_config.json,
Windows 上的路径为 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"aidoo": {
"command": "uvx",
"args": ["aidoo-mcp"],
"env": { "AIDOO_API_KEY": "aid_live_your_key_here" }
}
}
}
Cursor
~/.cursor/mcp.json:
{
"mcpServers": {
"aidoo": {
"command": "uvx",
"args": ["aidoo-mcp"],
"env": { "AIDOO_API_KEY": "aid_live_your_key_here" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json,使用与 Cursor 相同的配置块。
VS Code
工作区中的 .vscode/mcp.json:
{
"servers": {
"aidoo": {
"type": "stdio",
"command": "uvx",
"args": ["aidoo-mcp"],
"env": { "AIDOO_API_KEY": "aid_live_your_key_here" }
}
}
}
其他 stdio 客户端
将其指向 aidoo-mcp 可执行文件,并通过环境变量传入密钥。如果客户端无法设置环境变量,则改用标志:
aidoo-mcp --api-key aid_live_your_key_here
Cursor、Windsurf 以及任何支持自定义标头的客户端,也可以完全绕过桥接程序,直接访问 https://mcp.aidoo.ai/sse,并设置 Authorization 标头。请参阅 Aidoo 文档。
使用方法
aidoo-mcp [--api-key KEY] [--url URL] [--transport {http,sse}]
[--timeout SECONDS] [--retries N] [--check] [--quiet]
| 选项 | 环境变量 | 默认值 |
|---|---|---|
--api-key | AIDOO_API_KEY | 必填 |
--url | AIDOO_MCP_URL | https://mcp.aidoo.ai/mcp |
--transport | AIDOO_MCP_TRANSPORT | 根据 URL 路径推断 |
--timeout | AIDOO_MCP_TIMEOUT | 60 |
--retries | 3 |
日志会输出到 stderr,因此不会干扰 stdout 上的协议流。退出代码 2 表示配置问题,1 表示无法建立连接。
向助手提问
List the five quotations I sent last week that are still pending.
Create a contact for Martin Dupont at Dupont SA, [email protected].
Generate the PDF of invoice INV/2026/0042.
安全
- 密钥从环境变量或命令行读取,并通过 HTTPS 作为 bearer token 发送。所有日志行都会对其进行屏蔽。
- Odoo 凭据保存在 Aidoo 中。桥接程序既看不到这些凭据,也不会与 Odoo 通信。
- 每个密钥都有各自的权限,每次调用都会遵循关联用户的 Odoo 访问规则。只授予助手所需的权限。
- 每人使用一个密钥,切勿共用密钥;如有疑虑,请从控制面板撤销密钥。
- 请私下报告漏洞:参见 SECURITY.md。
故障排除
No API key found AIDOO_API_KEY 变量未传递到进程。客户端配置文件通常会忽略你的 shell 配置文件,因此请在上文所示的 env 块中设置密钥。
握手失败,返回 401 密钥已被撤销,或其 MCP 权限已停用。请在工作区的 API 密钥页面检查密钥。
工具列表比预期短 工具权限取决于密钥的权限。授予缺少的权限,然后重启客户端。
客户端中没有任何反应 编辑配置后,请完全重启客户端,然后查看其 MCP 日志。运行 aidoo-mcp --check,几秒钟内即可判断问题出在你这边还是我们这边。
公司网络阻止了连接 桥接程序需要通过端口 443 向 mcp.aidoo.ai 发起出站 HTTPS 连接。如果中间代理无法正确处理可流式传输的 HTTP,请尝试使用 --transport sse。
开发
uv sync
uv run pytest
uv run ruff check .
uv run ruff format --check .
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。