Odoo CRM MCP服务器
一种用于分析Odoo CRM数据的模型上下文协议(MCP)服务器,具有智能上下文管理功能。设计用于与桌面Claude和 基于浏览器的Claude.ai.
特性
情境感知设计
此MCP服务器专门设计用于处理大型CRM数据集,而不会淹没Claude的上下文窗口:
- 智能分页:默认限制为10条记录,每次请求最多50条
- 聚合工具:返回统计数据而不是原始数据的摘要和分析工具
- 灵活过滤:在获取之前缩小结果范围
- 格式选项:JSON用于处理,Markdown用于可读性
可用工具
| 工具 | 目的 | 上下文效率 |
|---|---|---|
odoo_crm_get_sales_analytics | 关键绩效指标、转化率、收入分析 | ⭐⭐⭐ 最高汇总统计数据 |
odoo_crm_get_pipeline_summary | 按阶段划分的管道概述 | ⭐⭐⭐ 高分组摘要 |
odoo_crm_get_activity_summary | 活动工作量概述 | ⭐⭐⭐ 高聚合计数 |
odoo_crm_list_stages | 获取阶段ID以进行筛选 | ⭐⭐⭐ 最少的数据 |
odoo_crm_search_leads | 使用分页搜索/筛选潜在客户 | ⭐⭐ 中等-分页 |
odoo_crm_search_contacts | 按页码搜索联系人 | ⭐⭐ 中等-分页 |
odoo_crm_get_lead_detail | 单线索的完整细节 | ⭐ 单一记录 |
推荐的分析工作流程
- 从分析开始:使用
odoo_crm_get_sales_analytics整体情况 - 检查管路:使用
odoo_crm_get_pipeline_summary了解阶段分布 - 向下钻取:使用
odoo_crm_search_leads使用过滤器查找特定机会 - 获取详细信息:使用
odoo_crm_get_lead_detail用于个人记录
安装
# Clone or copy the server files
cd odoo-crm-mcp-server
# Install dependencies
npm install
# Build TypeScript
npm run build配置
设置这些环境变量:
export ODOO_URL="https://your-odoo-instance.com"
export ODOO_DB="your_database_name"
export ODOO_USERNAME="your_username"
export ODOO_PASSWORD="your_password_or_api_key"运行服务器
用于桌面克劳德/克劳德代码(stdio传输)
# Default - runs on stdio
npm start
# Or explicitly
TRANSPORT=stdio npm start添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在Mac上):
{
"mcpServers": {
"odoo-crm": {
"command": "node",
"args": ["/path/to/odoo-crm-mcp-server/dist/index.js"],
"env": {
"ODOO_URL": "https://your-odoo.com",
"ODOO_DB": "your_db",
"ODOO_USERNAME": "admin",
"ODOO_PASSWORD": "your_password"
}
}
}
}适用于浏览器Claude.ai(HTTP传输)⭐
要与基于浏览器的Claude.ai一起使用,您需要使用HTTP传输运行服务器,并使其可通过HTTPS访问。
选项1:本地与ngrok(快速测试)
# Terminal 1: Start the server
TRANSPORT=http PORT=3000 npm start
# Terminal 2: Expose via ngrok
ngrok http 3000然后通过设置添加到Claude.ai→ 集成→ 添加MCP服务器:
- 网址:
https://your-ngrok-url.ngrok.io/mcp
选项2:部署到云端(生产)
部署到Railway/Render/Fly.io:
# Example with Railway
railway init
railway up
# Set environment variables in Railway dashboard:
# TRANSPORT=http
# PORT=3000
# ODOO_URL, ODOO_DB, ODOO_USERNAME, ODOO_PASSWORD使用Docker进行部署:
FROM node:20-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY dist ./dist
ENV TRANSPORT=http
ENV PORT=3000
EXPOSE 3000
CMD ["node", "dist/index.js"]docker build -t odoo-crm-mcp .
docker run -p 3000:3000 \
-e ODOO_URL=https://your-odoo.com \
-e ODOO_DB=your_db \
-e ODOO_USERNAME=admin \
-e ODOO_PASSWORD=your_password \
odoo-crm-mcp选项3:使用Cloudflare Workers(无服务器)
对于无服务器部署,您需要调整代码以使用Cloudflare Workers格式。联系寻求帮助。
添加到浏览器Claude.ai
- 首选 claude.ai
- 点击您的个人资料→ 设置→ 集成
- 点击“添加MCP服务器”(或类似)
- 请输入您的服务器URL:
https://your-server.com/mcp - 保存并测试
使用示例
获得整体性能
"Show me our CRM performance analytics"
→ Claude uses odoo_crm_get_sales_analytics管道概述
"What does our pipeline look like by stage?"
→ Claude uses odoo_crm_get_pipeline_summary寻找具体机会
"Find opportunities over $50,000 in the negotiation stage"
→ Claude uses odoo_crm_search_leads with filters检查活动
"Are there any overdue activities?"
→ Claude uses odoo_crm_get_activity_summary工具参考
odoo_crm_get_sales_analytics
获取全面的KPI和指标。
参数:
date_from:开始日期(YYYY-MM-DD)date_to:结束日期(YYYY-MM-DD)team_id:按销售团队筛选include_by_salesperson:包括按代表细分(默认值:true)top_opportunities_count:要显示的顶部opp数量(0-10,默认值:5)
odoo_crm_get_pipeline_summary
按阶段获取聚合管道。
参数:
team_id:按销售团队筛选user_id:按销售人员筛选include_lost:包括失去的机会max_opps_per_stage:每个阶段的最高机会(0-10,默认值:3)
odoo_crm_search_leads
使用过滤器和分页搜索潜在客户。
参数:
query:搜索文本(姓名、联系人、电子邮件)stage_id/stage_name:按阶段过滤user_id:按销售人员筛选type:“领导”或“机会”min_revenue/max_revenue:收入范围min_probability:最小概率date_from/date_to:创建日期范围limit:每页结果数(默认值:10,最大值:50)offset:分页偏移
odoo_crm_get_lead_detail
获取单个潜在客户的完整详细信息。
参数:
lead_id:潜在客户/机会的ID
odoo_crm_search_contacts
搜索联系人/合作伙伴。
参数:
query:搜索文本is_company:筛选公司与个人has_opportunities:仅与机会接触country/city:位置过滤器
odoo_crm_get_活动_总结
获取活动工作量摘要。
参数:
user_id:按指定用户筛选days_ahead:即将到来的天数(默认值:7)include_completed:包括已完成的活动
odoo_crm_list_stages
列出所有带有ID的管道阶段。
安全说明
- 从不将凭据提交到版本控制
- 使用环境变量或机密管理
- 对于生产环境,在HTTP端点上实施适当的身份验证
- 考虑MCP服务器的IP白名单
故障排除
“身份验证失败”
- 验证ODO_URL、ODO_DB、ODO_用户名、ODO_PASSWORD
- 确保用户在Odoo中具有CRM访问权限
- 检查Odoo是否使用API密钥与密码
“连接被拒绝”
- 验证Odoo URL是否正确且可访问
- 检查防火墙/网络设置
- 确保Odoo的XML-RPC接口已启用
Claude.ai中“找不到工具”
- 验证服务器是否正在使用TRANSPORT=http运行
- 检查/health端点是否返回正常
- 确保配置了HTTPS(浏览器Claude.ai需要)
许可证
麻省理工学院
