使用说明

项目简介

WhatsApp Web MCP 是一个桥梁项目,它使用 Model Context Protocol (MCP) 标准协议,使得 AI 模型能够以规范化的方式与 WhatsApp Web 进行交互。该项目旨在简化 AI 模型与 WhatsApp 的集成,实现诸如信息查询、消息发送、群组管理等自动化功能。

主要功能点

  • 资源 (Resources) 访问: 通过标准化的 URI 访问 WhatsApp 中的联系人、对话、群组和消息等数据。例如,可以获取联系人列表 'whatsapp://contacts' 或特定对话的消息 'whatsapp://messages/{number}'。
  • 工具 (Tools) 调用: 注册了一系列实用工具,允许 AI 模型执行 WhatsApp 功能,例如:
    • 'send_message': 发送消息给 WhatsApp 联系人。
    • 'get_messages': 获取指定联系人的消息记录。
    • 'create_group': 创建新的 WhatsApp 群组。
    • 'add_participants_to_group': 向现有群组添加成员。
    • 'search_contacts': 搜索联系人。
    • 'search_groups': 搜索群组。
    • 'get_status': 获取 WhatsApp 连接状态。
  • 多种运行模式: 支持 WhatsApp API Server 模式和 MCP Server 模式,MCP Server 模式又分为 Standalone 和 API Client 两种子模式,以及 SSE 和 Command 两种传输协议,灵活适应不同的部署需求。
  • REST API: 提供 WhatsApp 功能的 REST API,方便不使用 MCP 协议的应用进行集成。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/fyimail/whatsapp-mcp2.git
    cd whatsapp-mcp2
  2. 安装依赖:
    npm install
  3. 构建 (可选): 如果需要 Docker 部署,可以构建 Docker 镜像:
    docker build -t whatsapp-mcp2:latest .

服务器配置 (MCP 客户端)

以下是在 MCP 客户端(例如 Claude Desktop)中配置连接 WhatsApp Web MCP 服务器的示例。你需要根据你的实际部署模式选择合适的配置。

1. 连接到以 API 客户端模式和 Command 传输模式运行的 MCP 服务器 (NPX 方式启动):

首先,你需要启动 WhatsApp API 服务器,并记录 API 密钥。

然后,在 Claude Desktop 的 MCP 服务器配置中,添加以下 JSON 配置:

{
    "mcpServers": {
        "whatsapp": {
            "command": "npx",
            "args": [
                "wweb-mcp",
                "-m", "mcp",
                "-s", "local",
                "-c", "api",
                "-t", "command",
                "--api-base-url", "http://localhost:3001/api",
                "--api-key", "YOUR_API_KEY"  // 替换为你在 WhatsApp API 服务器日志中获得的 API 密钥
            ]
        }
    }
}

参数说明:

  • 'server name': 'whatsapp' (用户自定义,用于在客户端标识该 MCP 服务器)
  • 'command': 'npx' (运行命令,这里使用 npx 执行 'wweb-mcp')
  • 'args': 启动 'wweb-mcp' 的参数列表:
    • '-m', 'mcp': 运行模式为 MCP 服务器。
    • '-s', 'local': 使用本地认证策略。
    • '-c', 'api': MCP 连接模式为 API 客户端模式,连接到 WhatsApp API 服务器。
    • '-t', 'command': MCP 传输模式为 command (Stdio)。
    • '--api-base-url', 'http://localhost:3001/api': WhatsApp API 服务器的基 URL。
    • '--api-key', 'YOUR_API_KEY': 连接 WhatsApp API 服务器所需的 API 密钥。

2. 连接到以 API 客户端模式和 Command 传输模式运行的 MCP 服务器 (Docker 方式启动):

与 NPX 方式类似,首先启动 WhatsApp API 服务器 (Docker 方式),并记录 API 密钥。

然后,在 Claude Desktop 的 MCP 服务器配置中,添加以下 JSON 配置:

{
    "mcpServers": {
        "whatsapp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "whatsapp-mcp2:latest",
                "-m", "mcp",
                "-s", "local",
                "-c", "api",
                "-t", "command",
                "--api-base-url", "http://host.docker.internal:3001/api",
                "--api-key", "YOUR_API_KEY"  // 替换为你在 WhatsApp API 服务器日志中获得的 API 密钥
            ]
        }
    }
}

参数说明:

  • 'server name': 'whatsapp' (用户自定义,用于在客户端标识该 MCP 服务器)
  • 'command': 'docker' (运行命令,这里使用 docker run 执行镜像)
  • 'args': Docker 运行 'whatsapp-mcp2:latest' 镜像的参数列表,参数含义与 NPX 方式相同,但命令和镜像名有所不同。
    • '--api-base-url', 'http://host.docker.internal:3001/api': 在 Docker 环境中,需要使用 'host.docker.internal' 访问宿主机的 3001 端口。

注意: 以上配置中的 'YOUR_API_KEY' 需要替换为实际的 WhatsApp API 服务器生成的 API 密钥。

基本使用方法

启动 MCP 服务器后,MCP 客户端(如 Claude Desktop)即可通过配置的命令和参数连接到服务器。连接成功后,客户端可以利用服务器提供的 Resources 和 Tools 与 WhatsApp 进行交互。具体的使用方式取决于 MCP 客户端的功能和界面,通常可以在客户端中选择可用的 Tools 并传入相应的参数来执行 WhatsApp 操作。例如,在 Claude 中,你可以指示 Claude 使用 'whatsapp.send_message' 工具来发送 WhatsApp 消息。

信息

分类

通信与社交