WhatsApp MCP 服务器
使用说明(Markdown格式)
-
项目简介
- 这是一个基于 MCP(Model Context Protocol)的服务器端实现,连接 WhatsApp 群组,通过统一的 MCP 接口向 LLM 客户端提供“资源、工具、提示模板”等能力,并支持跨群组的上下文分析与跨组合成。
-
主要功能点
- 资源与数据访问:提供对 WhatsApp 群组信息、消息导出、消息检索等能力。
- 工具注册与执行:暴露 seven 个 MECP 工具(如列表群、获取消息、导出聊天、搜索消息、群信息、发送消息、对消息回复等),支持模糊群名匹配。
- 提示模板与分析输出:内置一套针对聊天的智能分析(主题、要点、机会、参与度、 live 线程、名言等),可输出结构化的 Briefing。
- 跨会话与跨组合成:HTTP 服务器模式实现多会话支持,跨组汇聚分析并输出跨组综合信息。
- 传输方式灵活:_stdio 传输用于 Claude Code 的单会话直连;HTTP/SSE/流式传输用于 Cowork 远程会话,通过 Cloudflare 隧道暴露。
- 安全与鲁棒性:以 AsyncMutex 序列化对 WhatsApp Web 的调用,结合重试机制及 30 分钟会话 TTL 实现稳定运行。
-
安装步骤
- 克隆仓库并安装依赖
- 克隆后进入项目目录,执行安装命令安装所需依赖。
- 构建
- 执行构建命令生成可执行的服务文件。
- WhatsApp 认证
- 使用 WHATSAPP_SESSION_NAME 指定会话名,首次运行时通过扫描二维码完成登录,后续会话凭据会缓存在指定目录。
- 启动 MCP 服务器
- 直接以标准输出/输入模式运行或通过 HTTP 服务器端口进行远程接入,具体取决于你选择的传输模式(stdio 或 HTTP)。
- 将 MCP 服务器配置到 Claude 客户端
- 将服务器信息写入 Claude 的 MCP 配置中(见下方“服务器配置”部分),以便 Claude Code / Cowork 等客户端能够通过 MCP JSON-RPC 调用该服务器。
- 克隆仓库并安装依赖
-
服务器配置(MCP 客户端需要的最小配置信息) 说明:MCP 客户端需要了解要连接的 MCP 服务器的启动命令与参数等信息,以建立连接。下面给出适用于本仓库实现的配置字段说明与示例结构(请以纯文本形式查看,勿直接粘贴到代码中):
- serverName: whatsapp-mcp
- command: node
- args: ["dist/mcp-server/index.js"]
- env: { "WHATSAPP_SESSION_NAME": "my-session" }
- 说明:command/args 指定如何启动 MCP 服务器;env 指定启动时的环境变量(如 WhatsApp 会话名)。在实际使用中,请将 my-session 替换为你在首次认证时使用的会话名称。MCP 客户端本身并不需要解析此配置内部的实现细节,只需知道如何启动服务器及传入必要的环境变量。
-
基本使用方法
- 启动与连接
- 启动时刻:确保 WhatsApp 能成功完成二维码认证,且服务器已正确监听 stdio 或 HTTP 端口。
- Claude Code(stdio)直接通过标准输入/输出与 MCP 服务交互;Cowork(通过 Cloudflare 隧道)通过 HTTP 请求与 MCP 服务通信。
- 调用工具与获取输出
- 使用 MCP 客户端发送 JSON-RPC 请求,选择要调用的工具(如 whatsapp_list_groups、whatsapp_get_messages 等),服务器将返回标准的 MCP JSON-RPC 响应或错误信息。
- 跨群组分析
- 通过服务器端实现的分析能力,可以获得跨群组的综合输出,适用于企业级上下文推理与决策支持。
- 启动与连接