Odoo MCP统一服务器🚀
统一Odoo模型上下文协议(MCP)服务器 具有双传输支持(stdio+SSE)、增强的业务工具和类型安全配置管理。
✨ 特性
🔌 双重运输支持
- 标准:用于Claude Desktop集成
- 上海证券交易所:用于web部署(Zeabur、Railway等)- 无需超级网关!
🛠️ 全套工具(17+工具)
核心工具(3)
execute_method-执行任何Odoo方法(最强大)search_employee-搜索员工search_holidays-搜索假期/休息时间
销售工具(3)
search_sales_orders-搜索销售订单create_sales_order-创建新的销售订单analyze_sales_performance-用趋势分析销售业绩
购买工具(3)
search_purchase_orders-搜索采购订单create_purchase_order-创建新的采购订单analyze_supplier_performance-分析供应商准时交货
库存工具(2)
get_stock_levels-获取当前库存水平predict_stock_needs-预测未来的库存需求
会计工具(2)
get_financial_summary-获取财务概览analyze_receivables-分析应收账款
📦 资源(4)
odoo://models-列出所有可用型号odoo://model/{model_name}-获取型号信息odoo://record/{model_name}/{record_id}-获取具体记录odoo://search/{model_name}/{domain}-搜索记录
⚙️ 配置管理
- Pydantic的类型安全配置
- 支持环境变量和JSON配置
- 启动验证
🚀 快速开始
适用于克劳德桌面(stdio模式)
- 安装
cd E:\gitHub\odoo-mcp-unified
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
pip install -e .- 配置 -添加到Claude桌面配置(
%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"odoo-unified": {
"command": "E:\\gitHub\\odoo-mcp-unified\\venv\\Scripts\\python.exe",
"args": ["E:\\gitHub\\odoo-mcp-unified\\run_server.py"],
"env": {
"ODOO_URL": "https://alpha-goods-corporation.odoo.com",
"ODOO_DB": "alpha-goods-corporation",
"ODOO_USERNAME": "your-username",
"ODOO_PASSWORD": "your-password",
"MCP_TRANSPORT": "stdio"
}
}
}
}- 重新启动克劳德桌面
用于Zeabur部署(SSE模式)
- 将GitHub仓库连接到Zeabur
- 设置环境变量:
ODOO_URL=https://your-company.odoo.com
ODOO_DB=your-database
ODOO_USERNAME=your-username
ODOO_PASSWORD=your-password
MCP_TRANSPORT=sse
PORT=8000- 部署 -Zeabur将自动:
- 使用Dockerfile构建 - 暴露SSE端点 /sse - 无需超级网关!
📋 环境变量
必需
ODOO_URL-Odoo实例URLODOO_DB-数据库名称ODOO_USERNAME-用户名ODOO_PASSWORD-密码
可选的
MCP_TRANSPORT-运输方式:stdio或sse(默认值:stdio)ODOO_TIMEOUT-请求超时(秒)(默认值:60)ODOO_VERIFY_SSL-验证SSL证书(默认值:false)PORT-SSE模式的服务器端口(默认值:8000)HOST-SSE模式的服务器主机(默认值:0.0.0.0)LOG_LEVEL-日志记录级别(默认值:INFO)
📖 用法示例
执行任何Odoo方法
# Get product.product records
execute_method(
model="product.product",
method="search_read",
args=[],
kwargs={"fields": ["name", "list_price"], "limit": 10}
)分析销售业绩
analyze_sales_performance(
params={
"start_date": "2024-01-01",
"end_date": "2024-12-31",
"group_by": "month"
}
)检查供应商绩效
analyze_supplier_performance(
params={
"supplier_id": 123,
"start_date": "2024-01-01",
"end_date": "2024-12-31"
}
)🏗️ 项目结构
odoo-mcp-unified/
├── src/odoo_mcp/
│ ├── __init__.py
│ ├── __main__.py
│ ├── server.py # Main MCP server
│ ├── config.py # 🆕 Configuration management
│ ├── odoo_client.py # Odoo XML-RPC client
│ ├── extensions.py # Extension registration
│ ├── models.py # Pydantic models
│ ├── prompts.py # MCP prompts
│ ├── resources.py # MCP resources
│ ├── tools_sales.py # Sales tools
│ ├── tools_purchase.py # Purchase tools
│ ├── tools_inventory.py # Inventory tools
│ └── tools_accounting.py # Accounting tools
├── run_server.py # 🆕 Unified server runner (stdio + SSE)
├── requirements.txt # Fixed FastMCP version
├── pyproject.toml
├── Dockerfile # 🆕 Zeabur-ready
└── README.md🔧 发展
运行测试
pytest tests/在本地运行服务器(stdio)
export ODOO_URL=https://your-company.odoo.com
export ODOO_DB=your-database
export ODOO_USERNAME=your-username
export ODOO_PASSWORD=your-password
python run_server.py在本地运行服务器(SSE)
export MCP_TRANSPORT=sse
export PORT=8000
python run_server.py
# Access: http://localhost:8000/sse🐛 故障排除
✅ 使用最新稳定版本
该项目使用 最新稳定版本 快速MCP(>=0.7.0)和MCP(>=1.0.0):
- 现代FastMCP API,无弃用参数
- 增强的性能和稳定性
- 最新功能和改进
SSL证书错误
如果您看到SSL错误:
export ODOO_VERIFY_SSL=false连接超时
增加超时时间:
export ODOO_TIMEOUT=120📦 v2.0中的新增功能
🆕 与odoo-mcp相比有所改善
- ✅ SSE传输支持(无超级网关的Zeabur部署)
- ✅ 统一的config.py模块(类型安全配置)
- ✅ 单代码库中的双传输模式
- ✅ 增强文档
🆕 与mcp-odoo相比
- ✅ 所有基本功能(execute_method、资源)
- ✅ 12+附加业务工具
- ✅ 扩展系统
- ✅ SSE支持
- ✅ 更好的错误处理
📄 许可证
MIT许可证
🤝 贡献
欢迎投稿!请打开问题或PR。
🔗 链接
______________________________________________________________________
由...制作❤️ 阿尔法商品公司
