项目简介

GoWA WhatsApp MCP服务器是一个基于Go语言构建的WhatsApp多设备应用程序后端。它实现了Model Context Protocol (MCP),允许AI代理或大型语言模型(LLM)客户端通过标准化的JSON-RPC协议与WhatsApp互动,将WhatsApp功能封装为可调用的AI工具,从而实现消息自动化、智能回复和高级互动。

主要功能点

  • MCP服务器核心支持: 依据Model Context Protocol (MCP) 标准,将WhatsApp功能封装为AI代理可调用的工具,实现消息发送、联系人共享、链接预览及位置信息传输。
  • 消息发送与管理: 支持发送文本、图片、视频、文件、联系人、链接、位置和投票等多种类型消息。同时提供消息撤回、删除、编辑、标记已读和表情回应功能。
  • 群组高级管理: 允许创建新群组、通过链接加入群组、退出群组、获取群组详细信息(包括群成员、邀请链接),并可管理群组成员(添加、移除、提升/降级管理员)、设置群组照片、名称、锁定状态和公告模式。
  • 用户与聊天信息: 提供查询用户头像、个人状态、业务资料,以及获取您的联系人列表、聊天列表及详细聊天消息历史记录的功能。
  • 连接与自动化: 支持QR码和配对码登录、会话断开重连,并提供自动回复、自动标记已读、可配置的Webhook事件通知等自动化特性。

安装步骤

  1. 克隆仓库: 打开终端或命令行工具,执行以下命令克隆项目仓库:
    git clone https://github.com/aldinokemal/go-whatsapp-web-multidevice
  2. 进入项目目录:
    cd go-whatsapp-web-multidevice/src
  3. 构建二进制文件 (推荐):
    • Linux 或 macOS 用户: 执行 'go build -o whatsapp' 命令,这将在 'src' 目录下生成一个名为 'whatsapp' 的可执行文件。
    • Windows 用户: 执行 'go build -o whatsapp.exe' 命令,这将在 'src' 目录下生成一个名为 'whatsapp.exe' 的可执行文件。 如果您不想构建,也可以直接使用 'go run . mcp' 命令运行。
  4. 运行MCP服务器:
    • 使用构建的二进制文件运行(推荐):
      • Linux/macOS: './whatsapp mcp'
      • Windows: '.\whatsapp.exe mcp'
    • 直接运行Go源码:
      • 'go run . mcp' 服务器将默认在 'http://localhost:8080' 启动。您将看到类似以下信息的日志输出:
    Starting WhatsApp MCP SSE server on localhost:8080
    SSE endpoint: http://localhost:8080/sse
    Message endpoint: http://localhost:8080/message

服务器配置 (MCP客户端需要的信息)

您的MCP客户端(例如AI代理或LLM应用)需要以下JSON格式的配置来连接到GoWA WhatsApp MCP服务器。请注意,此配置是指导MCP客户端如何启动并连接到GoWA MCP服务器,而不是GoWA MCP服务器自身的启动脚本。

{
  "mcpServers": {
    "whatsapp": {
      "name": "GoWA WhatsApp MCP服务器",
      "description": "基于Model Context Protocol (MCP) 标准,提供WhatsApp消息、联系人、链接和位置发送等功能的AI工具接口。",
      "command": "./whatsapp",
      "args": [
        "mcp",
        "--port", "8080",
        "--host", "localhost",
        "--debug", "false",
        "--os", "MyApplication"
      ],
      "url": "http://localhost:8080/sse"
    }
  }
}
  • 'mcpServers': 这是MCP客户端配置MCP服务器的顶级键。
  • 'whatsapp': 这是您为此MCP服务器实例在客户端中定义的名称,可以根据您的偏好命名。
    • 'name': MCP服务器的友好名称,用于客户端界面显示。
    • 'description': MCP服务器的简要功能描述。
    • 'command': 启动GoWA WhatsApp MCP服务器的可执行文件路径。例如,如果您已将其构建到当前目录,则通常是 './whatsapp'。
    • 'args': 一个字符串数组,包含启动MCP服务器时需要传递的命令行参数。
      • 'mcp': 告诉GoWA程序以MCP模式启动。
      • '--port 8080': 指定MCP服务器监听的端口,默认是 '8080'。您可以根据需要修改。
      • '--host localhost': 指定MCP服务器监听的IP地址或主机名,默认是 'localhost'。
      • '--debug false': 可选参数,控制是否启用调试日志。设置为 'true' 会输出更详细的日志。
      • '--os MyApplication': 可选参数,设置在WhatsApp中显示的设备名称。
    • 'url': MCP服务器的SSE(Server-Sent Events)端点地址。MCP客户端通过此URL接收事件和调用工具。默认地址是 'http://localhost:8080/sse'。

基本使用方法

  1. 启动GoWA WhatsApp MCP服务器: 按照上述“安装步骤”中的说明,成功启动MCP服务器。
  2. 配置AI代理/LLM客户端: 在支持MCP协议的AI代理或LLM客户端(如Cursor)中,使用上述“服务器配置”信息进行设置,以建立与GoWA MCP服务器的连接。
  3. 连接WhatsApp: 通过访问GoWA MCP服务器的Web界面(默认为 'http://localhost:3000')或命令行,扫描二维码或输入配对码登录您的WhatsApp账户。
  4. AI代理调用工具: 一旦WhatsApp账户成功连接到GoWA MCP服务器,您的AI代理即可通过MCP协议调用服务器提供的WhatsApp工具,例如:
    • 'whatsapp_send_text': 用于发送文本消息。
    • 'whatsapp_send_contact': 用于发送联系人卡片。
    • 'whatsapp_send_link': 用于发送带有标题的链接。
    • 'whatsapp_send_location': 用于发送地理位置坐标。

信息

分类

通信与社交