使用说明

项目简介

Signal MCP服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,它将 signal-cli 的功能封装成 MCP 工具,使得 AI Agent 可以通过标准的 MCP 协议调用这些工具,从而实现发送 Signal 消息到用户和群组,以及接收 Signal 消息的功能。

主要功能点

  • 发送消息到Signal用户: 允许AI Agent向指定的Signal用户发送文本消息。
  • 发送消息到Signal群组: 允许AI Agent向指定的Signal群组发送文本消息。
  • 接收消息: 允许AI Agent接收来自Signal用户或群组的消息,并带有超时设置。

安装步骤

  1. 安装 signal-cli 前置依赖: 请务必先安装并配置好 'signal-cli',这是本项目运行的基础。参考 signal-cli 官方安装文档 进行安装。
  2. 注册 Signal 账号 (如果尚未注册):
    signal-cli -u YOUR_PHONE_NUMBER register
  3. 验证 Signal 账号: 使用收到的验证码进行验证
    signal-cli -u YOUR_PHONE_NUMBER verify CODE_RECEIVED
  4. 安装 Signal MCP 服务器: 使用 pip 或 uv (推荐) 安装本项目。
    pip install -e .
    # 或使用 uv
    uv pip install -e .

服务器配置

MCP客户端需要配置以下信息以连接到 Signal MCP 服务器。以下是一个 JSON 格式的配置示例,您需要根据实际情况修改 'command' 和 'args' 字段。

{
  "serverName": "signal-mcp-server",
  "command": "./main.py",
  "args": [
    "--user-id",
    "YOUR_PHONE_NUMBER",  // 替换为你的 Signal 电话号码,例如 "+1XXXXXXXXXX"
    "--transport",
    "sse"                // 可选 'sse' 或 'stdio',默认为 'sse'
  ]
}

参数说明:

  • 'serverName': 服务器名称,可以自定义。
  • 'command': 启动服务器的命令,这里假设 'main.py' 文件在当前目录下,并且可以直接执行。
  • 'args': 启动服务器的参数列表。
    • '--user-id': 必填参数,你的 Signal 电话号码,需要替换为你的实际号码。
    • '--transport': 可选参数,指定 MCP 服务器使用的传输协议。
      • 'sse': 使用 Server-Sent Events 协议 (默认)。
      • 'stdio': 使用标准输入输出流协议。 通常推荐使用 'sse' 协议。

注意:

  • 请将 'YOUR_PHONE_NUMBER' 替换为你注册 Signal 账号时使用的电话号码,例如 '"+86138XXXXXXXX"'.
  • 确保 'signal-cli' 命令在你的系统 PATH 环境变量中,或者在 'main.py' 脚本的执行环境中可以找到。

基本使用方法

  1. 启动服务器: 根据上述服务器配置,使用 MCP 客户端启动 Signal MCP 服务器。服务器成功启动后,会监听客户端的请求。
  2. 客户端调用工具: 在 MCP 客户端中,你可以调用以下工具与 Signal 进行交互:
    • 'send_message_to_user': 发送消息给 Signal 用户。需要提供 'user_id' (Signal 用户号码) 和 'message' (消息内容) 作为参数。
    • 'send_message_to_group': 发送消息给 Signal 群组。需要提供 'group_id' (Signal 群组名称,注意是群组名称而不是ID) 和 'message' (消息内容) 作为参数。
    • 'receive_message': 接收 Signal 消息。可以设置 'timeout' 参数 (单位为秒) 来指定等待消息的超时时间。

示例 (MCP 客户端调用 'send_message_to_user' 工具):

假设你要使用 MCP 客户端调用 'send_message_to_user' 工具发送消息 "Hello, Signal user!" 给用户 "+1234567890"。 具体的调用方式取决于你使用的 MCP 客户端,通常你需要构造符合 MCP 协议的 JSON-RPC 请求,并发送给 Signal MCP 服务器。

请参考你使用的 MCP 客户端的文档,了解如何配置服务器连接和调用工具。 本文档主要关注 Signal MCP 服务器的配置和使用。

信息

分类

通信与社交