signal-cli 接入 deepseek/mcp 自动发消息

前几天 测试了Signal-cli ,命令行中发送 signal 消息,今天换个姿势,试试将其接入 mcp/deepseek,使得可以在 mcp host 中,使用自然语言控制发送消息。不知道什么是 mcp 的,可以看这个B站视频学习学习。

先看看成品,给AI发送指令,右侧的模拟器是联系人实际收到的内容:
connect signal to mcp
期待微信/QQ 能接入,智能生活助理有望实现~

言归正传,让我们首先启动 signal-cli 的 JSONRPC 服务器,默认情况下启动后会监听 unix socket,我在windows 上做开发,懒得折腾 unix socket了,直接绑定在 TCP socket 上;

>cd D:\dev\signal\signal-cli
>bin\signal-cli -u +8613311111111 daemon --tcp
INFO  DaemonCommand - Starting daemon in single-account mode for +8613311111111
INFO  SocketHandler - Started JSON-RPC server on /127.0.0.1:7583

看上面的提示,已经正常连接到了服务器,且监听在本机的 127.0.0.1:7583 端口了,JSONRPC 服务器的文档可以参考这里:https://github.com/AsamK/signal-cli/blob/master/man/signal-cli-jsonrpc.5.adoc

deepseek api 配置/充值

首先还是开一个 deepseek api 账户,充点钱,毕竟不用像 openai 那么折腾,且很便宜;登录 后点击左侧 api keys 新建一个 API,并保存好。

再点击 充值 ,充个五块十块的~

mcp host/cline 安装与配置

首先安装一个 mcp host,这里以 cline 为例,打开 vscode,在插件里搜索 cline,并安装,留意安装 cline.bot 发行的,如下图所示:
img

安装完成后,左侧最下面会出现一个机器人🤖图标,点击即可开始配置。按下图配置,配置完成后点击 Done 保存配置

img

代码接入

git clone https://github.com/alexsunday/signal-mcp-server.git
cd signal-mcp-server
pnpm install
pnpm run build
signal-mcp-server@1.0.0 build D:\dev\signal\signal-mcp-server
esbuild src/main.ts --bundle --platform=node --target=node18 --outfile=dist/mcp.js
dist\mcp.js  593.6kb

Done in 90ms

编译完成,输出文件在 dist/mcp.js ,将该文件配置到 cline 中,作为一个 mcp server 存在即可。

配置 mcp servers

按下图顺序,配置 mcp servers
img

JSON 代码如下,留意只有 signal-cli 部分为新增的,如果之前有配置其他 mcp servers,留意不要删了~

{
  "mcpServers": {
    "signal-cli": {
      "disabled": false,
      "timeout": 60,
      "cwd": "D:\\dev\\signal\\signal-mcp-server",
      "command": "node",
      "args": [
        "D:/dev/signal/signal-mcp-server/dist/mcp.js"
      ],
      "transportType": "stdio"
    }
  }
}

按 ctrl-s 保存配置文件后,编辑器会尝试加载该组件,加载无误则会显示如下:

img

测试使用

点击 +(New Task) 按钮,在任务输入框中输入指令,譬如我输入的 「给signal用户 s131.01 用程序员的方式打个招呼」,再点击 Approve 同意,即可!

已完成如下工具/tool:

  • getUserStatus 获取用户状态 可以用手机号或用户名 查询是否注册
  • listContacts 枚举当前所有联系人/好友信息 并返回各好友简单信息 如昵称/备注等
  • updateContact 更新联系人信息 可以修改联系人昵称,备注等
  • sendMessage 发送消息 暂时只做了文本消息

Cherry Studio 接入

配置一个 mcp 服务器,命令为 npx,参数 为 "-y", "signal-mcp-server" 保存即可。回到「助手」,勾选 MCP 服务器,并选中刚刚新增的 signal-cli 服务器,然后即可使用,如下所示:

img

posted @ 2025-04-23 20:35  pfoxh  阅读(69)  评论(0)    收藏  举报