YT MCP Odoo服务器
Python MCP(模型上下文协议)客户端,使Claude、Cursor和VS Code Copilot等AI助手能够与您的Odoo ERP系统进行交互。
特性
- 🔍 搜索和阅读 -用自然语言查询任何Odoo模型
- ✏️ 创建和更新 -通过AI创建和修改记录
- 🗑️ 删除 -删除记录(具有适当权限)
- 📊 批量操作 -一次创建/更新多条记录
- 🔢 计数和浏览 -计数记录或按特定ID获取
- 📝 提示模板 -常见任务的预定义提示
- 🔐 安全 -具有Odoo用户权限的API密钥身份验证
安装
方案1:地方发展(推荐)
# Navigate to the mcp_client directory
cd /path/to/yt_mcp_server/mcp_client
# Install in development mode
pip install -e .
# Or using uv
uv pip install -e .选项2:直接从路径
# Install directly from local path
pip install /path/to/yt_mcp_server/mcp_client选项3:无需安装即可运行
# Run directly with Python
cd /path/to/yt_mcp_server/mcp_client
python -m yt_mcp_server_odoo______________________________________________________________________
配置
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
ODOO_URL | 是的 | http://localhost:8069 | 您的Odoo实例URL |
ODOO_API_KEY | 是 | - | MCP服务器模块的API密钥 |
ODOO_DB | 否 | 自动检测 | 数据库名称 |
ODOO_USER | 否 | - | 用户名(API密钥的替代项) |
ODOO_PASSWORD | 否 | - | 密码(API密钥的替代项) |
MCP_TRANSPORT | 没有 | stdio | 运输: stdio 或 streamable-http |
MCP_HOST | 没有 | localhost | HTTP传输主机 |
MCP_PORT | 没有 | 8000 | HTTP传输端口 |
DEFAULT_LIMIT | 没有 | 10 | 每个查询的默认记录 |
MAX_LIMIT | 没有 | 100 | 每次查询的最大记录数 |
MAX_SMART_FIELDS | 没有 | 25 | 智能选择的最大字段数 |
ODOO_YOLO | 没有 | off | YOLO模式: off, read, true |
______________________________________________________________________
IDE安装指南
克劳德桌面版
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ 窗户: %APPDATA%\Claude\claude_desktop_config.json\ Linux: ~/.config/Claude/claude_desktop_config.json
选项A:使用已安装的软件包
{
"mcpServers": {
"odoo": {
"command": "python",
"args": ["-m", "yt_mcp_server_odoo"],
"env": {
"ODOO_URL": "https://your-odoo.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database"
}
}
}
}选项B:直接使用本地路径
{
"mcpServers": {
"odoo": {
"command": "python",
"args": ["/path/to/yt_mcp_server/mcp_client/src/yt_mcp_server_odoo/__main__.py"],
"env": {
"ODOO_URL": "https://your-odoo.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database"
}
}
}
}光标
地点: ~/.cursor/mcp.json
{
"mcpServers": {
"odoo": {
"command": "python",
"args": ["-m", "yt_mcp_server_odoo"],
"env": {
"ODOO_URL": "https://your-odoo.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database"
}
}
}
}VS代码(带副本/继续)
地点: .vscode/mcp.json 在您的工作区或 ~/.vscode/mcp.json 全球范围内
{
"servers": {
"odoo": {
"command": "python",
"args": ["-m", "yt_mcp_server_odoo"],
"env": {
"ODOO_URL": "https://your-odoo.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database"
}
}
}
}帆板运动
地点: ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"odoo": {
"command": "python",
"args": ["-m", "yt_mcp_server_odoo"],
"env": {
"ODOO_URL": "https://your-odoo.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database"
}
}
}
}泽德
地点: ~/.config/zed/settings.json
{
"context_servers": {
"odoo": {
"command": {
"path": "python",
"args": ["-m", "yt_mcp_server_odoo"],
"env": {
"ODOO_URL": "https://your-odoo.com",
"ODOO_API_KEY": "your-api-key-here",
"ODOO_DB": "your-database"
}
}
}
}
}自定义/程序化
from yt_mcp_server_odoo import OdooMCPServer
from yt_mcp_server_odoo.config import OdooConfig
config = OdooConfig(
odoo_url="https://your-odoo.com",
odoo_api_key="your-api-key",
odoo_db="your-database"
)
server = OdooMCPServer(config)
server.run()______________________________________________________________________
可用的MCP工具
| 工具 | 说明 |
|---|---|
list_models | 列出所有启用MCP的Odoo型号 |
search_records | 使用域筛选器搜索记录 |
get_record | 按ID获取单个记录 |
create_record | 创建新记录 |
update_record | 更新现有记录 |
delete_record | 删除记录 |
count_records | 统计与域匹配的记录 |
browse_records | 按ID获取多条记录 |
create_bulk | 一次创建多条记录 |
update_bulk | 更新具有不同值的多个记录 |
list_prompts | 列出可用的提示模板 |
______________________________________________________________________
使用示例
配置后,询问您的AI助手:
"Show me all customers from Spain"
"Create a new contact named John Doe at Acme Corp"
"Find unpaid invoices from last month over $1000"
"Update the phone number for partner ID 42"
"How many products do we have in stock?"
"Delete the draft quotation SO0123"______________________________________________________________________
YOLO模式(开发)
对于开发/测试,启用YOLO模式以绕过MCP模型限制:
{
"env": {
"ODOO_YOLO": "read"
}
}| 模式 | 效果 |
|---|---|
off | 正常-仅可访问配置的型号 |
read | 无需MCP配置即可读取任何型号 |
true | 完全访问所有型号(危险!) |
⚠️ 警告: YOLO模式绕过MCP限制,但仍然尊重Odoo用户权限。
______________________________________________________________________
获取API密钥
- 首选 设置>MCP服务器 在奥多
- 点击 管理API密钥
- 为用户创建新的API密钥
- 复制密钥(仅显示一次!)
______________________________________________________________________
故障排除
连接失败
- 检查
ODOO_URL可访问 - 确保安装并启用了MCP服务器模块
- 验证API密钥是否有效
未找到型号
- 确保在中启用了模型 MCP服务器>已启用的型号
- 检查是否应启用YOLO模式进行开发
权限不足
- 验证API关键用户是否有权访问模型
- 检查模型权限(读/写/创建/删除)
______________________________________________________________________
许可证
LGPL-3.0
