evolution-api-mcp-server
Provides tools for sending text messages, checking WhatsApp numbers, managing groups and chats, and interacting with the Evolution API to control WhatsApp instances.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@evolution-api-mcp-server Send a WhatsApp message to +5511999999999 saying 'Olá, tudo bem?'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Evolution API MCP Server - Guia de Uso
Configuração Atual
URL do Servidor MCP:
http://localhost:{MCP_SERVER_PORT}(ou sua URL de produção)URL do Evolution API: (sua URL do Evolution API)
API Key: (sua API Key)
Instância: (nome da sua instância)
Número de teste: (número de teste em formato E.164)
Related MCP server: Evolution API MCP Server
Endpoints Disponíveis
1. Informações do Servidor
curl http://localhost:{MCP_SERVER_PORT}/2. Verificação de Saúde
curl http://localhost:{MCP_SERVER_PORT}/api/health \
-H "X-API-Key: {SUA_API_KEY}"3. Listar Instâncias
curl http://localhost:{MCP_SERVER_PORT}/api/instances \
-H "X-API-Key: {SUA_API_KEY}"4. Status de uma Instância
curl http://localhost:{MCP_SERVER_PORT}/api/instances/{NOME_DA_INSTANCIA}/status \
-H "X-API-Key: {SUA_API_KEY}"5. Enviar Mensagem de Texto
curl -X POST http://localhost:{MCP_SERVER_PORT}/api/send/text \
-H "Content-Type: application/json" \
-H "X-API-Key: {SUA_API_KEY}" \
-d '{
"instanceName": "{NOME_DA_INSTANCIA}",
"number": "{NUMERO_DESTINO}",
"text": "Olá! Esta é uma mensagem de teste"
}'6. Verificar Números de WhatsApp
curl -X POST http://localhost:{MCP_SERVER_PORT}/api/chat/check-numbers \
-H "Content-Type: application/json" \
-H "X-API-Key: {SUA_API_KEY}" \
-d '{
"instanceName": "{NOME_DA_INSTANCIA}",
"numbers": ["{NUMERO_1}", "{NUMERO_2}"]
}'7. Listar Contatos
curl http://localhost:{MCP_SERVER_PORT}/api/chat/{NOME_DA_INSTANCIA}/contacts \
-H "X-API-Key: {SUA_API_KEY}"8. Listar Grupos
curl http://localhost:{MCP_SERVER_PORT}/api/groups/{NOME_DA_INSTANCIA} \
-H "X-API-Key: {SUA_API_KEY}"9. Listar Chats
curl http://localhost:{MCP_SERVER_PORT}/api/chat/{NOME_DA_INSTANCIA}/chats \
-H "X-API-Key: {SUA_API_KEY}"Solução de Problemas
A mensagem não chega ao WhatsApp
Verificar que a instância está conectada:
A instância deve ter estado "open" ou "connected"
Se não estiver conectada, você precisa escanear o QR code novamente
Formato do número:
Brasil: 55 + código de área + número (exemplo: 554198908495)
Sem espaços, traços ou símbolos
Sem o símbolo + no início
Verificar se o número tem WhatsApp:
Use o endpoint
/api/chat/check-numberspara verificar
Erro "Access denied"
Verifique que você está enviando o cabeçalho
X-API-Keycom o valor correto
Erro de conexão
Verifique que o Evolution API está funcionando:
curl {SUA_URL_EVOLUTION_API}/instance/fetchInstances \ -H "apikey: {SUA_API_KEY}"Se o Evolution API não responder, o problema está no Easypanel/Coolify
Scripts de Teste
Há dois scripts de teste disponíveis:
test-mcp.sh - Testa o servidor MCP
test-evolution-direct.sh - Testa diretamente o Evolution API
Para executá-los no Windows, use Git Bash:
bash test-mcp.sh
bash test-evolution-direct.shDeploy com Docker
Você pode fazer deploy usando o Dockerfile incluído:
docker build -t evolution-api-mcp .
docker run -p 3000:3000 --env-file .env evolution-api-mcpOu usando Docker Compose:
docker-compose up -dAtualização do Código
Quando fizer alterações no código:
Commit e push para GitHub:
git add . git commit -m "Descrição da alteração" git push origin masterRailway detectará automaticamente as alterações e redeployará
Verifique o status do deploy no Railway:
Acesse https://railway.app
Entre no projeto "MCP Servers"
Revise o status do deploy
Estrutura do Projeto
evolution-api-mcp-server/
├── src/
│ ├── index.ts # Arquivo principal
│ ├── routes/ # Rotas organizadas por categoria
│ │ ├── api.ts # Roteador principal
│ │ ├── instance/ # Instâncias
│ │ ├── message/ # Mensagens
│ │ ├── chat/ # Chat
│ │ ├── group/ # Grupos
│ │ ├── business/ # Business
│ │ ├── settings/ # Configurações
│ │ ├── label/ # Etiquetas
│ │ ├── call/ # Chamadas
│ │ └── template/ # Templates
│ ├── services/
│ │ ├── evolution-api.ts # Cliente de Evolution API
│ │ ├── instance-manager.ts # Gerenciador de instâncias
│ │ └── template-service.ts # Serviço de templates
│ ├── utils/
│ │ └── logger.ts # Logger
│ └── types/
│ └── evolution.ts # Tipos TypeScript
├── package.json
├── tsconfig.json
├── Dockerfile
└── .env # Variáveis de ambiente (local)Variáveis de Ambiente
As seguintes variáveis precisam ser configuradas no seu .env ou na plataforma de deploy:
EVOLUTION_API_URL: URL base do Evolution APIEVOLUTION_API_KEY: Chave da Evolution APIMCP_SERVER_PORT: Porta do servidor MCP (padrão: 3000)NODE_ENV: Ambiente (production ou development)
Notas Importantes
Segurança: Nunca exponha a API Key em código público
Limites de taxa: Evolution API pode ter limites de taxa
Sessão do WhatsApp: A sessão pode expirar e exigir novo escaneamento de QR
Números bloqueados: WhatsApp pode bloquear números que enviam muitos mensagens
Contato e Suporte
Para problemas com:
Evolution API: Revise a documentação em https://docs.evolutionfoundation.com.br/evolution-api/
Railway: https://railway.app/support
Coolify/Easypanel: Painel de controle da sua instância
Última atualização: 29 de Junho de 2026
Available Tools
25 toolsadd_participantsC
Add participants to a group
Inputs: groupJid (required), instanceName (required), participants (required).
check_numberC
Check if phone numbers have WhatsApp
Inputs: numbers (required), instanceName (required).
connect_instanceC
Connect a WhatsApp instance
Inputs: instanceName (required).
create_groupB
Create a new WhatsApp group
Inputs: subject (required), instanceName (required), participants (required), description.
create_instanceB
Create a new WhatsApp instance
Inputs: instanceName (required), qrcode, webhookUrl.
create_templateC
Create a new message template
Inputs: name (required), text (required), tags, category, +2 more.
delete_instanceB
Delete a WhatsApp instance
Inputs: instanceName (required).
delete_templateC
Delete a custom template
Inputs: templateId (required).
get_chatsC
Get all chats
Inputs: instanceName (required).
get_messagesC
Get messages from a chat
Inputs: remoteJid (required), instanceName (required), limit.
get_templateB
Get a specific template by ID
Inputs: templateId (required).
instance_statusA
Get connection status of an instance
Inputs: instanceName (required).
list_contactsC
List all contacts
Inputs: instanceName (required).
list_groupsC
List all groups
Inputs: instanceName (required), getParticipants.
list_instancesC
List all WhatsApp instances
Inputs: no named parameters.
list_templatesC
List all message templates
Inputs: tags, category.
read_messageC
Mark message as read
Inputs: remoteJid (required), instanceName (required), id, fromMe.
remove_participantsB
Remove participants from a group
Inputs: groupJid (required), instanceName (required), participants (required).
search_templatesC
Search templates by text
Inputs: query (required).
send_buttonsD
Send message with buttons
Inputs: number (required), buttons (required), instanceName (required), title, +2 more.
send_listC
Send interactive list message
Inputs: number (required), sections (required), instanceName (required), title, +2 more.
send_mediaC
Send media (image, video, audio, document)
Inputs: media (required), number (required), mediatype (required), instanceName (required), +2 more.
send_templateC
Send a message using a template
Inputs: number (required), variables (required), templateId (required), instanceName (required).
send_textC
Send a text message
Inputs: text (required), number (required), instanceName (required), delay.
update_templateB
Update an existing template
Inputs: templateId (required), name, text, variables, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 25 tools
Each tool has a clearly distinct purpose, covering different aspects like instance management, messaging, group management, and templates. There is no overlap or ambiguity between tools.
Most tools follow a verb_noun pattern (e.g., create_instance, send_text). However, 'instance_status' breaks the pattern (noun_verb), causing a minor inconsistency.
25 tools is slightly above the typical range but still appropriate for a comprehensive WhatsApp API. Each tool addresses a distinct operation, and the count feels well-scoped.
The tool set covers core operations for instance management, messaging, group management, templates, and contacts. Minor gaps exist (e.g., no explicit instance QR retrieval, no update group info), but agents can handle most workflows.
Maintenance
Related MCP Connectors
Send WhatsApp messages and templates, manage chats, contacts, broadcasts and AI agents.
Send and read WhatsApp messages, templates, chats and campaigns through the official Business API.
Operate one Evolution API (WhatsApp) instance: chats, history, sending, groups, settings.
Send, receive, edit and react to WhatsApp messages from your own number. OAuth or API key sign-in.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables WhatsApp Business messaging through Evolution API with support for creating instances, sending messages using dynamic templates, and managing contacts and groups. Includes 10+ predefined message templates for common business scenarios like order confirmations, appointment reminders, and promotional messages.25MIT
- AlicenseNot gradedqualityDmaintenanceEnables WhatsApp integration through Evolution API, allowing users to send messages, manage media, track conversations, and control presence status directly from Claude.MIT
- AlicenseCqualityDmaintenanceExposes the full WhatsApp API via Evolution API, enabling message sending, chat history, group management, and more through MCP tools.70MIT
- AlicenseAqualityDmaintenanceEnables LLM agents to operate WhatsApp through the Evolution API, providing tools to list groups, fetch message history, and send text messages to groups or individual phone numbers.4MIT