iMessage和SMS通信服务

一个MCP服务器,将Sendblue的iMessage和SMS功能作为工具提供给LLMs使用,支持发送消息、管理群组等通信任务。

  • by adamanz
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 adamanz/sendblue-mcp

使用说明

Sendblue MCP服务器

MCP(模型上下文协议)服务器,它将Sendblue的iMessage和SMS功能作为LLM的工具。

概述

此MCP服务器充当Sendblue API的接口,使LLM能够通过iMessage和SMS发送消息、管理组和执行其他与通信相关的任务。它遵循MCP规范,并为LLM与Sendblue平台交互提供标准化的方式。

特性

服务器提供以下工具:

  • send_message:发送支持文本、媒体和表达风格的个人消息(iMessage/SMS)
  • send_group_message:向群聊发送消息
  • lookup_number_service:检查号码是否支持iMessage或SMS
  • send_typing_indicator:向收件人发送打字指示符
  • get_message_history:检索消息历史记录
  • add_recipient_to_group:将新收件人添加到现有群聊中
  • upload_media_for_sending:将媒体从URL上传到Sendblue服务器

快速开始

最快的入门方法

适用于克劳德桌面

# Clone the repository
git clone https://github.com/your-username/sendblue-mcp.git
cd sendblue-mcp

# Install dependencies
pip install -r requirements.txt

# Set up credentials
cp sample.env .env
# Edit .env and add your API credentials

# Add to Claude Desktop config (macOS)
echo '{
  "mcpServers": {
    "sendblue": {
      "command": "python",
      "args": ["-m", "src.main"],
      "cwd": "'$(pwd)'"
    }
  }
}' > ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Restart Claude Desktop

用于本地测试

# After cloning and installing dependencies
python start_sendblue.py

设置

先决条件

  • Python 3.10或更高版本
  • Sendblue API凭据(API密钥ID和密钥)

安装

  1. 克隆此存储库:

    git clone https://github.com/your-username/sendblue-mcp.git
    cd sendblue-mcp
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 配置Sendblue API凭据:

    cp sample.env .env
    # Edit .env to add your API credentials
    

    打开 .env 并添加:

    SENDBLUE_API_KEY_ID=your_api_key_id_here
    SENDBLUE_API_SECRET_KEY=your_api_secret_key_here
    

本地运行

  1. 确保您位于项目目录中:

    cd /path/to/sendblue-mcp
    
  2. 运行服务器:

    python -m src.main
    

    或者使用便利脚本:

    python start_sendblue.py
    

    服务器将开始使用您的配置 .env 文件。

客户端集成

Claude桌面集成

Claude Desktop允许您直接从Claude界面使用Sendblue MCP服务器:

  1. 找到Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 视窗: %AppData%\Claude\claude_desktop_config.json
  2. 创建或编辑文件并添加以下配置:

    {
       "mcpServers": {
          "sendblue": {
             "command": "python",
             "args": [
                "-m",
                "src.main",
                "--directory",
                "/absolute/path/to/sendblue-mcp"
             ]
          }
       }
    }
    
  3. 替换 /absolute/path/to/sendblue-mcp 带有Sendblue MCP服务器目录的实际路径

  4. 保存文件并重新启动Claude Desktop

  5. 当您点击锤子图标时,Sendblue工具将出现在Claude界面中

光标集成

要将Sendblue MCP服务器添加到游标,请执行以下操作:

  1. 打开光标设置:

    • macOS:新闻 Cmd + ,
    • Windows/Linux:新闻 Ctrl + ,
  2. 导航到MCP设置:

    • 转到“功能”>“MCP服务器”
  3. 点击“添加服务器”并配置:

    • 服务器名称: sendblue
    • 命令: python
    • 参数: ["-m", "src.main"]
    • 工作目录: /absolute/path/to/sendblue-mcp
    • 环境变量:
      {
        "SENDBLUE_API_KEY_ID": "your_api_key_id",
        "SENDBLUE_API_SECRET_KEY": "your_api_secret_key"
      }
      
  4. 保存并重新启动游标

  5. 验证服务器是否已连接:

    • 打开AI聊天
    • 当您单击工具图标时,您应该看到Sendblue工具可用
    • 试着跑步 @sendblue send test message 确认它正在工作

故障排除集成

如果MCP服务器未出现在Claude Desktop中:

  1. 查看Claude的日志(macOS): tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
  2. 验证您的 .env 文件具有有效的Sendblue API凭据
  3. 确保配置文件中的路径是绝对正确的
  4. 尝试完全重新启动客户端应用程序

部署

使用Docker

构建并运行Docker容器:

docker build -t sendblue-mcp .
docker run -p 5000:5000 --env-file .env sendblue-mcp

使用Smithery

此服务器与Smithery主机兼容。使用以下方式部署:

smithery deploy

API证书

获取Sendblue API密钥

  1. 在以下网址注册Sendblue帐户 https://sendblue.co/
  2. 登录后,导航到API仪表板
  3. 生成API密钥ID和API密钥
  4. 安全地存储这些凭据,因为它们需要通过Sendblue API进行身份验证

设置凭据

服务器需要两个主要的API凭据:

  • 发送LUE_API_KEY_ID:您的Sendblue API密钥ID
  • 发送LUE_API_SECRET_KEY:您的Sendblue API密钥

这些可以通过以下任何一种方式提供:

1.使用.env文件(本地开发)

创建一个 .env 根目录中包含您的凭据的文件:

SENDBLUE_API_KEY_ID=your_api_key_id_here
SENDBLUE_API_SECRET_KEY=your_api_secret_key_here
MCP_TRANSPORT=stdio  # or http for web transport

2.用于Claude桌面集成

使用Claude Desktop时,您还可以在系统配置文件中设置这些环境变量,或直接在Claude Desktop配置文件中传递它们:

{
   "mcpServers": {
      "sendblue": {
         "command": "python",
         "args": [
            "-m",
            "src.main"
         ],
         "env": {
            "SENDBLUE_API_KEY_ID": "your_api_key_id_here",
            "SENDBLUE_API_SECRET_KEY": "your_api_secret_key_here"
         }
      }
   }
}

3.Smithery部署

部署到Smithery时,系统会提示您通过Smithery界面输入这些环境变量。部署将安全地存储这些值,并在运行时将其提供给您的服务器。

配置

其他配置通过环境变量进行管理:

  • MCP_TRANSPORT:运输方式(stdio 或 http);默认为 stdio
  • MCP_HTTP_PORT:HTTP传输的端口号;默认为 5000

测试

该项目包括一个全面的测试套件:

python -m unittest discover -s tests

文档

许可证

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