项目简介
这是一个基于 Model Context Protocol (MCP) 构建的服务器,它将 WhatsApp Business API 的功能封装成标准化的 MCP 工具,使大型语言模型 (LLM) 客户端能够通过 MCP 协议与 WhatsApp 进行交互,实现消息发送、联系人管理等操作。该服务器使用 AG2 的 MCP 构建器自动生成。
主要功能点
- 消息管理: 通过 LLM 发送 WhatsApp 消息,或标记消息为已读。
- 联系人管理: 检查联系人是否在 WhatsApp 上注册。
- 群组操作: 创建群组、获取群组信息、更新群组信息、管理群组管理员、删除或获取群组图标、管理群组成员(邀请、移除、离开)。
- 账户管理: 注册账户、请求验证码、启用/禁用双重验证、管理用户(创建、删除、更新、登录、登出)、管理分片设置。
- 媒体管理: 上传、下载或删除媒体文件(图片、视频、文档、音频)。
- 设置管理: 获取或更新应用设置、业务资料、个人资料关于信息和头像,以及进行设置备份和恢复。
- 健康检查与统计: 检查服务器健康状态,获取应用及数据库统计信息。
- 证书管理: 上传、下载或删除外部及 Webhook CA 证书。
这些功能都通过标准的 JSON-RPC 协议,以工具调用的形式暴露给 MCP 客户端。
安装步骤
- 克隆项目仓库到本地:
git clone https://github.com/ag2-mcp-servers/whatsapp-business-api.git cd whatsapp-business-api - 安装所需的 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 的安全模块。
基本使用方法
- 启动服务器: 在项目目录下执行服务器启动命令,例如:
服务器将以 stdio 模式启动,等待 MCP 客户端连接。python mcp_server/main.py stdio - 连接客户端: 使用一个兼容 MCP 的客户端库(如 Autogen 的 'autogen.mcp')加载上述服务器配置。
- 发现工具: 客户端连接成功后,会与服务器进行初始化握手,发现服务器暴露的所有工具(这些工具对应 WhatsApp Business API 的各个接口)。
- 调用工具: LLM 客户端可以使用发现的工具来执行相应的 WhatsApp 操作,例如发送消息、检查联系人状态等。客户端通过 MCP 协议向服务器发送工具调用请求,服务器处理请求并返回结果。
信息
分类
AI与计算