Voice Call MCP Server

by popcornspace
Verified

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:

  1. Iniciar llamadas telefónicas reales en nombre de los usuarios
  2. Procesar y responder a conversaciones de audio en tiempo real
  3. 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):
      nvm install 22 nvm use 22
  • Cuenta de Twilio con credenciales de API
  • Clave API de OpenAI
  • Token de autorización de Ngrok

Instalación

Instalación manual

  1. Clonar el repositorio
    git clone https://github.com/lukaskai/voice-call-mcp-server.git cd voice-call-mcp-server
  2. Instalar dependencias y compilar
    npm install npm run build

Configuración

El servidor requiere varias variables de entorno:

  • TWILIO_ACCOUNT_SID : El SID de su cuenta Twilio
  • TWILIO_AUTH_TOKEN : Su token de autenticación de Twilio
  • TWILIO_NUMBER : Su número de Twilio
  • OPENAI_API_KEY : Su clave API de OpenAI
  • NGROK_AUTHTOKEN : Su token de autorización de ngrok
  • RECORD_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

{ "mcpServers": { "voice-call": { "command": "node", "args": ["/path/to/your/mcp-new/dist/start-all.cjs"], "env": { "TWILIO_ACCOUNT_SID": "your_account_sid", "TWILIO_AUTH_TOKEN": "your_auth_token", "TWILIO_NUMBER": "your_e.164_format_number", "OPENAI_API_KEY": "your_openai_api_key", "NGROK_AUTHTOKEN": "your_ngrok_authtoken" } } } }

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:

  1. Llamada simple:
Can you call +1-123-456-7890 and let them know I'll be 15 minutes late for our meeting?
  1. Reserva de restaurante:
Please call Delicious Restaurant at +1-123-456-7890 and make a reservation for 4 people tonight at 7:30 PM. Please speak in German.
  1. Programación de citas:
Please call Expert Dental NYC (+1-123-456-7899) and reschedule my Monday appointment to next Friday between 4–6pm.

Notas importantes

  1. Formato de número de teléfono : Todos los números de teléfono deben estar en formato E.164 (por ejemplo, +11234567890)
  2. Límites de velocidad : tenga en cuenta los límites de velocidad y los precios de su cuenta de Twilio y OpenAI
  3. Conversaciones de voz : La IA manejará conversaciones naturales en tiempo real
  4. Duración de la llamada : tenga en cuenta la duración de las llamadas, ya que afecta los costos de OpenAI API y Twilio.
  5. 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:

  1. "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.
  2. "Credenciales no válidas"
    • Revisa tu TWILIO_ACCOUNT_SID y TWILIO_AUTH_TOKEN. Puedes copiarlos desde la consola de Twilio.
  3. "Error de API de OpenAI"
    • Verifique que su OPENAI_API_KEY sea correcta y tenga suficientes créditos
  4. El túnel de Ngrok no se pudo iniciar
    • Asegúrese de que su NGROK_AUTHTOKEN sea válido y no esté vencido
  5. "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 🍿!

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

  1. Sequence Diagram
    1. Features
      1. Why MCP?
        1. Requirements
          1. Installation
            1. Manual Installation
          2. Configuration
            1. Claude Desktop Configuration
          3. Example Interactions with Claude
            1. Important Notes
              1. Troubleshooting
                1. Contributing
                  1. License
                    1. Security
                      1. Time For a New Mission?
                        ID: zdw3c5p2fx