项目简介
Sendblue MCP Server是一个基于Model Context Protocol (MCP) 构建的后端服务。它充当大型语言模型(LLM)与Sendblue API之间的桥梁,使LLM能够通过iMessage和SMS发送消息、管理群组以及执行其他与通讯相关的任务。这个服务器遵循MCP规范,为LLM提供了一种标准化方式来接入Sendblue平台的功能。
主要功能点
- 发送单条消息:通过iMessage或SMS向单个收件人发送文本、媒体或带有特殊效果的消息。
- 发送群组消息:向指定群组或一组联系人发送消息,支持文本和媒体。
- 查询号码服务:检查某个电话号码支持iMessage还是SMS服务(例如,判断是否支持iMessage)。
- 发送正在输入提示:向收件人发送“正在输入”动画指示,提升用户体验。
- 获取消息历史:检索指定联系人或会话的历史消息记录,支持分页和日期过滤。
- 添加成员至群组:将新成员添加到现有群聊中。
- 上传媒体文件:将公开可访问的媒体文件URL上传到Sendblue服务器,以便后续在消息中发送。
安装步骤
- 克隆仓库:
首先,使用Git克隆该项目的代码到您的本地计算机:
git clone https://github.com/adamanz/sendblue-mcp.git cd sendblue-mcp - 安装依赖:
进入项目目录后,安装所有必需的Python库:
pip install -r requirements.txt - 配置Sendblue API凭证:
- 复制示例环境文件:
cp sample.env .env - 编辑新创建的'.env'文件,填入您的Sendblue API密钥ID和密钥:
SENDBLUE_API_KEY_ID=your_api_key_id_here SENDBLUE_API_SECRET_KEY=your_api_secret_key_here - 您可以从Sendblue官方网站注册账户(https://sendblue.co/)并访问其API仪表板来生成您的API凭证。
- 复制示例环境文件:
服务器配置 (供MCP客户端使用)
MCP客户端(如Claude Desktop, Cursor等)需要知道如何启动并连接到这个MCP服务器。以下是针对MCP客户端的配置信息,请根据您的实际安装路径进行调整:
- MCP服务器名称: 'sendblue'
- 说明:这是MCP客户端中显示给用户,用于标识此Sendblue服务器的名称。
- 启动命令 (command): 'python'
- 说明:用于执行Python脚本的命令。请确保您的系统路径中可以找到'python'命令。
- 命令参数 (args): '["-m", "src.main"]'
- 说明:传递给'python'命令的参数,指示Python解释器运行项目'src'目录下的'main'模块,这是MCP服务器的入口点。
- 工作目录 (cwd): '/absolute/path/to/sendblue-mcp'
- 说明:服务器启动时的工作目录的绝对路径。请务必将'/absolute/path/to/sendblue-mcp'替换为Sendblue MCP Server项目在您本地文件系统中的实际路径。
- 环境变量 (env):
- 说明:MCP客户端通常允许您直接在配置中设置环境变量。如果您的'.env'文件没有被客户端自动加载,或者您希望在客户端配置中集中管理凭证,可以在此处设置Sendblue API凭证。
- 例如:
{ "SENDBLUE_API_KEY_ID": "your_api_key_id_here", "SENDBLUE_API_SECRET_KEY": "your_api_secret_key_here" } - 请注意,如果已在项目根目录的'.env'文件中配置,这里可以省略;或者客户端会优先使用其自身配置的环境变量。
基本使用方法
-
启动服务器: 在项目目录下,运行以下命令启动MCP服务器:
python -m src.main服务器会以标准输入输出 (stdio) 传输方式启动,等待MCP客户端(如Claude Desktop或Cursor)的连接请求。
-
通过MCP客户端连接: 根据您使用的MCP客户端(如Claude Desktop、Cursor),按照上述“服务器配置”说明进行配置。完成配置后,请务必重启您的LLM客户端应用程序,以便它能发现并连接到Sendblue MCP服务器。
-
调用工具: 成功连接后,您应该能在LLM客户端的界面中看到Sendblue提供的工具(例如,通过客户端的工具图标或在与LLM对话时使用 '@sendblue' 等前缀)。现在,您可以尝试向LLM提问或发出指令,让它使用这些工具来执行通讯任务。
例如,您可以尝试与LLM对话:
- “使用Sendblue给电话号码 '+19998887777' 发送一条消息,内容是 '你好,这是一个测试消息。'”
- “查询电话号码 '+12345678900' 支持iMessage还是SMS。”
- “获取我与 '+19998887777' 的最新消息历史。”
信息
分类
AI与计算