项目简介
Frontapp MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在使大型语言模型 (LLM) 能够通过标准化的协议与 Frontapp 的 API 进行交互。它允许 LLM 访问 Frontapp 的对话、联系人、标签等数据,并能通过调用工具自动化客户沟通平台的工作流程。此外,它还支持 Frontapp 的实时 Webhook 事件,实现事件驱动的自动化。
主要功能点
- 对话管理: 能够获取、创建、更新和管理 Frontapp 中的客户对话,包括发送消息、添加评论、分配对话和归档对话等。
- 联系人管理: 支持访问、创建和更新 Frontapp 中的客户联系人信息。
- 标签管理: 可以对对话应用或移除标签,便于分类和跟踪。
- 收件箱与团队成员管理: 提供获取收件箱信息和团队成员详情的功能。
- Webhook 集成: 接收和处理来自 Frontapp 的实时事件通知(如新对话、消息接收、对话分配等),支持事件驱动的自动化。
- 安全认证与存储: 内置了 API 认证、Webhook 签名验证、AES-256 加密凭证存储等安全机制。
- HTTPS 支持: 支持 TLS/SSL 加密通信,确保数据传输安全。
安装步骤
- 克隆仓库:
git clone https://github.com/zqushair/Frontapp-MCP.git cd Frontapp-MCP - 安装依赖:
npm install - 配置环境变量:
复制 '.env.example' 文件为 '.env',并编辑 '.env' 文件,填入您的 Frontapp API 凭证('FRONTAPP_API_TOKEN')。
重要: 建议您运行 'npm run generate-key' 命令生成一个持久化的加密密钥,并将其配置到 '.env' 文件中的 'ENCRYPTION_KEY' 变量,以确保凭证的持久性和安全性。如果未配置,服务器将生成一个临时密钥,这会导致重启后无法访问先前存储的凭证。
cp .env.example .env # 编辑 .env 文件,设置 FRONTAPP_API_TOKEN npm run generate-key # 运行此命令生成 ENCRYPTION_KEY,然后将其添加到 .env - 构建并启动服务器:
服务器将默认在标准输入/输出 (stdio) 上运行,准备接受 MCP 客户端的连接。如果配置了 Webhook 和 API Gateway,它们将在指定的端口上启动。npm run build npm start
服务器配置 (MCP 客户端使用)
MCP 客户端需要以下 JSON 格式的配置信息来连接 Frontapp MCP 服务器。请将 'command' 和 'args' 字段配置到您的 MCP 客户端,以启动并连接服务器进程。
{ "name": "frontapp-mcp-server", "description": "连接到Frontapp客户沟通平台的MCP服务器。允许大型语言模型(LLM)访问和管理对话、联系人、标签等Frontapp数据,并自动化工作流程。", "command": "node", "args": ["dist/index.js"] }
- 'name': MCP 服务器的唯一名称,用于在客户端中标识此服务。
- 'description': 对 MCP 服务器功能的简要描述,帮助 LLM 客户端理解其能力。
- 'command': 启动 MCP 服务器进程的可执行文件或命令。通常是 'node'。
- 'args': 传递给 'command' 的参数列表。'dist/index.js' 指向构建后的主服务器文件路径。 注意: 'FRONTAPP_API_TOKEN' 等敏感信息应作为环境变量在运行服务器进程的环境中设置,而非直接写入此 JSON 配置或 'args' 中。
基本使用方法
一旦 Frontapp MCP 服务器成功启动并被 MCP 客户端连接,LLM 就可以通过 MCP 协议调用服务器上注册的工具和访问资源。
- 调用工具: LLM 可以调用如 'list_conversations' 来获取 Frontapp 中的对话列表,或调用 'send_message' 来向指定对话发送消息。
- 访问资源: LLM 可以请求如 'frontapp://conversations/recent' 资源来获取最新更新的对话列表。
- Webhook 响应: 通过配置 Frontapp 的 Webhook,Frontapp 中的实时事件(如新对话创建、消息接收、对话状态更新等)将自动通知 MCP 服务器,从而触发内部逻辑来更新 LLM 的上下文或启动进一步的自动化任务,例如自动分配对话或应用特定标签。
信息
分类
AI与计算