一个混合模型上下文协议(MCP)服务器,使AI助手能够与Odoo ERP系统交互。支持HTTP流式传输(用于网络AI代理)和标准I/O(用于本地AI助手)两种模式。



# 克隆仓库
git clone https://github.com/vzeman/odoo-mcp-server.git
cd odoo-mcp-server
# 复制示例并配置
cp docker-compose.example.yml docker-compose.yml
# 编辑docker-compose.yml文件,填写您的Odoo凭证
# 使用Docker Compose启动服务
docker-compose up -d
# 访问服务器
curl http://localhost:8000/health
# 安装
pip install odoo-mcp-server
# 克隆仓库
git clone https://github.com/vzeman/odoo-mcp-server.git
cd odoo-mcp-server
# 开发模式安装
pip install -e .
在您的Claude桌面配置文件中添加以下内容:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"odoo": {
"command": "python",
"args": ["-m", "mcp_server_odoo"],
"env": {
"ODOO_URL": "https://your-instance.odoo.com",
"ODOO_DB": "your-database",
"ODOO_USERNAME": "your-email@example.com",
"ODOO_API_KEY": "your-api-key"
}
}
}
}
# 克隆仓库
git clone https://github.com/vzeman/odoo-mcp-server.git
cd odoo-mcp-server
# 安装依赖
pip install -e .
# 设置环境变量
export ODOO_URL="https://your-instance.odoo.com"
export ODOO_DB="your-database"
export ODOO_USERNAME="your-email@example.com"
export ODOO_API_KEY="your-api-key"
# 运行HTTP服务器
python -m mcp_server_odoo.http_server
# 运行标准I/O服务器
python -m mcp_server_odoo
此实现允许您将自己的本地MCP服务器暴露给像Flowhunt这样的AI代理,从而实现Odoo业务流程的远程自动化。
下载并安装:
# macOS(使用Homebrew)
brew install ngrok
# 或者直接从 https://ngrok.com/download 下载
注册并获取您的authtoken:
ngrok config add-authtoken YOUR_AUTHTOKEN_HERE
# 使用Docker启动MCP服务器
docker-compose up -d
# 验证本地运行情况
curl http://localhost:8000/health
# 创建到本地MCP服务器的公共隧道
ngrok http http://localhost:8080
# 您会看到类似以下输出:
# Session Status online
# Account your-email@example.com
# Version 3.x.x
# Region United States (us)
# Latency -
# Web Interface http://127.0.0.1:4040
# Forwarding https://abc123.ngrok-free.app -> http://localhost:8000
复制HTTPS URL(例如,https://abc123.ngrok-free.app)——这是您的公共MCP服务器端点。
Flowhunt实施过程:
创建一个带有AI代理的自定义流程:
创建新流程:
添加AI代理组件:
配置MCP服务器连接:
https://abc123.ngrok-free.app测试连接:
“能否列出所有可用的Odoo模型?”
“显示系统中的前5个客户”
“有哪些工具可用于Odoo操作?”
完整的流程设置过程:
客户跟进流程:
触发:每日计划或webhook
↓
AI代理:“查找过去6个月未购买的客户”
↓(使用MCP:search_records)
AI代理:“为每个客户创建跟进任务”
↓(使用MCP:create_record)
输出:电子邮件报告或Slack通知
销售订单自动化:
触发:新的潜在客户资格webhook
↓
AI代理:“检查潜在客户是否合格并准备好销售订单”
↓(使用MCP:search_records, get_record)
AI代理:“创建具有适当产品的销售订单”
↓(使用MCP:create_record)
输出:销售订单确认电子邮件
库存管理流程:
触发:每小时计划
↓
AI代理:“检查所有产品是否有低库存水平”
↓(使用MCP:search_records)
AI代理:“为低于补货点的项目创建采购订单”
↓(使用MCP:create_record)
输出:向采购团队发送采购订单通知
针对Odoo操作的AI代理提示:
# 客户管理
“查找加利福尼亚州总销售额超过10,000美元的所有客户”
# 销售操作
“为客户ID 42创建一个新的销售订单,包含5个产品ID 123的单位”
# 库存跟踪
“查找所有库存数量低于10的产品,并创建采购订单”
# 财务报告
“生成过去30天内所有未支付发票的报告”
# 使用自定义子域以获得一致的URL
ngrok http 8000 --subdomain=my-odoo-mcp
# 结果为:https://my-odoo-mcp.ngrok.io
# 添加基本认证
ngrok http 8000 --basic-auth="username:password"
# 添加自定义头
ngrok http 8000 --request-header-add="X-Custom-Header: value"
# 为不同的服务创建多个隧道
ngrok http 8000 --subdomain=odoo-mcp
ngrok http 3000 --subdomain=odoo-web
对于生产用途,请考虑:
# 使用认证
ngrok http 8000 --basic-auth="admin:secure-password"
# 限制特定IP(如果使用ngrok Pro)
ngrok http 8000 --allow-cidr="192.168.1.0/24"
# 使用自定义域名和SSL
ngrok http 8000 --hostname=your-domain.com
# 查看ngrok Web界面
# 在浏览器中打开 http://127.0.0.1:4040
# 监控请求和响应
# 检查MCP服务器日志
docker-compose logs -f mcp-server
1. ngrok隧道无法工作:
# 检查ngrok是否已认证
ngrok config check
# 验证本地服务器是否正在运行
curl http://localhost:8000/health
# 检查ngrok状态
ngrok status
2. AI代理无法连接:
“有哪些Odoo模型可用?”
“能否搜索客户?”
3. 认证问题:
在Flowhunt仪表板中:
流程结构:
[输入/触发] → [AI代理] → [输出/动作]
↓
[聊天历史记录]
↓
[MCP服务器] ← ngrok URL
AI代理MCP设置:
https://abc123.ngrok-free.app流程示例配置:
流程名称: "Odoo客户管理"
组件:
- 输入:Webhook/API触发
- AI代理:
- 模型:GPT-4或Claude
- MCP服务器:https://abc123.ngrok-free.app
- 聊天历史记录:启用
- 输出:电子邮件通知或webhook响应
import requests
class RemoteOdooMCPClient:
def __init__(self, ngrok_url, auth=None):
self.base_url = ngrok_url.rstrip('/')
self.auth = auth
def call_tool(self, tool_name, **kwargs):
response = requests.post(
f"{self.base_url}/",
json={
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": tool_name,
"arguments": kwargs
}
},
auth=self.auth
)
return response.json()
# 使用
client = RemoteOdooMCPClient("https://abc123.ngrok-free.app")
customers = client.call_tool("search_records", model="res.partner", limit=10)
此设置使您能够通过安全的远程访问实现强大的AI驱动的Odoo业务流程自动化!
我们为客户开发MCP服务器,如果您需要类似于Odoo MCP服务器的自有系统MCP服务器,请联系我们(https://www.flowhunt.io/contact/)。以下是我们的MCP服务器开发描述:https://www.flowhunt.io/services/mcp-server-development/
# 克隆仓库
git clone https://github.com/vzeman/odoo-mcp-server.git
cd odoo-mcp-server
# 复制环境文件并配置
cp .env.example .env
# 编辑.env文件,填写您的Odoo凭证
# 使用Docker Compose启动
docker-compose up -d
pip install odoo-mcp-server
git clone https://github.com/vzeman/odoo-mcp-server.git
cd odoo-mcp-server
pip install -e .
在您的项目目录中创建一个.env文件或设置这些环境变量:
ODOO_URL=https://your-instance.odoo.com
ODOO_DB=your-database-name
ODOO_USERNAME=your-username@example.com
ODOO_API_KEY=your-api-key-here
API密钥:
数据库名称:
用户名:
git clone https://github.com/vzeman/odoo-mcp-server.git
cd odoo-mcp-server
# 复制示例文件
cp docker-compose.example.yml docker-compose.yml
# 编辑docker-compose.yml文件,填写您的Odoo凭证
nano docker-compose.yml
或者直接编辑环境部分:
environment:
- ODOO_URL=https://your-instance.odoo.com
- ODOO_DB=your-database-name
- ODOO_USERNAME=your-username@example.com
- ODOO_API_KEY=your-api-key-here
# 基本部署
docker-compose up -d
# 带有监控堆栈
docker-compose --profile monitoring up -d
# 带有nginx代理
docker-compose --profile proxy up -d
http://localhost:8000/mcp 或 http://localhost:8000/(POST)http://localhost:8000/healthhttp://localhost:8000/docshttp://localhost:8000/(GET)# 安装依赖
pip install -e .
# 设置环境变量
export ODOO_URL="https://your-instance.odoo.com"
export ODOO_DB="your-database"
export ODOO_USERNAME="your-email@example.com"
export ODOO_API_KEY="your-api-key"
# 运行HTTP服务器
python -m mcp_server_odoo
服务器完全兼容MCP服务器检查器。使用以下连接设置:
http://localhost:8000POSTapplication/json/(根端点)服务器自动处理根端点上的GET(服务器信息)和POST(MCP协议)请求。
使用