Sendveo para agentes de IA

Sendveo habla el Model Context Protocol (MCP). Añádelo a Claude, Cursor, ChatGPT o cualquier agente compatible con MCP y pídelo en lenguaje natural: lista mis números, conecta este, responde a ese chat. El agente llama a Sendveo por ti.

Qué es

El servidor MCP de Sendveo es un pequeño puente entre tu asistente de IA y tu cuenta de Sendveo. Expone las mismas acciones que la API y el panel, como herramientas que el asistente puede llamar. Todo se ejecuta bajo tu propia cuenta: inicias sesión con tu correo y tu contraseña de Sendveo o, para un script o una herramienta de línea de comandos, usas una clave de API de tu panel.

Hay dos formas de conectar, y ambas ofrecen las mismas herramientas. Alojada: pegas una URL en el asistente e inicias sesión, sin instalar nada ni copiar ninguna clave. Local: el asistente ejecuta un pequeño comando de Sendveo en tu equipo con una clave de API, que nunca sale de él.

Qué puedes hacer

Una herramienta por acción, agrupadas como las agrupa la guía: números, mensajes, conversaciones, contactos, grupos, salud y perfil, etiquetas, webhook, facturación. Las funciones de operador no se exponen: el servidor se limita a la cuenta a la que pertenece la conexión.

HerramientaQué hace
Números
list_numbersLista tus números de WhatsApp, su estado y su salud.
get_numberConsulta un número por su id, con su salud.
connect_numberConecta un número nuevo. Devuelve una imagen QR para escanear, o un código de 8 caracteres para escribir en WhatsApp.
refresh_qrObtiene un QR o código nuevo mientras un número sigue emparejándose (van rotando).
reconnect_numberVuelve a vincular un número cuya sesión se perdió.
disconnect_numberDa de baja un número. Libera su plaza y conserva el número.
remove_numberElimina un número de forma permanente.
Mensajes
send_messageEnvía un mensaje de WhatsApp (texto, archivos, una nota de voz, una ubicación, tarjetas de contacto, una respuesta citada) a un número de teléfono o a una conversación existente.
get_messagesLee los mensajes entrantes y salientes almacenados: texto, tipo, estado de entrega, archivos, reacciones.
get_messageLee un mensaje por su id, tal como está ahora.
get_attachmentObtiene un archivo de un mensaje. Una imagen vuelve como una imagen que puedes ver; cualquier otra cosa, como sus detalles más un enlace de Sendveo.
react_to_messageReacciona a un mensaje con un emoji.
remove_reactionRetira tu reacción.
forward_messageReenvía un mensaje a otra conversación que ya tienes.
delete_messageElimina un mensaje para todos. No se puede deshacer.
mark_chat_readMarca una conversación como leída, o como no leída.
send_typingMuestra el indicador de escritura un momento antes de un mensaje.
Conversaciones
list_chatsLista tus conversaciones: nombre, no leídos, archivada, silenciada, último mensaje, etiquetas.
get_chatLee una conversación completa, incluidos sus participantes y sus etiquetas.
archive_chatArchiva una conversación.
unarchive_chatSaca una conversación del archivo.
mute_chatSilencia las notificaciones de una conversación.
unmute_chatVuelve a activar las notificaciones de una conversación.
sync_chat_historyTrae los mensajes más antiguos a lo que devuelve get_messages.
Contactos
get_contactLo que WhatsApp revela sobre un número: si está en WhatsApp, nombre, empresa, línea de estado.
get_contact_pictureLa foto de perfil de un contacto, como una imagen que puedes ver o como un enlace de Sendveo.
lookup_numbersCuáles de hasta 50 números están en WhatsApp (sí o no, y nada más).
Grupos
list_groupsLista los grupos en los que están tus números.
get_groupLee un grupo: asunto, foto y miembros.
get_group_pictureLa foto de un grupo, como una imagen o como un enlace de Sendveo.
create_groupCrea un grupo con un asunto, miembros y un primer mensaje opcional.
add_group_membersAñade personas a un grupo, toda la lista en una llamada, comprobada antes de que nadie entre. Un rechazo a mitad de camino deja dentro los primeros números, y el error los nombra.
remove_group_memberElimina a alguien de un grupo (nunca a ti mismo: usa leave_group).
leave_groupSaca tu propio número de un grupo.
Salud y perfil
get_number_health¿Funciona este número? Su estado, su salud y lo que le ha pasado.
list_number_eventsEl historial de salud por sí solo. Recórrelo página a página con un cursor.
get_number_profileLo que tu propia línea publica sobre sí misma: nombre, info, empresa, foto. Solo lectura.
get_number_pictureLa foto de tu propia línea, como una imagen que puedes ver o como un enlace de Sendveo.
Etiquetas
list_labelsTus etiquetas, con cuántas conversaciones lleva cada una.
create_labelCrea una etiqueta: un nombre y un color opcional de una paleta fija.
update_labelRenombra una etiqueta o cambia su color.
delete_labelElimina una etiqueta. Desaparece de todas las conversaciones que la llevaban.
add_chat_labelPone una etiqueta en una conversación, por id o por nombre (un nombre nuevo la crea).
remove_chat_labelQuita una etiqueta de una conversación.
Webhook
get_webhookMuestra la URL a la que Sendveo envía los mensajes entrantes.
set_webhookDefine o reemplaza esa URL.
Facturación
get_billingMuestra tu saldo y tus plazas: el saldo disponible de tu cuenta, las plazas con tarjeta y con saldo, cualquier renovación mensual impagada, y si puedes comprar con tarjeta o activar números con tu saldo.

connect_number, refresh_qr y reconnect_number aceptan un parámetro opcional method. qr (por defecto) devuelve un QR para escanear desde WhatsApp en Dispositivos vinculados, Vincular un dispositivo. code devuelve un código de 8 caracteres para escribir en Vincular con número de teléfono: úsalo cuando estés en el mismo teléfono que tiene el número y no puedas escanear la pantalla. Ambos caducan y rotan, así que pide uno nuevo si deja de funcionar.

Opción A: pega la URL e inicia sesión (recomendado)

Añade Sendveo a tu asistente como servidor MCP remoto. Solo necesitas un valor, la URL MCP de Sendveo. No hay nada que instalar ni ninguna clave que pegar: tu asistente abre una página de Sendveo donde inicias sesión y apruebas la conexión.

URL MCP
https://mcp.sendveo.com/mcp

En Claude

  1. Abre Ajustes, luego Conectores, y elige Añadir conector personalizado.
  2. Pega la URL MCP de Sendveo de arriba y guarda. Tu asistente encuentra el resto por su cuenta.
  3. Se abre una página de Sendveo en tu navegador. Inicia sesión con el correo y la contraseña que usas para el panel.
  4. Lee lo que pide el asistente y la dirección a la que te devolverá, y pulsa Permitir. Si pulsas Rechazar, no se concede nada.

El asistente recibe una conexión ligada a tu cuenta, con los permisos que muestra esa pantalla de aprobación. Caduca al cabo de una hora y se renueva sola mientras la conexión está en uso. Nunca pegas una clave en el asistente, y nada de lo que apruebas alcanza otra cuenta, la consola de operador ni tu contraseña.

Para desconectar, elimina el conector en tu asistente. Una conexión que elimines desde Sendveo deja de funcionar de inmediato y para siempre.

Si no se abre ninguna página de inicio de sesión, comprueba que la URL termina en /mcp. Si tu asistente informa de que no pudo alcanzar el servicio de inicio de sesión, Sendveo no es accesible desde tu red: la misma comprobación que cargar el panel.

ChatGPT, Cursor y otros asistentes compatibles con MCP usan la misma URL en sus propios ajustes de servidor MCP remoto, y te hacen iniciar sesión igual.

Opción B: local (en tu equipo)

Si prefieres mantener la clave en tu propio equipo, ejecuta el servidor MCP de Sendveo en local. Requiere Node.js 22 o superior. El asistente lo inicia con npx @sendveo/mcp y le pasa tu clave mediante la variable de entorno SENDVEO_API_KEY.

Añade el bloque de abajo a la configuración MCP de tu asistente. En Claude Desktop es claude_desktop_config.json; en Claude Code ejecuta claude mcp add o edita .mcp.json; Cursor usa .cursor/mcp.json. El bloque es el mismo en todos.

Configuración MCP
{
  "mcpServers": {
    "sendveo": {
      "command": "npx",
      "args": ["-y", "@sendveo/mcp"],
      "env": {
        "SENDVEO_API_KEY": "YOUR_SENDVEO_API_KEY"
      }
    }
  }
}

Sustituye el texto de ejemplo por tu clave, reinicia el asistente y pídele que liste tus números de Sendveo. Si el servidor se cierra de inmediato, comprueba que SENDVEO_API_KEY está definida.

Con una clave de API en lugar de iniciar sesión

Iniciar sesión es la forma normal de usar la URL alojada. Si tu herramienta no puede hacerlo, un script, una llamada curl o un cliente que solo te deja definir cabeceras, la misma URL también acepta una clave de API de Sendveo enviada como token bearer. Cada solicitud se autentica solo con esa clave y se limita a la cuenta de esa clave.

URL MCP
https://mcp.sendveo.com/mcp
Cabecera
Authorization: Bearer YOUR_SENDVEO_API_KEY

Ámbitos

Cada conexión lleva ámbitos, y cada herramienta necesita uno. Al iniciar sesión, la pantalla de aprobación los enumera en lenguaje claro antes de que pulses Permitir. Una clave de API nueva recibe todos los ámbitos por defecto, salvo el atajo de solo lectura, así que funciona con todas las herramientas desde el principio. Si una herramienta informa de que falta un ámbito, ajusta la clave en Claves de API en tu panel, o vuelve a conectar y aprueba el permiso que falta.

ÁmbitoHerramientas
numbers:readlist_numbers, get_number, get_billing, get_number_health, list_number_events, get_number_profile, get_number_picture
numbers:writeconnect_number, refresh_qr, reconnect_number, disconnect_number, remove_number
messages:readget_messages, get_message, get_attachment
messages:sendsend_message, send_typing
messages:managereact_to_message, remove_reaction, forward_message, delete_message, mark_chat_read
chats:readlist_chats, get_chat, list_labels
chats:managearchive_chat, unarchive_chat, mute_chat, unmute_chat, sync_chat_history, create_label, update_label, delete_label, add_chat_label, remove_chat_label
contacts:readget_contact, get_contact_picture, lookup_numbers
groups:readlist_groups, get_group, get_group_picture
groups:managecreate_group, add_group_members, remove_group_member, leave_group
webhooks:manageget_webhook, set_webhook
*:readTodos los ámbitos de lectura a la vez (una conexión de solo lectura): las herramientas de numbers:read, messages:read, chats:read, contacts:read y groups:read, y nada que escriba.

messages:manage, chats:read, chats:manage, contacts:read, groups:read y groups:manage se añadieron el 16 de septiembre de 2026. Una clave de API creada antes de esa fecha no tiene ninguno de ellos y no puede recibirlos: crea una clave nueva en tu panel, o vuelve a conectar el asistente y aprueba los permisos. Todo lo demás sigue funcionando con la clave antigua.

La facturación es de solo lectura y la cubre numbers:read: no existe un ámbito de facturación aparte.

Seguridad

  • Iniciar sesión nunca da tu contraseña al asistente, y el servidor alojado no guarda ninguna clave de API. Cada solicitud se autentica con la credencial que lleva, y el servidor no conserva ninguna.
  • Cada solicitud queda aislada en la cuenta que hay detrás de la conexión. Las funciones de operador no son accesibles por MCP.
  • Hay límites de frecuencia, por clave y por origen. Una respuesta 429 significa: baja el ritmo y reintenta en un momento.
  • Trata la clave como una contraseña. Prefiere una clave limitada a lo que el asistente necesita, y revócala desde el panel si se filtra.

Solución de problemas

VesQué hacer
401 o Invalid or missing Sendveo API keyTu conexión fue revocada o no pudo renovarse, o la clave de API es incorrecta, no está definida, o no se envía como Authorization: Bearer .... Vuelve a conectar, o copia una clave nueva desde tu panel.
No available slotHas usado todas tus plazas de números. Compra una plaza con tarjeta o activa una con tu saldo en Facturación en tu panel y reintenta connect_number.
429 o Rate limit exceededDemasiadas solicitudes en poco tiempo. Espera un momento y reintenta, y pide al asistente que haga menos llamadas a la vez.
does not have the scope requiredConcede el ámbito que falta a la clave en Claves de API, o crea una clave nueva con todos los ámbitos.
WhatsApp desde agentes de IA con MCP · Sendveo