使用说明
CRM MCP服务器
一个模型上下文协议(MCP)服务器,用于通过SendGrid集成Google表格、日历预约和电子邮件通知进行客户关系管理。
✓ 完全支持MCP协议 -与OpenAI Agent Builder和Claude Desktop配合使用
特性
- 谷歌表格CRM:存储和管理客户服务记录
- 日历集成:安排预约和管理预订
- 电子邮件通知:通过SendGrid发送预约确认和提醒
- MCP协议:用于OpenAI Agent Builder的具有HTTP/SSE传输的本地MCP服务器
- 标准运输:用于Claude Desktop的传统MCP服务器
快速开始
1.安装依赖项
npm install
2.设置Google表格凭据
请遵循中的详细说明 google_cred/README.md 致:
- 创建Google Cloud项目
- 启用Google Sheets API
- 创建服务帐户并下载凭据
- 将凭据放入
google_cred/credentials.json - 使用服务帐户电子邮件共享您的电子表格
3.配置环境变量
复制示例环境文件:
cp .env.example .env
编辑 .env 使用您的凭据:
# Google Sheets (Required)
GOOGLE_SHEETS_CREDENTIALS_PATH=./google_cred/credentials.json
GOOGLE_SHEETS_SPREADSHEET_ID=your_spreadsheet_id_here
# Calendly (Optional)
CALENDLY_API_TOKEN=your_calendly_api_token
CALENDLY_ORGANIZATION_URI=https://api.calendly.com/organizations/your_org_id
# SendGrid Email (Optional)
SENDGRID_API_KEY=your_sendgrid_api_key
SENDGRID_FROM_EMAIL=noreply@yourdomain.com
SENDGRID_FROM_NAME=CRM Support
# REST API Configuration
REST_API_PORT=3000
REST_API_KEY=your-secret-api-key-here
4.建设项目
npm run build
用法
适用于OpenAI代理生成器(MCP协议)
这是将此服务器与OpenAI一起使用的推荐方式。
启动MCP服务器:
npm run start:mcp
服务器将在上运行 http://localhost:3100/mcp 默认情况下。
配置OpenAI代理生成器:
- 在OpenAI Agent Builder中,添加一个新操作
- 选择“连接到MCP服务器”
- 输入服务器URL:
http://localhost:3100/mcp - OpenAI将通过MCP协议自动发现所有可用工具
验证它是否正常工作:
- 健康检查:
http://localhost:3100/health - 当OpenAI连接时,服务器日志将显示“会话已初始化”
- OpenAI Agent Builder应列出所有工具(谷歌表格、日历、电子邮件)
将提供哪些工具?
- 所有Google表格CRM工具(如果已配置)
- 所有日历约会工具(如果已配置)
- 所有SendGrid电子邮件工具(如果已配置)
适用于MCP客户端(Claude Desktop)
启动MCP服务器:
npm start
添加到您的Claude Desktop配置(claude_desktop_config.json):
{
"mcpServers": {
"crm-server": {
"command": "node",
"args": ["/path/to/crm_mcp_server/dist/index.js"],
"env": {
"MCP_SERVER_TYPE": "all",
"GOOGLE_SHEETS_CREDENTIALS_PATH": "/path/to/credentials.json",
"GOOGLE_SHEETS_SPREADSHEET_ID": "your_spreadsheet_id"
}
}
}
}
可用工具
谷歌表格工具
initialize_sheet-设置带有标题的工作表(运行一次)add_customer_record-添加新的客户支持票get_customer_record-按ID检索特定记录update_customer_record-更新现有记录search_customer_records-按电子邮件、姓名、状态或优先级搜索list_all_customers-获取所有客户记录
日历工具
list_event_types-列出可用的预约类型get_event_type-获取事件类型的详细信息get_scheduling_link-获取客户预订链接list_scheduled_events-查看已安排的约会get_event_invitee-获取受邀者详细信息cancel_event-取消预约
电子邮件工具
send_appointment_confirmation-发送预约确认电子邮件send_appointment_reminder-发送预约提醒send_custom_email-发送自定义电子邮件
如何选择正确的服务器模式
使用 npm run start:mcp (端口3100)- 推荐
- ✓ OpenAI代理生成器
- ✓ 使用HTTP/SSE传输实现正确的MCP协议
- ✓ OpenAI可以自动发现所有工具
- ✓ 本地MCP通信
使用 npm start (stdio)
- ✓ 适用于克劳德桌面
- ✓ 使用stdio传输
- ✓ 添加到claude_desktop_config json
使用 npm run start:api (端口3000)- 已弃用
- ✗ REST API包装器(不是真正的MCP协议)
- ✗ 不适用于OpenAI Agent Builder
- ✗ 仅适用于传统兼容性
API身份验证
如果你设置 REST_API_KEY 在 .env,将其包含在所有请求中:
curl -H "x-api-key: your-api-key" http://localhost:3000/api/tools
或者通过离开来禁用身份验证 REST_API_KEY 空的。
项目结构
crm_mcp_server/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── rest-api.ts # REST API server
│ ├── mcp-bridge.ts # MCP to REST adapter
│ ├── sheets-server.ts # Google Sheets integration
│ ├── calendly-server.ts # Calendly integration
│ ├── email-server.ts # Email notifications
│ └── types.ts # TypeScript interfaces
├── google_cred/
│ └── README.md # Google credentials setup guide
├── openai-api-spec.yaml # OpenAPI spec for OpenAI agents
├── .env.example # Environment template
└── README.md # This file
故障排除
Google表格权限被拒绝
- 确保电子表格与服务帐户电子邮件共享
- 检查一下
credentials.json路径正确
API身份验证失败
- 验证
REST_API_KEY比赛在.env以及请求标头 - 或删除
REST_API_KEY禁用身份验证
服务器无法启动
- 跑
npm install确保所有依赖项都已安装 - 检查是否设置了所有必需的环境变量
- 验证指定路径上是否存在凭据文件
安全说明
- 永不承诺
.env或credentials.json到版本控制 - 在生产中使用强大的API密钥
- 部署到生产环境时启用HTTPS
- 定期轮换API令牌
许可证
麻省理工学院