内容
# WhatsApp MCP 服务器
使用模型上下文协议(MCP)SDK实现的WhatsApp服务器。该服务器通过GreenAPI服务提供与WhatsApp交互的标准接口。
## 功能特点
- WhatsApp会话管理
- 与GreenAPI服务集成
- 标准MCP协议实现
- TypeScript支持
## 前置条件
- Node.js(v14或更高版本)
- npm或yarn
- GreenAPI账户和凭证
## 安装
1. 克隆仓库:
```bash
git clone <仓库地址>
cd whatsapp-mcp-server
```
2. 安装依赖:
```bash
npm install
```
## 配置
服务器需要以下环境变量:
- `GREENAPI_API_URL`:GreenAPI服务的基准URL
- `GREENAPI_API_TOKEN`:您的GreenAPI API令牌
## 使用
1. 启动服务器:
```bash
npm start
```
2. 服务器将通过标准输入/输出监听MCP协议消息。
## 可用工具
### 打开会话
使用GreenAPI凭证打开新的WhatsApp会话。
参数:
- `sessionId`:唯一的会话ID
- `instanceId`:GreenAPI实例ID
- `apiTokenInstance`:GreenAPI API令牌
### 发送消息
向指定聊天发送消息。
参数:
- `sessionId`:来自open_session的会话ID
- `chatId`:接收聊天ID(例如 1234567890@c.us 或 group@g.us)
- `message`:要发送的消息
### 获取聊天列表
检索可用的聊天列表。
参数:
- `sessionId`:来自open_session的会话ID
### 创建群组
创建新的WhatsApp群组。
参数:
- `sessionId`:来自open_session的会话ID
- `groupName`:要创建的群组名称
- `participants`:电话号码数组,带域名(例如 12345@c.us)
### 获取聊天历史
从指定聊天(个人或群组)检索最近的消息。
参数:
- `sessionId`:来自open_session的会话ID
- `chatId`:要检索消息的聊天ID(例如 1234567890@c.us 或 group@g.us)
- `count`:要检索的消息数量(默认值:50)
> **重要**:要接收聊天历史中的传入消息,您需要使用SetSettings方法或通过GreenAPI控制台启用“接收传入消息和文件时的网络钩子”设置。如果未启用此设置,聊天历史仅显示传出消息。
### 发送文件
向指定聊天发送文件。
参数:
- `sessionId`:来自open_session的会话ID
- `chatId`:WhatsApp聊天ID(例如 1234567890@c.us)
- `fileUrl`:要发送的文件的公共URL
- `fileName`:(可选)接收者看到的文件名称
- `caption`:(可选)要在文件下显示的标题文本
### 添加参与者
向现有的WhatsApp群组添加参与者。
参数:
- `sessionId`:来自open_session的会话ID
- `groupId`:WhatsApp群组的ID(例如 group@g.us)
- `participantChatId`:要添加的参与者的聊天ID(例如 1234567890@c.us)
### 删除参与者
从现有的WhatsApp群组中删除参与者。
参数:
- `sessionId`:来自open_session的会话ID
- `groupId`:WhatsApp群组的ID(例如 group@g.us)
- `participantChatId`:要删除的参与者的聊天ID(例如 1234567890@c.us)