MCP Evolution API
一个与Claude集成的模型上下文协议(MCP)服务器 进化API 用于WhatsApp自动化。
概述
这个MCP服务器允许Claude通过Evolution API与WhatsApp进行交互,从而实现诸如以下功能:
- 管理WhatsApp实例
- 发送各种类型的消息
- 与联系人和群组协作
- 配置Webhooks和设置
📂 项目结构
mcp-evo-api/
├── src/
│ ├── tools/ # MCP tools implementation for Evolution API
│ ├── utils/ # Shared utilities, including Evolution API client
│ ├── main.ts # Server entry point
│ └── types.ts # Shared type definitions
├── scripts/ # Helper scripts
├── biome.json # Linting configuration
├── tsconfig.json # TypeScript configuration
├── docker-compose.yml # Docker Compose configuration
├── Dockerfile # Docker build configuration
└── package.json # Project dependencies🚀 快速设置
环境设置
创建一个 .env 请使用您的Evolution API凭据文件:
EVOLUTION_API_URL=https://evo-api.decisao.ai/
EVOLUTION_API_KEY=REPLACE_WITH_YOUR_REAL_KEY注意:您提供了API URL和一个密钥。出于安全考虑,切勿将真实的API密钥提交到仓库或公开共享。请使用本地 .env 在生产环境中使用文件或密钥管理器。
📋 部署选项
| 环境 | 步骤 | 命令 |
|---|---|---|
| 本地开发 1. 克隆并安装 | ||
| 2. 以开发模式运行 | git clone https://github.com/aiteks-ltda/mcp-evo-api.git && cd mcp-evo-api && bun install | |
bun run dev | ||
| 本地生产 1. 克隆并安装 | ||
| 2. 构建并运行 | git clone https://github.com/aiteks-ltda/mcp-evo-api.git && cd mcp-evo-api && bun install | |
bun run build && bun run dist/main.js | ||
| Docker Compose | 使用 Docker Compose 运行 | git clone https://github.com/aiteks-ltda/mcp-evo-api.git && cd mcp-evo-api |
docker-compose up -d | ||
| Docker | 构建并运行容器 | docker run -d -p 3000:3000 -e EVOLUTION_API_URL=yoururl -e EVOLUTION_API_KEY=yourkey --name mcp-evo-api ghcr.io/aiteks-ltda/mcp-evo-api:latest |
Claude 桌面配置
将此添加到您的Claude Desktop配置文件中(通常位于 ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"evo-api": {
"command": "node",
"args": [
"/path/to/your/mcp-evo-api/dist/main.js"
]
}
}
}如果使用Docker部署:
{
"mcpServers": {
"evo-api": {
"url": "http://localhost:3000"
}
}
}📊 实施状态
| 类别 | 已实施 | 待实施 |
|---|---|---|
| 核心API | ✅ 获取信息 |
✅ 创建实例 ✅ 获取实例 ✅ 实例连接 ✅ 重启实例 ✅ 连接状态 ✅ 登出实例 ✅ 删除实例 ✅ 设置在线状态 | ❌ 检查是否为WhatsApp | | Webhook & 设置 | ✅ 设置Webhook ✅ 查找Webhook ✅ 设置设置 ✅ 查找设置 | | | 消息传递 | ✅ 发送纯文本 ✅ 发送状态 ✅ 发送媒体 ✅ 发送WhatsApp音频 ✅ 发送贴纸 ✅ 发送位置 ✅ 发送联系人 ✅ 发送表情反应 ✅ 发送投票 ✅ 发送列表 ✅ 发送按钮 | ❌ 标记消息为已读 ❌ 将消息标记为未读 ❌ 存档聊天记录 ❌ 删除对所有人可见的消息 ❌ 更新消息 ❌ 发送在线状态(聊天控制)| | 聊天与联系人 | ✅ 查找联系人 ✅ 查找聊天 | ❌ 更新屏蔽状态 ❌ 获取头像URL ❌ 获取Base64 ❌ 查找信息 ❌ 查找状态消息 | | 团体;小组 | ✅ 通过JID查找群组 ✅ 获取所有群组 ✅ 查找群成员 | ❌ 创建群 ❌ 更新群组照片 ❌ 更新群组主题 ❌ 更新群组描述 ❌ 获取邀请码 ❌ 撤销邀请码 ❌ 发送群组邀请 ❌ 通过邀请码查找群组 ❌ 更新群组成员 ❌ 更新群组设置 ❌ 切换瞬时消息(或:开启/关闭临时消息) ❌ 退出群组 | | 配置文件设置 | | ❌ 获取商业资料 ❌ 获取配置文件 ❌ 更新个人资料名称 ❌ 更新个人资料状态 ❌ 更新个人资料照片 ❌ 删除头像 ❌ 获取隐私设置 ❌ 更新隐私设置 | | 机器人集成 | | ❌ Typebot 集成 ❌ OpenAI 集成 ❌ 进化机器人 ❌ Dify 机器人 ❌ Flowise Bot(注:此处“❌”可能表示某种否定、错误或特定标识,但在此语境下直接翻译为中文时,通常保留原样或根据上下文具体解释,这里直接作为符号处理) | | 其他集成 | | ❌ Chatwoot ❌ WebSocket(网络套接字协议) ❌ SQS(注:SQS在英文中通常指“Simple Queue Service”,即亚马逊的简单队列服务,但在此上下文中仅作为一个标识或代码提及,故直接保留原样翻译) ❌ RabbitMQ |
如需更多信息,请参阅 进化API文档。
示例
examples/hono-bun/- 为Bun提供的小型Hono服务器(保存的示例)。请查看。examples/hono-bun/README.md用于执行说明。
