raoulbia-ai
服务介绍
MCP Server for Intercom
一个符合MCP标准的服务器,使AI助手能够访问和分析来自Intercom的客户支持数据。
功能
- 使用高级过滤功能搜索对话和工单
- 按客户、状态、日期范围和关键词进行过滤
- 即使没有联系人存在,也可以通过电子邮件内容进行搜索
- 通过Intercom的搜索API进行高效的服务器端过滤
- 与符合MCP标准的AI助手无缝集成
安装
前提条件
- Node.js 18.0.0或更高版本
- 具有API访问权限的Intercom账户
- 您的Intercom API令牌(可在您的Intercom账户设置中找到)
快速设置
使用NPM
bash
全局安装包
npm install -g mcp-server-for-intercom
设置您的Intercom API令牌
export INTERCOM_ACCESS_TOKEN="your_token_here"
运行服务器
intercom-mcp
使用Docker
默认的Docker配置针对Glama兼容性进行了优化:
bash
启动Docker(如果尚未运行)
在Windows上:启动Docker Desktop应用程序
在Linux上:sudo systemctl start docker
构建镜像
docker build -t mcp-intercom .
使用您的API令牌和端口映射运行容器
docker run --rm -it -p 3000:3000 -p 8080:8080 -e INTERCOM_ACCESS_TOKEN="your_token_here" mcp-intercom:latest
验证步骤:
bash
测试服务器状态
curl -v http://localhost:8080/.well-known/glama.json
测试MCP端点
curl -X POST -H "Content-Type: application/json" -d {"jsonrpc":"2.0","id":1,"method":"mcp.capabilities"} http://localhost:3000
替代的标准版本
如果您更喜欢不包含Glama特定依赖项的轻量级版本:
bash
构建标准镜像
docker build -t mcp-intercom-standard -f Dockerfile.standard .
运行标准容器
docker run --rm -it -p 3000:3000 -p 8080:8080 -e INTERCOM_ACCESS_TOKEN="your_token_here" mcp-intercom-standard:latest
默认版本包括与Glama平台集成所需的特定依赖项和配置,而标准版本则更为轻量。
可用的MCP工具
1. list_conversations
检索指定日期范围内并带有内容过滤的所有对话。
参数:
startDate(DD/MM/YYYY) – 开始日期(必填)endDate(DD/MM/YYYY) – 结束日期(必填)keyword(string) – 包含具有此文本的对话exclude(string) – 排除具有此文本的对话
注意事项:
- 日期范围不得超过7天
- 通过Intercom的搜索API使用高效的服务器端过滤
示例:
json
{
"startDate": "15/01/2025",
"endDate": "21/01/2025",
"keyword": "billing"
}
2. search_conversations_by_customer
查找特定客户的对话。
参数:
customerIdentifier(string) – 客户电子邮件或Intercom ID(必填)startDate(DD/MM/YYYY) – 可选开始日期endDate(DD/MM/YYYY) – 可选结束日期keywords(array) – 可选关键词以按内容过滤
注意事项:- 即使没有联系人存在,也可以通过电子邮件内容查找对话
- 将电子邮件解析为联系人ID以便高效搜索
示例:
json
{
"customerIdentifier": "customer@example.com",
"startDate": "15/01/2025",
"endDate": "21/01/2025",
"keywords": ["billing", "refund"]
}
3. search_tickets_by_status
根据状态检索工单。
参数:
status(字符串) – "open", "pending" 或 "resolved"(必填)startDate(DD/MM/YYYY) – 可选的开始日期endDate(DD/MM/YYYY) – 可选的结束日期
示例:
json
{
"status": "open",
"startDate": "15/01/2025",
"endDate": "21/01/2025"
}
4. search_tickets_by_customer
查找与特定客户相关的工单。
参数:
customerIdentifier(字符串) – 客户电子邮件或Intercom ID(必填)startDate(DD/MM/YYYY) – 可选的开始日期endDate(DD/MM/YYYY) – 可选的结束日期
示例:
json
{
"customerIdentifier": "customer@example.com",
"startDate": "15/01/2025",
"endDate": "21/01/2025"
}
与Claude Desktop配置
在您的claude_desktop_config.json中添加以下内容:
json
{
"mcpServers": {
"intercom-mcp": {
"command": "intercom-mcp",
"args": [],
"env": {
"INTERCOM_ACCESS_TOKEN": "your_intercom_api_token"
}
}
}
}
实现说明
有关此服务器如何与Intercom API集成的详细技术信息,请参阅src/services/INTERCOM_API_NOTES.md。该文档解释了我们的参数映射、Intercom端点使用情况以及开发人员的实现细节。
开发
bash
克隆并安装依赖项
git clone https://github.com/raoulbia-ai/mcp-server-for-intercom.git
cd mcp-server-for-intercom
npm install
构建并运行开发环境
npm run build
npm run dev
运行测试
npm test
免责声明
该项目是一个独立的集成项目,与Intercom Inc.无关,也未得到其官方认可。“Intercom”是Intercom Inc.的注册商标。
许可证
本项目根据Apache License 2.0许可发布 - 详情请参阅LICENSE文件。