Token导航 LogoToken导航TokenDH.com
Whatsapp MCP Extended logo
运维云端stdio官方级别未说明来源级核验

Whatsapp MCP Extended

MCP Server

一个扩展的WhatsApp模型上下文协议(MCP)服务器,提供消息、搜索、媒体、群组管理、webhooks、在线状态等功能。

工具数

41

提示词数

0

GitHub Stars

15

资源数

0
GoClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

FelixIsaac

提供方

FelixIsaac

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python check.py # Catches errors before docker build

详细介绍

WhatsApp MCP扩展

WhatsApp的扩展模型上下文协议(MCP)服务器 41工具 -高级消息传递、组管理、webhooks、状态等。

WhatsApp MCP

什么是新的(vs原创)

功能原始扩展
MCP工具1241
反应-
编辑/删除邮件-
集团管理-
民意调查-
历史同步-
在线状态-
通讯-
Webhooks-
自定义昵称-

建筑

┌─────────────────────┐     ┌─────────────────────┐     ┌─────────────────────┐
│   whatsapp-bridge   │     │   whatsapp-mcp      │     │    webhook-ui       │
│   (Go + whatsmeow)  │◄────│   (Python + MCP)    │     │   (HTML/JS SPA)     │
│   Port: 8080        │     │   Ports: 8081,8082  │     │   Port: 8089        │
└─────────────────────┘     └─────────────────────┘     └─────────────────────┘
         │                           │
         ▼                           ▼
    ┌─────────────────────────────────────┐
    │           SQLite (store/)           │
    │  messages.db │ whatsapp.db          │
    └─────────────────────────────────────┘

快速开始

Docker(推荐)

git clone https://github.com/felixisaac/whatsapp-mcp-extended
cd whatsapp-mcp-extended

docker network create n8n_n8n_traefik_network
docker-compose up -d

# Scan QR code to authenticate
docker-compose logs -f whatsapp-bridge

Claude桌面/光标集成

添加到MCP配置(claude_desktop_config.json 或光标设置):

{
  "mcpServers": {
    "whatsapp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/whatsapp-mcp-extended/whatsapp-mcp-server", "python", "main.py"]
    }
  }
}

MCP工具(共41个)

消息传递

工具说明
send_message发送短信
send_file发送图像/视频/文档
send_audio_message发送语音信息
download_media下载收到的媒体
send_reaction使用表情符号回复消息
edit_message编辑已发送的消息
delete_message删除/撤销消息
mark_read将邮件标记为已读(蓝色标记)

聊天和消息

工具说明
list_chats列出所有聊天记录
get_chat通过JID聊天
list_messages使用筛选器搜索邮件
get_message_context获取围绕特定消息的消息
get_direct_chat_by_contact查找DM及其联系人
get_contact_chats所有涉及联系人的聊天
get_last_interaction最近与联系人的消息
request_history请求旧邮件历史记录

联系人

工具说明
search_contacts按姓名/电话搜索
list_all_contacts列出所有联系人
get_contact_details完整联系信息
set_nickname设置自定义昵称
get_nickname获取自定义昵称
remove_nickname删除昵称
list_nicknames列出所有昵称

群组

工具说明
get_group_info组元数据和参与者
create_group创建新组
add_group_members添加成员
remove_group_members删除成员
promote_to_admin晋升为管理员
demote_admin降级管理员
leave_group离开小组
update_group更新名称/主题
create_poll在聊天中创建投票

出席和简介

工具说明
set_presence设置在线/离线状态
subscribe_presence订阅联系人的在线状态
get_profile_picture获取个人资料图片URL
get_blocklist列出被阻止的用户
block_user阻止用户
unblock_user解除用户锁定

通讯(频道)

工具说明
follow_newsletter关注频道
unfollow_newsletter取消关注频道
create_newsletter创建新频道

API设计理念

响应数据优先级 完整的上下文,解释最少。参见 元数据_哲学.md 用于:

  • 为什么我们包括原始数据而不是预先计算的信号
  • 我们如何减少消费LLM的代币浪费
  • 响应结构示例(消息、聊天、联系人)
  • 设计规则:原始事实、可计数指标、排除空值

太长,读不下去了 在一个响应中获取所有联系信息,而不是重复查询。LLM从原始数据+指标中推断语气、紧迫性和关系。

Webhook系统

用于传入消息的实时HTTP webhooks,具有:

  • 触发器:all、chat\_\_id、发件人、关键字、media_type
  • 匹配:exact,contains,正则表达式
  • 安全:HMAC-SHA256签名
  • 重试:指数级回退

访问webhook用户界面 http://localhost:8089

发展

手动设置

# Bridge (Go 1.25+)
cd whatsapp-bridge && go run main.go

# MCP Server (Python 3.11+)
cd whatsapp-mcp-server && uv sync && uv run python main.py

# Webhook UI
cd whatsapp-webhook-ui && python3 -m http.server 8089

预构建检查

cd whatsapp-mcp-server
uv run python check.py  # Catches errors before docker build

更新whatsmow

当你看到 Client outdated (405) 错误:

cd whatsapp-bridge
go get -u go.mau.fi/whatsmeow@latest
go mod tidy
docker-compose build whatsapp-bridge
docker-compose up -d whatsapp-bridge

端口

服务端口描述
桥接API8080(→8180)REST API
MCP服务器8081SSE传输
Gradio UI8082Web测试UI
Webhook UI8089Webhook管理

故障排除

邮件未送达

如果API返回成功,但消息显示单个复选标记:

docker-compose restart whatsapp-bridge
docker-compose logs --tail=10 whatsapp-bridge
# Should see: "✓ Connected to WhatsApp!"

二维码问题

docker-compose logs -f whatsapp-bridge
# Scan QR with WhatsApp mobile app

学分

叉链:

  • 拉里斯/whatsapp mcp -原始MCP服务器(12个工具)
  • 阿达姆鲁萨克/whatsapp -添加了webhooks、容器拆分、webhook UI
  • 此仓库-添加了反应、编辑/删除、分组、民意调查、在线状态、新闻通讯(41个工具)

图书馆:

社区致谢

几个分叉独立地解决了实际问题,他们的想法已被纳入这个回购中。到期信用:

贡献者他们发现了什么
西蒙谢弗首先追踪 direct_path 媒体下载过程中CDN回退所需的DB列;什么是土生土长的 Download() 方法在 /api/download跨Docker/本地环境的正确DB路径解析;内联 Image 内容块在 download_media
白云石图像/视频/文档的媒体字幕被悄悄删除——已修复 ExtractTextContent();webhook有效负载中的引用/回复上下文; @mention 自动检测; request_history 对等消息目标错误(发送到组JID而不是自己的设备JID)
卡斯珀鲁伦联系人姓名解析优先级链(FullName > PushName > FirstName > Business)以及电话号码缓存错误;完整的呼叫事件流程(提供/接受/终止/拒绝,并注明持续时间); LID → 电话JID分辨率通过 GetAltJID()
科里亚特第一次工作 /api/download 使用手动HKDF/AES-CBC解密实现
杰迪亚什瓦反应无声地失败修复(错误的发件人JID查找);音频/文档类型的扩展MIME类型支持
斯拉林LID JID规范化——诊断出WhatsApp的新LID格式导致消息在单独的聊天线程中落地的无声对话分裂错误

如果你已经分叉了这个仓库并构建了一些有用的东西,打开一个PR或问题——好的想法应该向上游流动。

许可证

MIT许可证-请参阅 许可证 文件。

目录标签

目录标签

GoClaude云端部署消息服务本地部署群组管理webhooks在线状态WhatsApp扩展

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

41

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP