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 实现稳定运行。
  • 安装步骤

    1. 克隆仓库并安装依赖
      • 克隆后进入项目目录,执行安装命令安装所需依赖。
    2. 构建
      • 执行构建命令生成可执行的服务文件。
    3. WhatsApp 认证
      • 使用 WHATSAPP_SESSION_NAME 指定会话名,首次运行时通过扫描二维码完成登录,后续会话凭据会缓存在指定目录。
    4. 启动 MCP 服务器
      • 直接以标准输出/输入模式运行或通过 HTTP 服务器端口进行远程接入,具体取决于你选择的传输模式(stdio 或 HTTP)。
    5. 将 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 响应或错误信息。
    • 跨群组分析
      • 通过服务器端实现的分析能力,可以获得跨群组的综合输出,适用于企业级上下文推理与决策支持。

服务器信息