Skip to main content
Glama
billyfranklim1

mcp-evolution

mcp-evolution

npm version license CI

Servidor MCP en TypeScript para Evolution API (WhatsApp) con fijación de instancia.

Arquitectura

Este servidor implementa el Protocolo de Contexto de Modelo (MCP):

  • Transporte: stdio — el host MCP (Claude Desktop, Claude Code, etc.) inicia este proceso y se comunica mediante JSON-RPC a través de stdin/stdout.

  • Servidor: utiliza la clase de alto nivel McpServer del SDK oficial de TypeScript, que gestiona automáticamente la negociación de capacidades y el ciclo de vida de la sesión.

  • Herramientas: 50 herramientas registradas mediante registerTool() con esquemas de entrada validados por Zod — el SDK aplica los tipos antes de que se ejecute el controlador.

Los tres parámetros de conexión (URL de la API, clave de API, nombre de la instancia) se fijan al inicio mediante variables de entorno. El llamador de IA no puede cambiar de instancia durante la conversación.

Related MCP server: mcp-evolution-api

Herramientas

Mensaje

Herramienta

Descripción

send_text

Enviar un mensaje de texto plano

send_media

Enviar una imagen, vídeo, audio o documento

send_audio

Enviar un audio de WhatsApp (nota de voz PTT)

send_sticker

Enviar un sticker (webp)

send_location

Enviar una ubicación

send_contact

Compartir uno o más contactos (vCards)

send_reaction

Reaccionar a un mensaje con un emoji

send_poll

Enviar un mensaje de encuesta

send_list

Enviar un mensaje de lista/menú interactivo

send_button

Enviar un mensaje de botón interactivo

send_status

Publicar una actualización de Estado (historia) de WhatsApp

Chat

Herramienta

Descripción

find_chats

Buscar chats, opcionalmente filtrados con una cláusula where al estilo Prisma

find_contacts

Buscar contactos, opcionalmente filtrados

find_messages

Buscar mensajes por remoteJid con límite opcional

get_chat_history

Obtener el historial de mensajes de un contacto o JID de grupo

mark_as_read

Marcar uno o más mensajes como leídos

archive_chat

Archivar o desarchivar un chat

delete_message

Eliminar un mensaje para todos

fetch_profile_picture

Obtener la URL de la foto de perfil de un contacto

download_media

Descargar contenido multimedia de un mensaje en base64

send_presence

Enviar una actualización de presencia (escribiendo, grabando, etc.)

check_number

Comprobar si los números de teléfono tienen cuentas de WhatsApp

Perfil

Herramienta

Descripción

fetch_business_profile

Obtener el perfil de WhatsApp Business de un contacto

update_profile_name

Actualizar el nombre de visualización de la instancia

update_profile_status

Actualizar el texto de información/estado de la instancia

update_profile_picture

Actualizar la foto de perfil de la instancia

remove_profile_picture

Eliminar la foto de perfil de la instancia

fetch_privacy

Obtener la configuración de privacidad actual

update_privacy

Actualizar la configuración de privacidad

update_block_status

Bloquear o desbloquear un contacto

Grupo

Herramienta

Descripción

list_groups

Listar todos los grupos de WhatsApp para la instancia fijada

get_group_info

Obtener información detallada de un grupo específico por JID

create_group

Crear un nuevo grupo de WhatsApp

update_group_subject

Actualizar el nombre de un grupo

update_group_description

Actualizar la descripción de un grupo

update_group_picture

Actualizar la foto de perfil de un grupo

fetch_invite_code

Obtener el código/enlace de invitación de un grupo

revoke_invite_code

Revocar y regenerar el código de invitación de un grupo

accept_invite

Aceptar una invitación de grupo mediante código

send_group_invite

Enviar un enlace de invitación de grupo a contactos específicos

update_participants

Añadir, eliminar, promover o degradar participantes del grupo

update_group_setting

Actualizar la configuración del grupo (modo anuncio, bloqueado)

leave_group

Salir de un grupo

find_group_by_invite

Obtener información del grupo a partir de un código de invitación sin unirse

Instancia

Herramienta

Descripción

connection_state

Obtener el estado de conexión actual de la instancia

restart_instance

Reiniciar la instancia (reconecta sin cerrar sesión)

logout_instance

Cerrar sesión de la instancia (borra la sesión)

get_settings

Obtener la configuración actual de la instancia

set_settings

Actualizar la configuración de la instancia

Webhook

Herramienta

Descripción

find_webhook

Obtener la configuración actual del webhook

set_webhook

Configurar el webhook

Etiqueta

Herramienta

Descripción

find_labels

Listar todas las etiquetas (requiere WhatsApp Business)

handle_label

Añadir o eliminar una etiqueta de un chat

Instalar y ejecutar mediante npx

EVOLUTION_API_URL=http://localhost:8080 \
EVOLUTION_API_KEY=your-key \
EVOLUTION_INSTANCE=your-instance \
npx mcp-evolution

Configuración

Variable

Requerido

Descripción

EVOLUTION_API_URL

URL base de tu API de Evolution (ej. http://localhost:8080)

EVOLUTION_API_KEY

Clave de API global de la configuración de Evolution API

EVOLUTION_INSTANCE

Nombre de la instancia creada en Evolution API

Copia .env.example a .env para el desarrollo local.

Uso con Claude Desktop / Claude Code

Añadir a ~/.claude/claude_desktop_config.json o al archivo .mcp.json del proyecto:

{
  "mcpServers": {
    "whatsapp": {
      "command": "npx",
      "args": ["mcp-evolution"],
      "env": {
        "EVOLUTION_API_URL": "http://localhost:8080",
        "EVOLUTION_API_KEY": "your-evolution-api-key",
        "EVOLUTION_INSTANCE": "your-instance-name"
      }
    }
  }
}

O apunta directamente al binario compilado si ejecutas desde una copia local:

{
  "mcpServers": {
    "whatsapp": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-evolution/dist/index.js"],
      "env": {
        "EVOLUTION_API_URL": "http://localhost:8080",
        "EVOLUTION_API_KEY": "your-evolution-api-key",
        "EVOLUTION_INSTANCE": "your-instance-name"
      }
    }
  }
}

Desarrollo

# Install dependencies
npm install

# Run in dev mode (no build step)
npm run dev

# Build TypeScript → dist/
npm run build

# Run tests
npm test

# Start from built output
npm start

Endpoints de Evolution API integrados

Herramienta

Método

Ruta

send_text

POST

/message/sendText/{instance}

send_media

POST

/message/sendMedia/{instance}

send_audio

POST

/message/sendWhatsAppAudio/{instance}

send_sticker

POST

/message/sendSticker/{instance}

send_location

POST

/message/sendLocation/{instance}

send_contact

POST

/message/sendContact/{instance}

send_reaction

POST

/message/sendReaction/{instance}

send_poll

POST

/message/sendPoll/{instance}

send_list

POST

/message/sendList/{instance}

send_button

POST

/message/sendButtons/{instance}

send_status

POST

/message/sendStatus/{instance}

find_chats

POST

/chat/findChats/{instance}

find_contacts

POST

/chat/findContacts/{instance}

find_messages / get_chat_history

POST

/chat/findMessages/{instance}

mark_as_read

POST

/chat/markMessageAsRead/{instance}

archive_chat

POST

/chat/archiveChat/{instance}

delete_message

DELETE

/chat/deleteMessageForEveryone/{instance}

fetch_profile_picture

POST

/chat/fetchProfilePictureUrl/{instance}

download_media

POST

/chat/getBase64FromMediaMessage/{instance}

send_presence

POST

/chat/sendPresence/{instance}

check_number

POST

/chat/whatsappNumbers/{instance}

fetch_business_profile

POST

/chat/fetchBusinessProfile/{instance}

update_profile_name

POST

/chat/updateProfileName/{instance}

update_profile_status

POST

/chat/updateProfileStatus/{instance}

update_profile_picture

POST

/chat/updateProfilePicture/{instance}

remove_profile_picture

DELETE

/chat/removeProfilePicture/{instance}

fetch_privacy

GET

/chat/fetchPrivacySettings/{instance}

update_privacy

POST

/chat/updatePrivacySettings/{instance}

update_block_status

POST

/chat/updateBlockStatus/{instance}

list_groups

GET

/group/fetchAllGroups/{instance}

get_group_info

GET

/group/findGroupInfos/{instance}

create_group

POST

/group/create/{instance}

update_group_subject

POST

/group/updateGroupSubject/{instance}?groupJid=

update_group_description

POST

/group/updateGroupDescription/{instance}?groupJid=

update_group_picture

POST

/group/updateGroupPicture/{instance}?groupJid=

fetch_invite_code

GET

/group/inviteCode/{instance}?groupJid=

revoke_invite_code

POST

/group/revokeInviteCode/{instance}?groupJid=

accept_invite

GET

/group/acceptInviteCode/{instance}?inviteCode=

send_group_invite

POST

/group/sendInvite/{instance}

update_participants

POST

/group/updateParticipant/{instance}?groupJid=

update_group_setting

POST

/group/updateSetting/{instance}?groupJid=

leave_group

DELETE

/group/leaveGroup/{instance}?groupJid=

find_group_by_invite

GET

/group/inviteInfo/{instance}?inviteCode=

connection_state

GET

/instance/connectionState/{instance}

restart_instance

POST

/instance/restart/{instance}

logout_instance

DELETE

/instance/logout/{instance}

get_settings

GET

/settings/find/{instance}

set_settings

POST

/settings/set/{instance}

find_webhook

GET

/webhook/find/{instance}

set_webhook

POST

/webhook/set/{instance}

find_labels

GET

/label/findLabels/{instance}

handle_label

POST

/label/handleLabel/{instance}

Requiere Evolution API v2.

Licencia

MIT — ver LICENSE.

Software comunitario, no afiliado a Evolution API ni a ninguna entidad de WhatsApp.

Install Server
A
license - permissive license
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for sending and receiving WhatsApp messages through Evolution API, enabling management of instances, messages, and chats directly from Claude Code.
  • F
    license
    A
    quality
    D
    maintenance
    MCP server that wraps the Evolution API (WhatsApp) as semantic tools for LLM agents, enabling messaging, chat management, group operations, and instance control via natural language.
    32
  • A
    license
    C
    quality
    C
    maintenance
    Exposes the full WhatsApp API via Evolution API, enabling message sending, chat history, group management, and more through MCP tools.
    70
    MIT

View all related MCP servers

Related MCP Connectors

  • Official MCP server for OmniDimension. Drive voice agents, dispatch calls, and run bulk campaigns.

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • MCP server for Vonage API documentation, code snippets, tutorials, and troubleshooting.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/billyfranklim1/mcp-evolution'

If you have feedback or need assistance with the MCP directory API, please join our Discord server