Bitrix24 MCP服务器
用于Bitrix24 CRM的生产就绪模型上下文协议(MCP)服务器,具有HTTP/SSE传输 打开WebUI 兼容性。
特性
- ✅ 32个MCP工具 完成CRM操作
- ✅ HTTP/SSE传输 (兼容开放式WebUI)
- ✅ TypeScript 用于类型安全
- ✅ 铁路部署 准备
- ✅ REST API 与Express
- ✅ 错误处理 详细的回复
- ✅ 速率限制 用于Bitrix24 API
- ✅ 自定义字段映射 (意大利税收制度支持)
可用工具
公司(6种工具)
bitrix_company_list-列出公司bitrix_company_get-按ID获取公司bitrix_company_search-按名称搜索bitrix_company_create-创建公司bitrix_company_update-更新公司bitrix_company_delete-删除公司
联系人(6个工具)
bitrix_contact_list/get/search/create/update/delete
线索(6个工具)
bitrix_lead_list/get/search/create/update/delete
优惠(6工具)
bitrix_deal_list/get/search/create/update/delete
发票(7个工具)
bitrix_invoice_list/get/search/create/update/deletebitrix_invoice_add_products-添加产品行
现场发现(1个工具)
bitrix_fields_get-获取实体字段架构
快速开始
1.安装
npm install2.配置
创建 .env 文件(或复制自 .env.example):
BITRIX_BASE_URL=https://your-domain.bitrix24.com/rest/USER_ID
BITRIX_TOKEN=your_webhook_token
PORT=3000
NODE_ENV=production
ALLOWED_ORIGINS=*3.发展
npm run dev4.建造
npm run build5.生产
npm start6.测试API连通性
npm testAPI终点
| 端点 | 方法 | 描述 |
|---|---|---|
/ | 获取 | API文档 |
/health | GET | 健康检查 |
/mcp/tools | GET | 列出所有可用工具 |
/mcp/tools/:toolName | POST | 执行工具 |
/mcp/sse | GET | SSE流用于Open WebUI |
使用示例
列出工具
curl http://localhost:3000/mcp/tools搜索公司
curl -X POST http://localhost:3000/mcp/tools/bitrix_company_search \
-H "Content-Type: application/json" \
-d '{"query": "Acme"}'创建发票
curl -X POST http://localhost:3000/mcp/tools/bitrix_invoice_create \
-H "Content-Type: application/json" \
-d '{
"title": "FT-2025-001",
"companyId": 123,
"opportunity": 1000,
"products": [
{"productName": "Service", "quantity": 1, "price": 1000}
]
}'打开WebUI集成
添加到打开WebUI工具配置:
{
"name": "Bitrix24 CRM",
"url": "https://your-railway-url.up.railway.app",
"type": "mcp",
"endpoints": {
"tools": "/mcp/tools",
"execute": "/mcp/tools",
"sse": "/mcp/sse"
}
}铁路部署
选项1:从GitHub部署
- 将代码推送到GitHub
- 首选 Railway.app
- 点击“新建项目”→ “从GitHub部署”
- 选择您的存储库
- 添加环境变量:
- BITRIX_BASE_URL - BITRIX_TOKEN - PORT (铁路提供此项服务)
- 部署!
选项2:铁路CLI
# Install Railway CLI
npm install -g @railway/cli
# Login
railway login
# Initialize project
railway init
# Add environment variables
railway variables set BITRIX_BASE_URL=https://...
railway variables set BITRIX_TOKEN=...
# Deploy
railway up您的服务器将在以下位置可用: https://[your-project].up.railway.app
项目结构
bitrix-mcp-server-railway/
├── src/
│ ├── config/ # Configuration management
│ │ └── index.ts # Config & constants
│ ├── lib/ # Core libraries
│ │ └── bitrix-api.ts # Bitrix24 API client
│ ├── tools/ # MCP tools
│ │ ├── company.ts # Company CRUD
│ │ ├── contact.ts # Contact CRUD
│ │ ├── lead.ts # Lead CRUD
│ │ ├── deal.ts # Deal CRUD
│ │ ├── invoice.ts # Invoice CRUD
│ │ ├── fields.ts # Field discovery
│ │ └── index.ts # Tool exports
│ ├── types/ # TypeScript types
│ │ └── index.ts # Type definitions
│ ├── server.ts # HTTP/SSE server
│ ├── index.ts # Entry point
│ └── test.ts # Connectivity test
├── dist/ # Compiled JavaScript
├── .env # Environment variables
├── .gitignore # Git ignore rules
├── tsconfig.json # TypeScript config
├── package.json # Dependencies
├── Procfile # Railway process config
├── railway.json # Railway deployment config
└── README.md # This file自定义字段
此服务器包括意大利税务系统字段的映射:
vat_number→UF_CRM_1708520927917(第四部分)tax_code→UF_CRM_1708520972166(税务编码)pec→UF_CRM_1708521855072(PEC电子邮件)sdi_code→UF_CRM_1708523044307(SDI代码)
错误处理
所有回复均遵循以下格式:
成功:
{
"success": true,
"data": {},
"message": "Operation successful"
}错误:
{
"success": false,
"error": "Error message",
"details": {}
}发展
TypeScript编译
npm run build观看模式
npm run dev类型检查
tsc --noEmit环境变量
| 变量 | 描述 | 必填 | 默认 |
|---|---|---|---|
BITRIX_BASE_URL | Bitrix24 webhook URL | 是 | - |
BITRIX_TOKEN | Webhook令牌 | 是 | - |
PORT | 服务器端口 | 否 | 3000 |
NODE_ENV | 环境 | 否 | 开发 |
ALLOWED_ORIGINS | CORS来源 | 否 | \* |
许可证
麻省理工学院
支持
对于问题和功能请求,请在GitHub存储库中创建问题。
