Skip to main content
Glama
evolution-api-mcp-server

evolution-api-mcp-server

by Floryvibla

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

  1. 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

  2. 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

  3. Verificar se o número tem WhatsApp:

    • Use o endpoint /api/chat/check-numbers para verificar

Erro "Access denied"

  • Verifique que você está enviando o cabeçalho X-API-Key com o valor correto

Erro de conexão

  1. Verifique que o Evolution API está funcionando:

    curl {SUA_URL_EVOLUTION_API}/instance/fetchInstances \
      -H "apikey: {SUA_API_KEY}"
  2. Se o Evolution API não responder, o problema está no Easypanel/Coolify

Scripts de Teste

Há dois scripts de teste disponíveis:

  1. test-mcp.sh - Testa o servidor MCP

  2. 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.sh

Deploy 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-mcp

Ou usando Docker Compose:

docker-compose up -d

Atualização do Código

Quando fizer alterações no código:

  1. Commit e push para GitHub:

    git add .
    git commit -m "Descrição da alteração"
    git push origin master
  2. Railway detectará automaticamente as alterações e redeployará

  3. Verifique o status do deploy no Railway:

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 API

  • EVOLUTION_API_KEY: Chave da Evolution API

  • MCP_SERVER_PORT: Porta do servidor MCP (padrão: 3000)

  • NODE_ENV: Ambiente (production ou development)

Notas Importantes

  1. Segurança: Nunca exponha a API Key em código público

  2. Limites de taxa: Evolution API pode ter limites de taxa

  3. Sessão do WhatsApp: A sessão pode expirar e exigir novo escaneamento de QR

  4. Números bloqueados: WhatsApp pode bloquear números que enviam muitos mensagens

Contato e Suporte

Para problemas com:


Última atualização: 29 de Junho de 2026

Available Tools

25 tools
add_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

    B3/5.0

    Scored across 25 tools

    Disambiguation5/5

    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.

    Naming Consistency4/5

    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.

    Tool Count4/5

    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.

    Completeness4/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables 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.
      25
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      Exposes the full WhatsApp API via Evolution API, enabling message sending, chat history, group management, and more through MCP tools.
      70
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables 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.
      4
      MIT