Skip to main content
Glama
zqushair
by zqushair

Frontapp MCP 服务器

铁匠徽章

用于将大型语言模型 (LLM) 与 Frontapp 的客户通信平台集成的模型上下文协议 (MCP) 服务器。

📚 在 /docs 查看完整文档

概述

该项目实现了一个 MCP 服务器,作为 LLM 和 Frontapp API 之间的桥梁。它使 LLM 能够访问和操作 Frontapp 数据(对话、联系人、标签等),并使用自然语言命令自动化 Frontapp 工作流程。

该服务器支持使用 Frontapp 的 webhook 进行实时更新和事件驱动的自动化。

Related MCP server: OpenAPI MCP Server

特征

  • 对话管理:检索、创建、更新和管理对话

  • 联系人管理:访问和更新联系信息

  • 标签管理:在对话中应用和删除标签

  • 收件箱管理:访问收件箱信息

  • 用户管理:检索用户详细信息

  • Webhook 集成:接收并处理来自 Frontapp 的实时事件

  • 安全身份验证:验证 webhook 签名并处理 API 身份验证

  • 安全凭证存储:使用 AES-256 加密存储敏感信息

  • HTTPS 支持:通过 TLS/SSL 加密实现安全通信

建筑学

MCP 服务器遵循模块化架构:

  1. API 网关:处理来自 LLM 和 Frontapp 的 webhook 的传入请求

  2. 请求处理程序:处理来自 LLM 的请求并与 Frontapp API 交互

  3. Webhook Handlers :处理来自 Frontapp 的 webhook 并更新 LLM 上下文

  4. Frontapp API 客户端:封装与 Frontapp API 交互的逻辑

  5. 数据模型:定义 LLM、MCP 服务器和 Frontapp 之间交换的数据结构

  6. 配置:存储 MCP 服务器的设置

先决条件

  • Node.js(v16 或更高版本)

  • npm 或 yarn

  • Frontapp API 凭证

  • 可公开访问的 webhook URL(用于生产用途)

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 frontapp-mcp:

npx -y @smithery/cli install @zqushair/frontapp-mcp --client claude

有关详细的安装说明,请参阅安装指南

快速入门:

  1. 克隆存储库:

    git clone https://github.com/zqushair/Frontapp-MCP.git cd Frontapp-MCP
  2. 安装依赖项:

    npm install
  3. 创建并配置.env文件:

    cp .env.example .env # Edit the .env file with your Frontapp API credentials
  4. 构建并启动项目:

    npm run build npm start

文档

/docs目录中提供了全面的文档:

用法

API 使用

Frontapp MCP 集成提供了一组可供 LLM 通过 MCP 协议调用的工具。有关可用工具及其参数的详细信息,请参阅API 参考

客户端库

该项目包含一个 TypeScript 客户端库( src/frontapp-mcp-client.ts ),LLM 可以使用它来与 MCP 服务器进行交互:

import { FrontappMcpClient } from './frontapp-mcp-client.js'; // Create a client instance const client = new FrontappMcpClient('http://localhost:3000'); // Get a list of conversations const conversations = await client.getConversations({ status: 'open' }); // Send a message to a conversation await client.sendMessage('cnv_123', 'Hello, how can I help you today?');

客户端库提供:

  • 所有可用工具的类型安全方法

  • 使用自定义错误处理程序进行错误处理

  • 使用指数退避算法重试逻辑

  • 全面的 TypeScript 接口

src/examples/client-usage-example.ts中提供了客户端使用的完整示例。

Webhook 集成

该集成支持接收和处理来自 Frontapp 的 Webhook,以用于实时事件通知。有关 Webhook 集成的详细信息,请参阅Webhook 集成指南

发展

详细的开发信息请参见开发指南

快速开发命令

# Start development server with hot reloading npm run dev # Run tests npm run test:api npm run test:conversations npm run test:tags npm run test:contacts npm run test:webhooks # Lint and format code npm run lint npm run format # Build for production npm run build # Check TypeScript types without compiling npm run typecheck

Docker 部署

该项目包含一个用于容器化部署的 Dockerfile。这个多阶段构建过程创建了一个优化的生产镜像。

构建Docker镜像

# Build the Docker image docker build -t frontapp-mcp . # Run the Docker container docker run -p 3000:3000 --env-file .env frontapp-mcp

Docker 构建故障排除

如果您在 Docker 构建过程中遇到 TypeScript 错误,则需要先修复这些错误,构建才能成功。常见问题包括:

  1. Webhook 处理程序中的类型错误(请参阅开发指南中的TypeScript 类型安全部分)

  2. 缺少对潜在未定义值的类型断言

  3. 可选属性处理不当

在构建 Docker 镜像之前,请务必在本地运行npm run typechecknpm run build以便尽早发现并修复这些问题。

安全注意事项

  • 使用带有 AES-256 加密的凭证管理器安全地存储 API 凭证

  • 使用提供的脚本生成强加密密钥: npm run generate-key

  • 使用内置 HTTPS 支持为所有通信启用 HTTPS

  • 生成用于开发的自签名证书: npm run generate-cert

  • 使用来自受信任证书颁发机构的证书进行生产

  • 验证 webhook 签名以确保它们来自 Frontapp

  • 实施速率限制以防止滥用

  • 验证所有传入数据以防止注入攻击

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

贡献

欢迎贡献!请参阅开发指南,了解如何为项目做出贡献。

致谢

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zqushair/Frontapp-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server