README
🚀 WhatsApp MCP 服务器
这是一个借助模型上下文协议(MCP)SDK 实现的 WhatsApp 服务器,它为通过 GreenAPI 服务与 WhatsApp 进行交互提供了标准化接口,有效简化了通信流程。
✨ 主要特性
- 💬 WhatsApp 会话管理:高效管理各种会话,保证通信顺畅。
- 🌐 集成 GreenAPI 服务:无缝对接 GreenAPI,拓展功能边界。
- 📄 标准化 MCP 协议实现:遵循标准协议,确保稳定通信。
- 🅣 TypeScript 支持:提升代码的可维护性和开发效率。
📦 安装指南
先决条件
- Node.js(v14 或更高版本)
- npm 或 yarn
- GreenAPI 账户及凭证
安装步骤
- 克隆仓库:
git clone <repository-url>
cd whatsapp-mcp-server
- 安装依赖项:
npm install
🛠️ 配置
服务器运行需要以下环境变量:
GREENAPI_API_URL:GreenAPI 服务的基础 URLGREENAPI_API_TOKEN:你的 GreenAPI API 访问令牌
💻 使用示例
启动服务器
npm start
服务器启动后,将开始通过标准输入/输出监听 MCP 协议消息。
可用工具
打开会话
使用 GreenAPI 凭证打开新的 WhatsApp 会话。 参数:
sessionId:唯一会话 IDinstanceId:GreenAPI 实例 IDapiTokenInstance:GreenAPI API 访问令牌实例
发送消息
向指定聊天发送消息。 参数:
sessionId:来自 open_session 的会话 IDchatId:收件人聊天 ID(例如 1234567890@c.us 或 group@g.us)message:要发送的消息内容
获取聊天列表
检索可用聊天的列表。 参数:
sessionId:来自 open_session 的会话 ID
创建群组
创建新的 WhatsApp 群组。 参数:
sessionId:来自 open_session 的会话 IDgroupName:群组名称participants:要添加到群组的电话号码数组(例如 12345@c.us)
获取聊天记录
从指定聊天中检索最近消息(个人或群组)。 参数:
sessionId:来自 open_session 的会话 IDchatId:要检索消息的聊天 ID(例如 1234567890@c.us 或 group@g.us)count:要检索的消息数量(默认值:50)
⚠️ 重要提示
为了接收聊天中的 incoming 消息,你需要通过 SetSettings 方法或在 GreenAPI 控制台启用“Receive webhooks on incoming messages and files”设置。否则,聊天记录中只会显示 outgoing 消息。
发送文件
向指定聊天发送文件。 参数:
sessionId:来自 open_session 的会话 IDchatId:WhatsApp 聊天 ID(例如 1234567890@c.us)fileUrl:文件的公共 URLfileName:(可选)接收方看到的文件名caption:(可选)在文件下方显示的文字描述
添加参与者
向现有 WhatsApp 群组添加参与者。 参数:
sessionId:来自 open_session 的会话 IDgroupId:WhatsApp 群组 ID(例如 group@g.us)participantChatId:要添加的参与者的聊天 ID(例如 1234567890@c.us)
移除参与者
从现有 WhatsApp 群组移除参与者。 参数:
sessionId:来自 open_session 的会话 IDgroupId:WhatsApp 群组 ID(例如 group@g.us)participantChatId:要移除的参与者的聊天 ID(例如 1234567890@c.us)
Scan to contact