remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides secure public URL tunneling to make the server accessible for Twilio's webhook callbacks during calls
Processes real-time call audio using OpenAI's realtime model to enable natural voice conversations and responds with generated voice streams
Allows placing outbound phone calls, receiving call status updates, and handling real-time audio through Twilio's telephony services
Servidor MCP de llamadas de voz
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a Claude y otros asistentes de IA iniciar y gestionar llamadas de voz utilizando Twilio y OpenAI (modelo en tiempo real GPT-4o).
Utilice esto como base para iniciar sus exploraciones de llamadas de voz impulsadas por IA, ahorrar tiempo y desarrollar funciones adicionales sobre la base.
Diagrama de secuencia
Características
- Realiza llamadas telefónicas salientes a través de Twilio 📞
- Procesa el audio de llamadas en tiempo real con el modelo en tiempo real GPT-4o 🎙️
- Cambio de idioma en tiempo real durante las llamadas 🌐
- Indicaciones prediseñadas para situaciones de llamadas comunes (como reservas en restaurantes) 🍽️
- Túnel automático de URL públicas con ngrok 🔄
- Manejo seguro de credenciales 🔒
¿Por qué MCP?
El Protocolo de Contexto de Modelo (MCP) conecta a los asistentes de IA con las acciones del mundo real. Al implementar MCP, este servidor permite a los modelos de IA como Claude:
- Iniciar llamadas telefónicas reales en nombre de los usuarios
- Procesar y responder a conversaciones de audio en tiempo real
- Ejecutar tareas complejas que requieren comunicación de voz
Esta implementación de código abierto proporciona transparencia y personalización, lo que permite a los desarrolladores ampliar la funcionalidad mientras mantienen el control sobre sus datos y privacidad.
Requisitos
- Node.js >= 22
- Si necesita actualizar Node.js, le recomendamos utilizar
nvm
(Node Version Manager):Copy
- Si necesita actualizar Node.js, le recomendamos utilizar
- Cuenta de Twilio con credenciales de API
- Clave API de OpenAI
- Token de autorización de Ngrok
Instalación
Instalación manual
- Clonar el repositorioCopy
- Instalar dependencias y compilarCopy
Configuración
El servidor requiere varias variables de entorno:
TWILIO_ACCOUNT_SID
: El SID de su cuenta TwilioTWILIO_AUTH_TOKEN
: Su token de autenticación de TwilioTWILIO_NUMBER
: Su número de TwilioOPENAI_API_KEY
: Su clave API de OpenAINGROK_AUTHTOKEN
: Su token de autorización de ngrokRECORD_CALLS
: Establézcalo en "verdadero" para grabar llamadas (opcional)
Configuración del escritorio de Claude
Para utilizar este servidor con Claude Desktop, agregue lo siguiente a su archivo de configuración:
macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
Ventanas : %APPDATA%\Claude\claude_desktop_config.json
Después, reinicia Claude Desktop para volver a cargar la configuración. Si está conectado, verás la opción Llamada de voz en el menú 🔨.
Ejemplos de interacciones con Claude
Aquí hay algunas formas naturales de interactuar con el servidor a través de Claude:
- Llamada simple:
- Reserva de restaurante:
- Programación de citas:
Notas importantes
- Formato de número de teléfono : Todos los números de teléfono deben estar en formato E.164 (por ejemplo, +11234567890)
- Límites de velocidad : tenga en cuenta los límites de velocidad y los precios de su cuenta de Twilio y OpenAI
- Conversaciones de voz : La IA manejará conversaciones naturales en tiempo real
- Duración de la llamada : tenga en cuenta la duración de las llamadas, ya que afecta los costos de OpenAI API y Twilio.
- Exposición pública : tenga en cuenta que el túnel ngrok expone su servidor públicamente para que Twilio pueda acceder a él (aunque con una URL aleatoria y protegido por un secreto aleatorio)
Solución de problemas
Mensajes de error comunes y soluciones:
- "El número de teléfono debe estar en formato E.164"
- Asegúrese de que el número de teléfono comience con "+" y el código del país.
- "Credenciales no válidas"
- Revisa tu TWILIO_ACCOUNT_SID y TWILIO_AUTH_TOKEN. Puedes copiarlos desde la consola de Twilio.
- "Error de API de OpenAI"
- Verifique que su OPENAI_API_KEY sea correcta y tenga suficientes créditos
- El túnel de Ngrok no se pudo iniciar
- Asegúrese de que su NGROK_AUTHTOKEN sea válido y no esté vencido
- "OpenAI Realtime no detecta el final de la entrada de voz o presenta retrasos".
- A veces, puede haber problemas de codificación de voz entre Twilio y el operador de red del receptor. Prueba con otro receptor.
Contribuyendo
¡Agradecemos sus contribuciones! Estas son algunas áreas que buscamos mejorar:
- Implementar soporte para múltiples modelos de IA más allá de la implementación actual
- Agregue la integración de la base de datos para almacenar el historial de conversaciones localmente y hacerlo accesible para el contexto de IA
- Mejore la latencia y los tiempos de respuesta para mejorar las experiencias de llamadas
- Mejorar los mecanismos de gestión y recuperación de errores
- Agregue más plantillas de conversación prediseñadas para escenarios comunes
- Implementar un mejor monitoreo y análisis de llamadas
Si deseas contribuir, abre un problema para discutir tus ideas antes de enviar una solicitud de extracción.
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Seguridad
No incluya información confidencial (como números de teléfono o credenciales de API) en las incidencias o solicitudes de extracción de GitHub. Este servidor gestiona comunicaciones confidenciales; impleméntelo con responsabilidad y asegúrese de que todas las credenciales se mantengan seguras.
¿Es hora de una nueva misión?
Estamos contratando ingenieros para desarrollar la vanguardia de la IA de voz e integrarla en una empresa de telecomunicaciones de última generación.
¿Tienes curiosidad? ¡Visita careers.popcorn.space 🍿!
This server cannot be installed
Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA como Claude iniciar y gestionar llamadas de voz en tiempo real utilizando los modelos de voz de Twilio y OpenAI.