Servidor MCP para asistentes IA
MCP (Model Context Protocol) es el estándar abierto que permite a un asistente IA usar un software a través de herramientas. El servidor MCP de WhatSetter expone 34 herramientas, una por endpoint de la API, para que tu asistente lea tus leads, importe contactos o bloquee un prefijo desde un chat.
El servidor
Sección titulada «El servidor»| Elemento | Valor |
|---|---|
| URL | https://mcp.whatsetter.com/mcp |
| Transporte | Streamable HTTP. https://mcp.whatsetter.com/sse sigue funcionando para clientes más antiguos. |
| Autenticación | OAuth (recomendado) o una cabecera directa Authorization: Bearer ws_live_… |
| Qué necesita | Una clave API creada en Configuración, luego API y MCP |
El servidor es un simple traductor: cada llamada a una herramienta es una llamada a la API REST con tu clave. Los scopes, los límites de peticiones y las reglas anti-ban se aplican exactamente igual que en la API.
Dos formas de autenticarse
Sección titulada «Dos formas de autenticarse»OAuth. Añades la URL del servidor en tu cliente. El cliente abre una página de consentimiento de WhatSetter en tu navegador; pegas tu clave ws_live_… una sola vez y haces clic en Authorize. El cliente guarda entonces un token revocable y nunca vuelve a ver la clave. Úsalo con Claude, ChatGPT, Cursor, VS Code y cualquier cliente compatible con OAuth.
Bearer directo. Pasas la clave tú mismo, en una cabecera Authorization: Bearer ws_live_…. Úsalo en scripts, servidores y clientes donde prefieras gestionar el secreto en una variable de entorno.
POST https://mcp.whatsetter.com/mcpAuthorization: Bearer ws_live_…En ambos casos, revocar la clave en el dashboard corta la conexión en menos de un minuto.
Claude Code
Sección titulada «Claude Code»Añade el servidor y luego ejecuta /mcp dentro de Claude Code para abrir la página de consentimiento:
claude mcp add --transport http whatsetter https://mcp.whatsetter.com/mcpPara usar la clave directamente en lugar de OAuth:
claude mcp add --transport http whatsetter https://mcp.whatsetter.com/mcp \ --header "Authorization: Bearer ws_live_…"Añade --scope user para que el servidor esté disponible en todos tus proyectos en lugar de solo en el actual.
Claude (web y aplicación de escritorio)
Sección titulada «Claude (web y aplicación de escritorio)»Los conectores personalizados se configuran en tu cuenta de Claude y luego están disponibles en la aplicación web y en la aplicación de escritorio de Claude.
- Abre Customize, luego Connectors.
- Haz clic en +, luego Add custom connector.
- Pega
https://mcp.whatsetter.com/mcpcomo URL del servidor MCP remoto y haz clic en Add. - Se abre una página de WhatSetter: pega tu clave API y haz clic en Authorize.
Haz clic en el enlace de instalación, o añade el servidor a mano en ~/.cursor/mcp.json. Cursor abre la página de consentimiento en el primer uso.
{ "mcpServers": { "whatsetter": { "url": "https://mcp.whatsetter.com/mcp" } }}Para usar la clave directamente, añade un objeto headers con "Authorization": "Bearer ws_live_…" a la misma entrada.
VS Code
Sección titulada «VS Code»Desde la línea de comandos, o en .vscode/mcp.json (o en tu perfil de usuario con MCP: Open User Configuration). VS Code ejecuta el flujo OAuth en tu navegador en la primera conexión.
code --add-mcp '{"name":"whatsetter","type":"http","url":"https://mcp.whatsetter.com/mcp"}'{ "servers": { "whatsetter": { "type": "http", "url": "https://mcp.whatsetter.com/mcp" } }}ChatGPT
Sección titulada «ChatGPT»Los servidores MCP remotos están disponibles para cuentas Pro, Plus, Business, Enterprise y Education en la web, tras activar el modo desarrollador.
- Abre Settings, luego Security and login, y activa Developer mode.
- Ve a
chatgpt.com/pluginsy selecciona el botón más para crear una app para tu servidor MCP. - Dale un nombre y, bajo Connection, introduce
https://mcp.whatsetter.com/mcpcomo URL del servidor MCP. - Elige OAuth como autenticación y completa la página de consentimiento de WhatSetter.
En una conversación, elige Developer mode en el menú más y selecciona WhatSetter.
Gemini CLI
Sección titulada «Gemini CLI»Gemini CLI descubre el flujo OAuth por sí solo para servidores HTTP remotos:
gemini mcp add --transport http whatsetter https://mcp.whatsetter.com/mcpPara usar la clave directamente:
gemini mcp add --transport http --header "Authorization: Bearer ws_live_…" whatsetter https://mcp.whatsetter.com/mcpCodex CLI
Sección titulada «Codex CLI»Con la clave en una variable de entorno:
export WHATSETTER_API_KEY="ws_live_…"codex mcp add whatsetter --url https://mcp.whatsetter.com/mcp --bearer-token-env-var WHATSETTER_API_KEYO con OAuth:
codex mcp add whatsetter --url https://mcp.whatsetter.com/mcpcodex mcp login whatsetterEl equivalente en ~/.codex/config.toml:
[mcp_servers.whatsetter]url = "https://mcp.whatsetter.com/mcp"bearer_token_env_var = "WHATSETTER_API_KEY"Las 34 herramientas
Sección titulada «Las 34 herramientas»Cada herramienta necesita el scope del endpoint al que llama. Una clave sin ese scope hace que la herramienta responda insufficient_scope.
| Herramienta | Scope | Qué hace |
|---|---|---|
whoami |
ninguno | Espacio, nombre de la clave y scopes concedidos. Llámala primero. |
list_leads |
leads:read |
Listar leads, filtrables por estado, campaña, teléfono, origen, enlace rastreado, fecha. |
get_lead |
leads:read |
Un lead con estado, etiquetas, responsable, siguiente acción, contadores. |
update_lead |
leads:write |
Cambiar estado, etiquetas, assigned_to, next_action_at, next_action_label, deal_status, lost_reason. |
handoff_lead |
leads:write |
Detener la IA en esta conversación y pasarla a un humano. |
resume_lead |
leads:write |
Devolver la conversación a la IA. |
list_lead_notes |
leads:read |
Notas de un lead, las más recientes primero. |
add_lead_note |
leads:write |
Añadir una nota a un lead. |
list_conversations |
conversations:read |
Bandeja de entrada, actividad más reciente primero. |
get_conversation_messages |
conversations:read |
Historial completo de mensajes de un lead. |
send_whatsapp_message |
messages:send |
Envía un mensaje real de WhatsApp a un lead que ya está en conversación. Se aplican las reglas anti-ban y una Idempotency-Key automática. |
list_lists |
lists:read |
Tus listas de contactos. |
create_list |
lists:write |
Crear una lista vacía. |
import_leads |
lists:write |
Subir hasta 500 contactos a una lista. La importación no envía ningún mensaje por sí misma. |
list_campaigns |
campaigns:read |
Campañas con su estado y su número conectado. |
pause_campaign |
campaigns:write |
Pausar una campaña activa. |
resume_campaign |
campaigns:write |
Reanudar una campaña en pausa. Los envíos se reanudan. |
add_campaign_lead |
messages:send |
Envía el primer mensaje a un lead opt-in por el pipeline de la campaña. |
list_bookings |
bookings:read |
Reuniones agendadas por el agente. |
list_groups |
groups:read |
Grupos de WhatsApp rastreados. |
get_group |
groups:read |
Un grupo con sus contadores, enlace de invitación y modo de IA. |
list_group_members |
groups:read |
Miembros de un grupo, activos o que se fueron. |
list_group_messages |
groups:read |
Transcripción de un grupo. |
list_group_events |
groups:read |
Entradas y salidas de un grupo. |
list_webhooks |
webhooks:manage |
Tus suscripciones, sin los secretos. |
create_webhook |
webhooks:manage |
Suscribir un endpoint HTTPS. El secreto se devuelve una sola vez. |
delete_webhook |
webhooks:manage |
Borrar una suscripción. |
test_webhook |
webhooks:manage |
Enviar un evento de prueba firmado a tu endpoint. |
list_blocked_contacts |
blocklist:manage |
Números y prefijos bloqueados. |
block_contact |
blocklist:manage |
Bloquear un número o un prefijo. El agente deja de responderle. |
unblock_contact |
blocklist:manage |
Quitar un bloqueo. |
list_team_members |
team:read |
Miembros del espacio, para asignar leads. |
list_links |
links:read |
Enlaces rastreados con su número de clics. |
get_link |
links:read |
Un enlace con sus estadísticas de 30 días. |
Solo dos herramientas llegan a una persona real en WhatsApp: send_whatsapp_message y add_campaign_lead. resume_campaign reanuda los envíos propios de una campaña. test_webhook envía a tu servidor, no a un contacto.
Ejemplos de peticiones
Sección titulada «Ejemplos de peticiones»- «Muéstrame los leads calificados esta semana y quién es responsable de cada uno.»
- «Asigna todos los leads calificados sin responsable a Julia y pon una siguiente acción el lunes a las 9 llamada Devolver llamada.»
- «Bloquea el prefijo +91, motivo: fuera de mercado.»
- «¿Qué enlace rastreado trajo más leads en los últimos 30 días?»
- «Importa estos 40 contactos a una lista nueva llamada Webinar septiembre.» (pega los contactos)
- «Pausa la campaña Acme España.»
- «Resume la conversación con +34612345678 y añade una nota con el resumen.»
Seguridad
Sección titulada «Seguridad»- Las herramientas de lectura están marcadas como solo lectura.
send_whatsapp_messageyadd_campaign_leadestán marcadas como de efecto real: un cliente bien diseñado te pregunta antes de llamarlas. Lee el mensaje antes de aprobarlo, va a una persona real. - El asistente solo puede hacer lo que la clave permite. Dale a un asistente una clave Personalizado con scopes de lectura si no debe enviar nada.
- Cada sesión
/mcpestá ligada a la clave que la abrió: un id de sesión robado es inútil sin la clave. - Revoca la clave en Configuración, luego API y MCP, y todo se detiene: llamadas REST, sesiones OAuth y sesiones bearer directas por igual.

