VoiceDock
Crea y gestiona agentes de voz con IA para líneas telefónicas reales: asistentes, llamadas, números y campañas.
Servidor MCP alojado
npx add-mcp 'https://mcp.hmsovereign.com/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Servidor MCP
Conecta asistentes de IA como Claude Code y Cursor a tu cuenta de VoiceDock a través del servidor de Model Context Protocol alojado — solo inicia sesión, sin necesidad de pegar una clave API.
VoiceDock expone un servidor de Model Context Protocol (MCP) alojado en mcp.hmsovereign.com. Esto permite que los asistentes de IA — incluyendo Claude, Claude Code, Cursor y cualquier otra herramienta compatible con MCP — interactúen directamente con tu cuenta de VoiceDock, sin salir de tu entorno.
Una vez conectado, tu asistente de IA puede listar asistentes, iniciar llamadas, consultar el uso, gestionar campañas y realizar cualquier otra operación disponible en la API — todo mediante lenguaje natural.
Endpoint
https://mcp.hmsovereign.com/mcp
El servidor construye sus herramientas a partir de la especificación OpenAPI de VoiceDock — una herramienta por endpoint de API, con los parámetros y descripciones propios de ese endpoint. No hay lista de herramientas que configurar o mantener por tu parte.
El conjunto se construye cuando el servidor se inicia y permanece fijo mientras ese proceso esté en ejecución, por lo que un endpoint recién publicado estará disponible una vez que hayamos reiniciado el servidor. Eso es responsabilidad nuestra, no tuya: nada en tu cliente lo activa.
Autenticación
El servidor MCP es un servidor de recursos OAuth 2.1. Te conectas solo con la URL anterior — sin clave que copiar. Tu cliente descubre el flujo de inicio de sesión automáticamente, abre un navegador donde inicias sesión con tu cuenta de VoiceDock y apruebas el acceso, y luego trabaja con todas las organizaciones a las que pertenece tu cuenta. En segundo plano, mapeamos tu cuenta a las credenciales de cada organización; nunca manejas una clave API. Consulta Trabajar con más de una organización.
Consejo: ¿Prefieres un token estático (CI, scripts, servidores)? Una clave API de organización sin procesar sigue funcionando como token
Bearer— consulta Legado: clave API a continuación.
Configuración
Claude Code / Cursor / Claude Desktop
Añade el endpoint y deja que el cliente ejecute el flujo de inicio de sesión:
{
"mcpServers": {
"voicedock": {
"type": "http",
"url": "https://mcp.hmsovereign.com/mcp"
}
}
}
La primera vez que te conectes, se abrirá un navegador: inicia sesión con tu cuenta de VoiceDock y haz clic en Permitir en la pantalla de consentimiento. Eso es todo — las herramientas aparecen en tu asistente.
- Claude Desktop: Configuración → Conectores → Añadir conector personalizado → pega la URL.
- Claude Code:
claude mcp add --transport http voicedock https://mcp.hmsovereign.com/mcp(o añade el JSON anterior). - Cursor: Configuración de MCP → añade el JSON anterior.
Otros clientes MCP
Cualquier cliente que admita el transporte MCP Streamable HTTP y OAuth puede conectarse solo con la URL:
- URL:
https://mcp.hmsovereign.com/mcp - Transporte: Streamable HTTP
- Autenticación: OAuth 2.1 (el servidor anuncia su servidor de autorización mediante metadatos de recursos protegidos; los clientes se registran dinámicamente y te piden que inicies sesión)
Legado: clave API
Si tu cliente no puede ejecutar un flujo OAuth, o lo estás integrando en un servidor o trabajo de CI, pasa una clave API de organización como token de portador:
{
"mcpServers": {
"voicedock": {
"type": "http",
"url": "https://mcp.hmsovereign.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Encuentra tu clave API en el panel de control en Desarrollador → API REST. Una clave API siempre pertenece a una organización, por lo que el parámetro organization_id descrito a continuación no se aplica a ella; pasarlo devuelve invalid_request.
Herramientas disponibles
El servidor MCP expone todos los endpoints de la API de VoiceDock como herramientas — una herramienta por endpoint. Ejemplos:
| Herramienta | Descripción |
|---|---|
listAssistants | Lista todos los asistentes de voz en tu organización |
createAssistant | Crea un nuevo asistente de voz |
getAssistant | Recupera un asistente específico por ID |
updateAssistant | Actualiza la configuración del asistente |
createOutboundCall | Inicia una llamada saliente |
listCalls | Lista llamadas con filtros opcionales |
getCall | Obtén detalles de la llamada, incluidos transcripción y análisis |
createCampaign | Crea una campaña de llamadas salientes |
listVoices | Explora las voces TTS disponibles |
getUsage | Recupera datos de uso y facturación |
La lista completa de herramientas refleja la referencia de la API.
Limpiar un campo
Omitir un parámetro en una llamada de herramienta y pasarlo como vacío son lo mismo a través de MCP, por lo que una herramienta no puede expresar "establecer este campo a null" como sí puede hacerlo la API REST. Las herramientas cuyo endpoint tiene campos que aceptan null llevan por tanto un parámetro adicional, clear_fields: una lista de nombres de campos a vaciar.
updateNumber(id="NUMBER_ID", clear_fields=["workflow_id"])
Así es como se desvincula un flujo de trabajo de un número de teléfono — el paso que deleteWorkflow solicita cuando se niega con un 409. Un campo puede recibir un valor o aparecer en clear_fields, pero no ambos, y solo se aceptan campos que la especificación marque como anulables.
Ejemplo de uso
Una vez conectado, puedes pedirle a tu asistente de IA que realice tareas en lenguaje natural:
"Crea un nuevo asistente llamado 'Bot de soporte' con un saludo amigable y GPT-4o como modelo de lenguaje."
"Lista todas las llamadas de esta semana y resume los resultados."
"Inicia una llamada saliente al +31612345678 usando el ID de asistente xyz."
"Muéstrame mi uso de los últimos 30 días."
Trabajar con más de una organización
Una conexión realizada iniciando sesión llega a todas las organizaciones de las que tu cuenta es miembro. La herramienta adicional listOrganizations las devuelve, con el id, el nombre y tu rol en cada una:
listOrganizations()
Todas las demás herramientas aceptan un organization_id opcional que selecciona la organización en la que se ejecuta la llamada:
listAssistants(organization_id="ORGANIZATION_ID")
- Una organización: omite
organization_id; las llamadas se ejecutan en esa organización. - Más de una: pasa
organization_iden cada llamada, incluidas las lecturas. Una llamada sin él devuelveorganization_requiredcon la lista de tus organizaciones, y no se lee ni cambia nada. - Una organización de la que no eres miembro devuelve
organization_not_accessible, con la misma lista.
Los resultados indican la organización de la que provienen, con la respuesta de la API bajo result:
{
"organization": { "id": "ORGANIZATION_ID", "name": "Acme Dental" },
"result": { "...": "..." }
}
Tu asistente puede verificar ese nombre antes de actuar sobre lo que ha leído. Las conexiones con clave API mantienen la respuesta simple, ya que la clave ya fija la organización.
Seguridad
- OAuth 2.1 con tu propia cuenta — sin clave de larga duración que copiar, compartir o filtrar. El acceso está vinculado a tu inicio de sesión de VoiceDock, se muestra en una pantalla de consentimiento explícita y se puede revocar desde tu cliente en cualquier momento.
- El servidor MCP es sin estado — no se conservan datos de sesión entre solicitudes.
- Cada llamada de herramienta se ejecuta en una organización de la que eres miembro, nombrada en la llamada y en su resultado (para la ruta heredada: la organización de tu clave API). La membresía se verifica en cada llamada, por lo que eliminar a alguien de una organización termina su acceso a través del servidor MCP de inmediato.
- La organización que selecciones en el panel de control no tiene efecto en el servidor MCP. Cambiarla allí no mueve a un asistente conectado a otra organización.
- El tráfico es solo TLS y el token nunca se registra en el servidor MCP.
- Solo aprueba conexiones que hayas iniciado tú mismo. La pantalla de consentimiento indica el nombre de la aplicación que solicita acceso — si no la reconoces, haz clic en Denegar.
Solución de problemas
El inicio de sesión en el navegador no se abre
Asegúrate de que tu cliente admita servidores MCP remotos con OAuth (las versiones recientes de Claude Desktop, Claude Code y Cursor lo hacen). Si no puede, usa el método heredado de clave API en su lugar.
Las herramientas no aparecen después de conectarse
Vuelve a conectar el servidor para que el cliente vuelva a obtener la lista de herramientas — los clientes la almacenan en caché, y una caché obsoleta es la causa habitual.
Si una herramienta sigue faltando y cubre un endpoint que publicamos recientemente, la lista de herramientas de nuestro lado aún no se ha reconstruido. Reconectar no ayuda con eso, ni tampoco nada más en tu cliente: ponte en contacto y reiniciaremos el servidor.
Para la ruta heredada, verifica que tu clave API sea válida:
curl https://api.hmsovereign.com/api/v1/assistants \
-H "Authorization: Bearer YOUR_API_KEY"
Servidor no disponible
Consulta status.voicedock.ai para conocer el estado actual de la plataforma.
Nota: El servidor MCP es de lectura/escritura — los asistentes de IA conectados pueden crear, actualizar y eliminar recursos en tu nombre. Aprueba solo aplicaciones de confianza en la pantalla de consentimiento y mantén cualquier clave API heredada en entornos de confianza.
[
Configuración BYOK
Bring Your Own Key te permite usar tus propias claves API para proveedores de IA, dándote control sobre costos y acceso a modelos.
](https://doc.voicedock.ai/docs/integrations/byok-setup)[
Integración xAI Grok
Usa la API Realtime de xAI Grok para conversación de voz a voz con latencia inferior a 700 ms.
](https://doc.voicedock.ai/docs/integrations/xai-grok-integration)