项目简介

Frontapp MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在使大型语言模型 (LLM) 能够通过标准化的协议与 Frontapp 的 API 进行交互。它允许 LLM 访问 Frontapp 的对话、联系人、标签等数据,并能通过调用工具自动化客户沟通平台的工作流程。此外,它还支持 Frontapp 的实时 Webhook 事件,实现事件驱动的自动化。

主要功能点

  • 对话管理: 能够获取、创建、更新和管理 Frontapp 中的客户对话,包括发送消息、添加评论、分配对话和归档对话等。
  • 联系人管理: 支持访问、创建和更新 Frontapp 中的客户联系人信息。
  • 标签管理: 可以对对话应用或移除标签,便于分类和跟踪。
  • 收件箱与团队成员管理: 提供获取收件箱信息和团队成员详情的功能。
  • Webhook 集成: 接收和处理来自 Frontapp 的实时事件通知(如新对话、消息接收、对话分配等),支持事件驱动的自动化。
  • 安全认证与存储: 内置了 API 认证、Webhook 签名验证、AES-256 加密凭证存储等安全机制。
  • HTTPS 支持: 支持 TLS/SSL 加密通信,确保数据传输安全。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/zqushair/Frontapp-MCP.git
    cd Frontapp-MCP
  2. 安装依赖:
    npm install
  3. 配置环境变量: 复制 '.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
  4. 构建并启动服务器:
    npm run build
    npm start
    服务器将默认在标准输入/输出 (stdio) 上运行,准备接受 MCP 客户端的连接。如果配置了 Webhook 和 API Gateway,它们将在指定的端口上启动。

服务器配置 (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与计算