WhatsApp消息代理服务

通过WhatsApp Web多设备API连接个人WhatsApp账户的消息代理服务器,支持消息存储、发送和各类聊天管理功能。

  • by ihiteshgupta
  • Go
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 ihiteshgupta/whatsapp-mcp

使用说明

WhatsApp MCP

用于WhatsApp的MCP服务器,通过WhatsApp Web多设备API连接到您的个人WhatsApp帐户(使用 怎么回事 图书馆)。Single Go二进制-不需要Python或单独的桥接进程。所有消息都存储在SQLite本地,只有通过工具访问时才会发送到LLM。

安装

选项A——安装脚本(macOS/Linux,无需Go)

curl -fsSL https://raw.githubusercontent.com/ihiteshgupta/whatsapp-mcp/main/install.sh | sh

安装 whatsapp-mcp 二进制到 /usr/local/bin.

选项B——自制(macOS/Linux)

brew install ihiteshgupta/tap/whatsapp-mcp

需要设置Homebrew水龙头。看 ihiteshgupta/自制水龙头.

选项C——go安装(go用户)

go install github.com/ihiteshgupta/whatsapp-mcp/whatsapp-bridge-v2/cmd/whatsapp-mcp@latest

选项D——从源代码构建

git clone https://github.com/ihiteshgupta/whatsapp-mcp.git
cd whatsapp-mcp/whatsapp-bridge-v2
go build -o whatsapp-mcp ./cmd/whatsapp-mcp

窗户: SQLite需要CGO。安装 Msys 2,添加 ucrt64\bin 转到PATH,然后运行 go env -w CGO_ENABLED=1 在建造之前。


配置您的MCP客户端

克劳德桌面/克劳德代码

添加到您的Claude配置中:

  • 克劳德桌面: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 克劳德代码: ~/.claude.json
{
  "mcpServers": {
    "whatsapp": {
      "command": "/usr/local/bin/whatsapp-mcp",
      "args": []
    }
  }
}

替换 /usr/local/bin/whatsapp-mcp 如果从源代码构建,则使用实际路径(例如。 /path/to/whatsapp-mcp/whatsapp-bridge-v2/whatsapp-mcp).

光标

添加 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "whatsapp": {
      "command": "/usr/local/bin/whatsapp-mcp",
      "args": []
    }
  }
}

3.身份验证

  1. 启动您的MCP客户端(克劳德桌面、克劳德代码或光标)
  2. 二维码将出现在终端中并保存到 ~/.whatsapp-mcp/qrcode.png
  3. 在手机上使用WhatsApp进行扫描(设置→ 链接设备→ 链接设备)
  4. 等待历史同步完成
  5. 会话持续存在 ~/.whatsapp-mcp/whatsapp.db --每20天需要重新验证一次

数据存储

所有数据都存储在本地 ~/.whatsapp-mcp/ (不需要配置文件):

  • ~/.whatsapp-mcp/whatsapp.db --WhatsApp会话(whatsmow)
  • ~/.whatsapp-mcp/messages.db --消息、聊天、联系人、群组
  • ~/.whatsapp-mcp/qrcode.png --二维码图像(首次发布时创建)

MCP工具(共55个)

信息(8)

工具 说明
send_message 发送短信
reply_to_message 回复特定消息
forward_message 转发消息
edit_message 编辑已发送的消息
delete_message 删除消息
react_to_message 添加表情符号反应
star_message 发送一条消息
unstar_message 取消标记消息

聊天(11)

工具 说明
list_chats 列出所有聊天记录
get_chat 获取聊天详细信息
list_messages 从聊天中获取消息
archive_chat 存档聊天记录
unarchive_chat 存档聊天记录
pin_chat 固定聊天
unpin_chat 不愉快的聊天
mute_chat 将聊天通知静音
unmute_chat 取消聊天静音
mark_chat_read 将聊天标记为已读
delete_chat 删除聊天

联系人(6)

工具 说明
search_contacts 搜索联系人
get_contact 获取联系方式
block_contact 阻止联系人
unblock_contact 解除联系人锁定
get_blocked_contacts 列出被阻止的联系人
check_phone_registered 检查电话号码是否已注册

团体(13)

工具 说明
create_group 创建新组
get_group_info 获取群组信息
leave_group 离开群组
add_group_members 添加成员
remove_group_members 删除成员
promote_admin 晋升为管理员
demote_admin 从管理员降级
set_group_name 更改组名
set_group_topic 更改组主题
set_group_photo 更改合影
get_invite_link 获取邀请链接
revoke_invite_link 撤销邀请链接
join_via_invite 通过邀请链接加入

媒体(7)

工具 说明
send_image 发送图像
send_video 发送视频
send_audio 发送音频/语音信息
send_document 发送文档
send_location 发送位置
send_contact_card 发送联系人卡片
download_media 从邮件中下载媒体

出席(5)

工具 说明
subscribe_presence 订阅状态更新
send_typing 发送打字指示器
send_recording 发送录制指示器
set_online 设置在线状态
set_offline 设置离线状态

状态(4)

工具 说明
post_text_status 发布文本状态
post_image_status 发布图像状态
get_status_updates 获取状态更新
delete_status 删除状态

桥梁(2)

工具 说明
get_bridge_status 获取健康状况
get_connection_history 获取连接历史记录

故障排除

  • 二维码未显示:检查stderr输出,或打开 ~/.whatsapp-mcp/qrcode.png
  • 会话已过期:删除 ~/.whatsapp-mcp/whatsapp.db 并重新启动以重新进行身份验证
  • 不同步:删除两者 ~/.whatsapp-mcp/*.db 文件并重新启动
  • Windows CGO错误 (Binary was compiled with 'CGO_ENABLED=0'):安装msys 2,添加 ucrt64\bin 运行PATH go env -w CGO_ENABLED=1
  • 已达到设备限制:在WhatsApp中删除设备→ 设置→ 链接设备

安全说明

与所有MCP服务器一样,请注意 提示注入风险。此服务器可以读取您的WhatsApp消息并代表您发送消息——只连接受信任的AI客户端。

发展

cd whatsapp-bridge-v2
go test ./...
go build ./...

许可证

麻省理工学院