MCP Evolution API
MCP 演进 API
用于 Claude 的模型上下文协议 (MCP) 服务器与Evolution API集成以实现 WhatsApp 自动化。
概述
该 MCP 服务器允许 Claude 通过 Evolution API 与 WhatsApp 进行交互,从而实现以下功能:
管理 WhatsApp 实例
发送各种类型的消息
与联系人和群组合作
配置 webhook 和设置
Related MCP server: Evolution API MCP Server
📂 项目结构
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🚀 快速设置
环境设置
使用您的 Evolution API 凭证创建一个.env文件:
EVOLUTION_API_URL=https://your-evolution-api-server.com
EVOLUTION_API_KEY=your-api-key-here📋 部署选项
环境 | 步骤 | 命令 |
本地开发 | 1. 克隆并安装2. 以开发模式运行 |
|
本地生产 | 1. 克隆并安装2. 构建并运行 |
|
Docker Compose | 使用 Docker Compose 运行 |
|
Docker | 构建并运行容器 |
|
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 集成❌ Evolution Bot❌ Dify Bot❌ Flowise Bot | |
其他集成 | ❌Chatwoot❌Websocket❌SQS❌RabbitMQ |
有关更多信息,请参阅Evolution API 文档。
Available Tools
1 toolhello_toolD
Hello tool
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the person to greet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Hello tool' reveals nothing about whether this is a read/write operation, what permissions might be required, what side effects occur, or what the response format looks like. The description fails to provide any behavioral context beyond the minimal implication from the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While technically concise with only two words, this represents under-specification rather than effective conciseness. The description doesn't contain enough information to be useful, and the single phrase doesn't earn its place by providing meaningful guidance to an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no annotations and no output schema, the description should provide more complete context about what this tool does and what to expect. A single-parameter tool with 100% schema coverage could get by with minimal description, but 'Hello tool' fails to explain the basic purpose and behavior adequately for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents the single 'name' parameter. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no parameter information in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Hello tool' is essentially a tautology that restates the tool name without specifying what it does. It doesn't provide a clear verb+resource combination or explain the actual function. While the name suggests greeting functionality, the description fails to articulate this explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides absolutely no guidance about when to use this tool, what context it's appropriate for, or any prerequisites. There are no sibling tools mentioned, but even basic usage context is completely missing from the description text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
hello_tool
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools, as there are no other tools to compare it against. The single tool's purpose is inherently distinct by default.
A single tool cannot demonstrate inconsistency, as there are no other tool names to compare it to. The naming pattern for 'hello_tool' (snake_case) is consistent within the set, albeit trivially so.
A single tool is generally too few for most server purposes, as it limits functionality and suggests an incomplete or trivial implementation. While it might be appropriate for a minimal 'hello world' server, it is inadequate for any substantive domain coverage.
With only one tool named 'hello_tool', it is impossible to infer a meaningful domain or assess coverage. There are obvious gaps, as no CRUD operations, lifecycle management, or typical API interactions are present, making the surface severely incomplete for any practical purpose.
Maintenance
Related MCP Connectors
WhatsMCP connects Claude and other MCP-compatible AI agents directly to WhatsApp. Send and receive text, images, documents, and voice notes; manage groups (create, add/remove members, promote admins); look up contacts and profiles; follow channels; and read call and message history — all through a standard MCP interface. For voice use cases, WhatsMCP offers SIP-based calling plans (inbound-only, or full inbound/outbound) so AI voice agents can answer and place WhatsApp calls, plus low-latency WebSocket integrations with voice agent providers like ElevenLabs. Multiple WhatsApp accounts can be paired and managed per workspace, with webhook support for real-time inbound message delivery to your own infrastructure.
- WhatSyncOAuthapp.whatsync
WhatsApp for Claude, ChatGPT or any AI agent: search, reply and send. Personal or Business API.
Atendio is a WhatsApp AI assistant for businesses in Latin America, on the official WhatsApp Business Platform. This MCP server lets Claude (or any MCP client) list and read WhatsApp conversations, view analytics and assistant settings, and create, edit or delete the rules your AI assistant follows. Remote, OAuth 2.1; the business always reviews and publishes rule changes.
Let Claude or ChatGPT search, read and send your WhatsApp messages over MCP. OAuth sign-in.
Related MCP Servers
- AlicenseCqualityFmaintenanceA Model Context Protocol server that connects your personal WhatsApp account to AI agents like Claude, enabling them to search messages, view contacts, retrieve chat history, and send messages via WhatsApp.711 npm75ISC
- AlicenseNot gradedqualityCmaintenanceEnables WhatsApp integration through Evolution API, allowing users to send messages, manage media, track conversations, and control presence status directly from Claude.MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables interaction with WhatsApp through local stdio or remote HTTP/SSE connections. It allows users to send messages, manage groups, and access chat history using natural language.48 npm3MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for sending and receiving WhatsApp messages through Evolution API, enabling management of instances, messages, and chats directly from Claude Code.-