Unipile MCP Server
本项目 'mcp-unipile' 是一个 Model Context Protocol (MCP) 服务器的实现,它充当 LLM 应用和 Unipile 消息平台之间的桥梁。通过此服务器,LLM 可以使用标准化的 MCP 协议访问和操作来自多个消息平台的消息数据,例如获取聊天记录、邮件等。
主要功能点:
- 资源管理: 通过 'unipile://accounts' 资源提供已连接的 Unipile 账号列表。
- 工具集成: 提供工具如 'unipile_get_accounts', 'unipile_get_recent_messages', 'unipile_get_emails',允许 LLM 获取账号、消息和邮件数据。
- 多平台支持: 支持包括 WhatsApp, LinkedIn, 邮件, Telegram, Instagram, Messenger 等多种消息平台 (取决于 Unipile 平台的连接)。
- 标准化接口: 遵循 MCP 协议,提供与 LLM 客户端进行交互的标准 JSON-RPC 接口。
- 易于部署: 通过 Docker 镜像发布,方便快捷地部署和运行。
安装步骤:
-
前提条件:
- 确保您拥有 Unipile 平台的订阅和 API 密钥。您需要从 Unipile 仪表板获取 DSN 和 API 密钥。
- 安装 Docker 环境。
-
拉取 Docker 镜像 (或本地构建):
-
从 Docker Hub 拉取 (推荐):
docker pull buryhuang/mcp-unipile:latest -
本地构建: 克隆仓库到本地:
git clone https://github.com/baryhuang/mcp-unipile.git cd mcp-unipile docker build -t mcp-unipile .
-
-
运行 Docker 容器:
运行容器时,需要设置 Unipile DSN 和 API 密钥作为环境变量:
docker run \ -e UNIPILE_DSN=your_unipile_dsn \ -e UNIPILE_API_KEY=your_unipile_api_key \ buryhuang/mcp-unipile:latest请将 'your_unipile_dsn' 和 'your_unipile_api_key' 替换为您实际的 Unipile DSN 和 API 密钥。
服务器配置 (用于 MCP 客户端,例如 Claude Desktop):
MCP 客户端需要配置连接到 'mcp-unipile' 服务器的命令。以下是 Claude Desktop 的配置示例,您可以将其添加到 Claude Desktop 的 MCP 服务器配置中。
{ "mcpServers": { "unipile": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "UNIPILE_DSN=your_unipile_dsn", // 替换为您的 Unipile DSN "-e", "UNIPILE_API_KEY=your_unipile_api_key", // 替换为您的 Unipile API 密钥 "buryhuang/mcp-unipile:latest" ] } } }
注意: 请务必将 'your_unipile_dsn' 和 'your_unipile_api_key' 替换为您的实际 Unipile 凭据。这些凭据不应该硬编码在配置文件中,而是通过环境变量安全地传递。
基本使用方法:
- 启动 'mcp-unipile' 服务器 (通过 Docker 运行)。
- 在支持 MCP 协议的 LLM 客户端 (如 Claude Desktop) 中配置 'mcp-unipile' 服务器连接信息 (如上述 JSON 配置)。
- LLM 客户端将能够通过 MCP 协议与 'mcp-unipile' 服务器通信,并使用服务器提供的资源和工具来访问 Unipile 平台的消息数据。
- 例如,在 Claude 中,您可以指示 Claude 使用 'unipile_get_recent_messages' 工具来获取特定账号的最近消息,或者使用 'unipile_get_emails' 获取邮件。
示例 Prompt:
- "列出我所有 Unipile 账号" (对应 'unipile_get_accounts' 工具)
- "获取账号 ID 为 'your_account_id' 的最近消息" (对应 'unipile_get_recent_messages' 工具,需要替换 'your_account_id' 为实际账号 ID)
- "获取账号 ID 为 'your_account_id' 的最新邮件" (对应 'unipile_get_emails' 工具,需要替换 'your_account_id' 为实际账号 ID)
请根据实际需求和工具描述,构建更具体的 Prompt 指令,让 LLM 调用相应的工具来获取所需的消息数据。
信息
分类
通信与社交