Skip to main content
Glama
DerechoVirtual

ultramsg-mcp

UltraMsg MCP

Servidor MCP (Model Context Protocol) para la API de WhatsApp de UltraMsg. Permite a Claude (Desktop / Cowork / cualquier cliente MCP) enviar y leer mensajes de WhatsApp: texto, imágenes, documentos, audio, notas de voz, vídeo, stickers, ubicaciones, contactos y reacciones, además de consultar el estado de la instancia, chats, contactos y grupos.

Genérico y portable: no incluye ninguna credencial. Configura tu instancia y token por variables de entorno.


Endpoints / URL base

UltraMsg expone una API REST por instancia:

https://api.ultramsg.com/{INSTANCE_ID}/...

Tu INSTANCE_ID y TOKEN están en el panel de UltraMsg (sección Instance).


Related MCP server: mcp-evolution

Instalación

git clone https://github.com/<usuario>/ultramsg-mcp.git
cd ultramsg-mcp
pip install -r requirements.txt

Configuración

Por variables de entorno (recomendado):

Variable

Obligatoria

Descripción

ULTRAMSG_INSTANCE_ID

✅

ID de instancia, p.ej. instanceXXXXXX

ULTRAMSG_TOKEN

✅

Token de la instancia

ULTRAMSG_BASE_URL

❌

Por defecto https://api.ultramsg.com

ULTRAMSG_ALLOW_CRITICAL

❌

1 para habilitar acciones críticas (off por defecto)

ULTRAMSG_ALLOWED_RECIPIENTS

❌

Lista de números permitidos como destinatario (coma-separada). Vacío = cualquiera

PYTHONUTF8

recomendado

1 en Windows para evitar errores de codificación

Alternativa: copia config.json.example a config.json (excluido por .gitignore) y rellena tus datos.

Registro en Claude Desktop

claude_desktop_config.json:

{
  "mcpServers": {
    "ultramsg": {
      "command": "python",
      "args": ["C:/ruta/a/ultramsg-mcp/server.py"],
      "env": {
        "ULTRAMSG_INSTANCE_ID": "instanceXXXXXX",
        "ULTRAMSG_TOKEN": "tu_token",
        "PYTHONUTF8": "1"
      }
    }
  }
}

Reinicia Claude Desktop tras editar el config.


Herramientas (27)

Lectura (READ)

  • ultramsg_instance_status — estado de la instancia (conectada, batería…)

  • ultramsg_instance_me — cuenta de WhatsApp vinculada

  • ultramsg_instance_settings — configuración (webhooks, delays…)

  • ultramsg_list_messages — lista mensajes (filtro por estado, paginado)

  • ultramsg_message_statistics — estadísticas de envío

  • ultramsg_list_chats — chats

  • ultramsg_chat_messages — mensajes de un chat

  • ultramsg_list_contacts — contactos

  • ultramsg_check_number — comprueba si un número está en WhatsApp

  • ultramsg_list_groups — grupos

  • ultramsg_get_group — detalle de un grupo

Envíos (WRITE)

  • ultramsg_send_text — texto

  • ultramsg_send_image — imagen (URL o base64) + caption

  • ultramsg_send_document — documento (PDF, docx…)

  • ultramsg_send_audio — audio (mp3)

  • ultramsg_send_voice — nota de voz (ogg/opus)

  • ultramsg_send_video — vídeo

  • ultramsg_send_sticker — sticker (webp)

  • ultramsg_send_location — ubicación (lat/lng)

  • ultramsg_send_contact — compartir contacto

  • ultramsg_send_reaction — reaccionar a un mensaje

Críticas (CRITICAL — requieren ULTRAMSG_ALLOW_CRITICAL=1)

  • ultramsg_delete_message — borrar mensaje enviado

  • ultramsg_clear_messages — vaciar cola/historial

  • ultramsg_instance_restart — reiniciar instancia

  • ultramsg_instance_logout — cerrar sesión (desvincula el teléfono)

  • ultramsg_block_contact / ultramsg_unblock_contact

Las acciones críticas están bloqueadas por defecto porque pueden desconectar o alterar la instancia de WhatsApp. Se habilitan explícitamente con ULTRAMSG_ALLOW_CRITICAL=1.


Formato de destinatario

  • Número con prefijo de país: 34600000000

  • O chatId: 34600000000@c.us (contacto) / ...@g.us (grupo)

El servidor normaliza +, espacios y guiones automáticamente.


Pruebas

# requiere credenciales + un número de prueba propio
export TEST_TO=34600000000
python test_mcp.py          # cobertura de los 27 endpoints (READ/WRITE/CRITICAL)
python test_handshake.py    # handshake MCP por stdio (initialize + tools/list)

Stack

Python 3 + FastMCP + requests.

Licencia

MIT.

Related MCP Connectors

  • WhatsApp (Web + Business API), SMS, contacts, and call records via 2Chat's MCP server.

  • Unified messaging MCP server: WhatsApp, Instagram, Telegram, SMS, Messenger & email support inbox

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

  • Your own WhatsApp as an MCP server: read, search and send from any MCP client.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP (Multi-Agent Conversation Protocol) Server that enables interaction with the WhatsApp Business API, allowing agents to send messages, manage media, and perform other WhatsApp business operations through natural language.
    1
    -
  • A
    license
    B
    quality
    C
    maintenance
    MCP server that integrates Evolution API to enable WhatsApp messaging, chat management, group operations, and instance control through natural language tools.
    54
    1
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for interacting with the official Meta WhatsApp Business Platform/Cloud API, enabling sending messages, managing contacts, templates, and handling webhook callbacks.
    Apache 2.0
  • A
    license
    B
    quality
    B
    maintenance
    MCP server that enables AI agents to operate WhatsApp via Visto Azul API: send text, media, PIX charges, manage campaigns and contacts, and configure webhooks using natural language.
    11
    8 npm
    MIT