这是一个用于集成大型语言模型(LLMs)与 Frontapp 客户沟通平台的 Model Context Protocol (MCP) 服务器。
该项目实现了一个 MCP 服务器,作为 LLMs 和 Frontapp API 之间的桥梁。它使 LLMs 能够访问和操作 Frontapp 数据(如对话、联系人、标签等),并通过自然语言命令自动化 Frontapp 工作流程。
该服务器支持使用来自 Frontapp 的 webhook 实现实时更新和事件驱动的自动化。
MCP 服务器遵循模块化架构:
要通过 Smithery 自动安装 frontapp-mcp 到 Claude Desktop:
npx -y @smithery/cli install @zqushair/frontapp-mcp --client claude
详细的安装说明,请参阅 安装指南。
快速开始:
克隆仓库:
git clone https://github.com/zqushair/Frontapp-MCP.git
cd Frontapp-MCP
安装依赖项:
npm install
创建并配置 .env 文件:
cp .env.example .env
# 使用您的 Frontapp API 凭据编辑 .env 文件
构建并启动项目:
npm run build
npm start
完整的文档位于 /docs 目录中:
Frontapp MCP 集成提供了一组可以通过 MCP 协议由 LLMs 调用的工具。有关可用工具及其参数的详细信息,请参阅 API 参考。
项目包含一个 TypeScript 客户端库 (src/frontapp-mcp-client.ts),LLMs 可以使用它来与 MCP 服务器交互:
import { FrontappMcpClient } from './frontapp-mcp-client.js';
// 创建客户端实例
const client = new FrontappM_ McpClient('http://localhost:3000');
// 获取对话列表
const conversations = await client.getConversations({ status: 'open' });
// 向对话发送消息
await client.sendMessage('cnv_123', '你好,今天我能帮你做什么?');
客户端库提供了:
完整的客户端使用示例可以在 src/examples/client-usage-example.ts 中找到。
集成支持接收并处理来自 Frontapp 的 webhook 以实现实时事件通知。有关 webhook 集成的详细信息,请参阅 Webhook 集成指南。
有关详细的开发信息,请参阅 开发指南。
# 启动带有热重载的开发服务器
npm run dev
# 运行测试
npm run test:api
npm run test:conversations
npm run test:tags
npm run test:contacts
npm run test:webhooks
# 校验和格式化代码
npm run lint
npm run format
# 为生产构建
npm run build
# 不编译检查 TypeScript 类型
npm run typecheck
项目包含一个 Dockerfile 用于容器化部署。这个多阶段构建过程创建了一个优化的生产镜像。
# 构建 Docker 镜像
docker build -t frontapp-mcp .
# 运行 Docker 容器
docker run -p 3000:3000 --env-file .env frontapp-mcp
如果在 Docker 构建过程中遇到 TypeScript 错误,需要先修复这些错误才能成功构建。常见的问题包括:
始终在本地运行 npm run typecheck 或 npm run build 来尽早捕获并修复这些问题。
npm run generate-keynpm run generate-cert本项目根据 MIT 许可证发布 - 详情请参阅 LICENSE 文件。
欢迎贡献!请参阅 开发指南 了解如何贡献于项目。