About Evolution API
Evolution API is an MCP server published by IntuitivePhella in the AI category: servidor MCP para integrar modelos de linguagem com a Evolution API.
The repository has 24 stars and 24 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/IntuitivePhella/mcp-evolution-apiThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Evolution API
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
MCP Server para Evolution API
Este projeto implementa um servidor MCP (Model Context Protocol) que expõe todas as funcionalidades da Evolution API v2 para modelos de linguagem.
Funcionalidades
O servidor expõe todas as categorias de funcionalidades da Evolution API:
Gestão de Instâncias
- Verificação de status da API e instância
- Criação, exclusão e reinicialização de instâncias
- Gestão de presença
- Logout
Envio de Mensagens
- Mensagens de texto
- Mensagens com mídia (imagens, documentos, vídeos, áudios)
- Stickers
- Localização
- Contatos
- Enquetes e listas
- Status
Gestão de Chat
- Verificação de números WhatsApp
- Marcação de mensagens como lidas
- Arquivamento de conversas
- Exclusão de mensagens
- Gestão de presença no chat
- Busca de mensagens e contatos
Perfil
- Busca e atualização de informações de perfil
- Atualização de foto de perfil
- Configuração de privacidade
Grupos
- Criação e gestão de grupos
- Adição/remoção de participantes
- Configuração de mensagens efêmeras
- Convites de grupo
Integrações Adicionais
- Typebot
- Chatwoot
Requisitos
- Node.js 18+
- NPM ou Yarn
- Acesso a um servidor Evolution API v2
Instalação
Via NPM (localmente)
# Instalar localmente
git clone https://github.com/IntuitivePhella/mcp-evolution-api.git
cd mcp-evolution-api
npm install
npm run build
Via NPX (sem instalação)
# Executar diretamente via npx (quando publicado)
npx mcp-evolution-api
Via Docker
# Construir a imagem
docker build -t mcp-evolution-api .
# Executar o container
docker run -p 3000:3000 --env-file .env mcp-evolution-api
Configuração
Crie um arquivo .env na raiz do projeto com as seguintes variáveis:
# URL do servidor Evolution API
EVOLUTION_API_URL=https://seu-servidor-evolution-api.com
# Chave API da Evolution API
EVOLUTION_API_KEY=sua-chave-api
# ID da instância WhatsApp na Evolution API
EVOLUTION_API_INSTANCE=instancia-padrao
# Habilitar servidor WebSocket (opcional)
ENABLE_WEBSOCKET=true
# Porta para o servidor WebSocket (opcional)
PORT=3000
Execução
Linha de comando
Para iniciar o servidor em modo de desenvolvimento:
npm run dev
Para compilar e executar em produção:
npm run build
npm start
Docker
# Usando os scripts do npm
npm run docker:build
npm run docker:run
Métodos de Conexão
Este servidor MCP suporta dois métodos de conexão:
1. STDIO (Padrão)
Usado principalmente para conexões locais e integração com ferramentas como Claude Desktop.
2. WebSocket
Ideal para conexões remotas ou quando o servidor está em um contêiner Docker. Para habilitar:
ENABLE_WEBSOCKET=true
PORT=3000 # porta opcional, padrão é 3000
Integração com Ferramentas
Claude Desktop
Adicione ao seu arquivo claude_desktop_config.json:
{
"mcpServers": {
"evolution-api": {
"command": "node",
"args": [
"/caminho/completo/para/mcp-evolution-api/dist/index.js"
],
"env": {
"EVOLUTION_API_URL": "https://seu-servidor-evolution-api.com",
"EVOLUTION_API_KEY": "sua-chave-api",
"EVOLUTION_API_INSTANCE": "sua-instancia"
}
}
}
}
Veja um exemplo completo em examples/claude_desktop_config.json.
n8n
Para configurar no n8n, consulte o guia detalhado em examples/n8n_config.md.
Ferramentas Disponíveis
O servidor MCP expõe as seguintes ferramentas que podem ser chamadas pelo cliente MCP:
Informações Gerais
getApiStatus: Verifica o status da Evolution API
Gestão de Instâncias
getInstanceStatus: Verifica o status da conexão do WhatsAppsetPresence: Define o status de presençalogoutInstance: Desconecta a instânciarestartInstance: Reinicia a instância
Mensagens
sendTextMessage: Envia uma mensagem de textosendMedia: Envia mídia (imagem, documento, vídeo, áudio)sendAudio: Envia áudio/mensagem de vozsendSticker: Envia um stickersendLocation: Envia uma localizaçãosendContact: Envia um contatosendPoll: Envia uma enquete
Controle de Chat
checkWhatsAppNumber: Verifica se um número é do WhatsAppmarkMessageAsRead: Marca mensagem como lidaarchiveChat: Arquiva/desarquiva um chatdeleteMessageForEveryone: Exclui mensagem para todos
Perfil
updateProfileName: Atualiza o nome do perfilupdateProfileStatus: Atualiza o status do perfil
Grupos
createGroup: Cria um novo grupoaddGroupParticipants: Adiciona participantes a um grupo
Recursos Disponíveis
O servidor MCP disponibiliza os seguintes recursos:
contacts://list: Lista todos os contatos disponíveischats://list: Lista todas as conversas disponíveisgroups://list: Lista todos os grupos disponíveisprofile://info: Exibe informações do perfilprivacy://settings: Exibe configurações de privacidade
Exemplo de uso com Claude via MCP
import { McpClient } from "@modelcontextprotocol/sdk/client/mcp.js";
// Conecte-se ao servidor MCP
const client = new McpClient();
await client.connect(mcpServerTransport);
// Verificar status da API
const status = await client.callTool("getApiStatus", {});
console.log(status.content[0].text);
// Enviar uma mensagem
const msgResult = await client.callTool("sendTextMessage", {
number: "5511999999999",
text: "Olá, esta é uma mensagem de teste!"
});
console.log(msgResult.content[0].text);
// Enviar uma mídia
const mediaResult = await client.callTool("sendMedia", {
number: "5511999999999",
url: "https://exemplo.com/imagem.jpg",
caption: "Veja esta imagem!",
mediaType: "image"
});
console.log(mediaResult.content[0].text);
// Carregar recursos
const groups = await client.loadResource("groups://list");
console.log(groups.contents[0].text);
Licença
MIT
README fetched from the repository 5 days ago. The original is authoritative.