项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器,它将 WhatsApp Business API 的功能封装成标准化的 MCP 工具,使大型语言模型 (LLM) 客户端能够通过 MCP 协议与 WhatsApp 进行交互,实现消息发送、联系人管理等操作。该服务器使用 AG2 的 MCP 构建器自动生成。

主要功能点

  • 消息管理: 通过 LLM 发送 WhatsApp 消息,或标记消息为已读。
  • 联系人管理: 检查联系人是否在 WhatsApp 上注册。
  • 群组操作: 创建群组、获取群组信息、更新群组信息、管理群组管理员、删除或获取群组图标、管理群组成员(邀请、移除、离开)。
  • 账户管理: 注册账户、请求验证码、启用/禁用双重验证、管理用户(创建、删除、更新、登录、登出)、管理分片设置。
  • 媒体管理: 上传、下载或删除媒体文件(图片、视频、文档、音频)。
  • 设置管理: 获取或更新应用设置、业务资料、个人资料关于信息和头像,以及进行设置备份和恢复。
  • 健康检查与统计: 检查服务器健康状态,获取应用及数据库统计信息。
  • 证书管理: 上传、下载或删除外部及 Webhook CA 证书。

这些功能都通过标准的 JSON-RPC 协议,以工具调用的形式暴露给 MCP 客户端。

安装步骤

  1. 克隆项目仓库到本地:
    git clone https://github.com/ag2-mcp-servers/whatsapp-business-api.git
    cd whatsapp-business-api
  2. 安装所需的 Python 依赖: 您可以使用 'pip' 或 'uv' 进行安装。
    pip install -e ".[dev]"
    # 或者使用 uv
    # uv pip install --editable ".[dev]"
    这将安装项目及其开发所需的依赖。

服务器配置

MCP 客户端需要以下配置信息来连接到此服务器并使用其提供的工具:

{
  "name": "whatsapp-business-api",
  "command": ["python"],
  "args": ["mcp_server/main.py", "stdio"],
  "env": {
    "CONFIG_PATH": "mcp_server/mcp_config.json"
    // "SECURITY": "..."
  }
}
  • 'name': 用于标识此 MCP 服务器的名称,您可以自定义。
  • 'command': 启动服务器进程的可执行文件路径。通常为 'python'。
  • 'args': 传递给 'command' 的参数列表。'mcp_server/main.py' 是服务器的主脚本路径,'stdio' 指定使用标准输入输出作为客户端与服务器之间的通信协议。
  • 'env': 服务器进程所需的环境变量。
    • 'CONFIG_PATH': 可选。指定 MCP 配置文件的路径。
    • 'SECURITY': 可选。包含安全参数的 JSON 字符串,例如 WhatsApp Business API 所需的认证信息(如 API 密钥等),具体格式取决于 MCPProxy 的安全模块。

基本使用方法

  1. 启动服务器: 在项目目录下执行服务器启动命令,例如:
    python mcp_server/main.py stdio
    服务器将以 stdio 模式启动,等待 MCP 客户端连接。
  2. 连接客户端: 使用一个兼容 MCP 的客户端库(如 Autogen 的 'autogen.mcp')加载上述服务器配置。
  3. 发现工具: 客户端连接成功后,会与服务器进行初始化握手,发现服务器暴露的所有工具(这些工具对应 WhatsApp Business API 的各个接口)。
  4. 调用工具: LLM 客户端可以使用发现的工具来执行相应的 WhatsApp 操作,例如发送消息、检查联系人状态等。客户端通过 MCP 协议向服务器发送工具调用请求,服务器处理请求并返回结果。

信息

分类

AI与计算