home / mcp / voice call mcp server

Voice Call MCP Server

Provides real-time voice calling via Twilio and GPT-4o, enabling AI assistants to initiate, monitor, and respond in phone conversations.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "popcornspace-voice-call-mcp-server": {
      "command": "node",
      "args": [
        "/path/to/your/mcp-new/dist/start-all.cjs"
      ],
      "env": {
        "TWILIO_NUMBER": "YOUR_TWILIO_NUMBER",
        "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY",
        "NGROK_AUTHTOKEN": "YOUR_NGROK_TOKEN",
        "TWILIO_AUTH_TOKEN": "YOUR_TWILIO_TOKEN",
        "TWILIO_ACCOUNT_SID": "YOUR_TWILIO_SID"
      }
    }
  }
}

This MCP server lets AI assistants like Claude initiate and manage real-time voice conversations via Twilio and the OpenAI GPT-4o Realtime model. It is designed to bridge AI capabilities with real-world phone calls, enabling outbound dialing, live audio processing, and dynamic interaction during calls.

How to use

You interact with this server through an MCP client to start outbound calls, stream live audio to the AI model, and receive AI-driven responses during the call. Use it to place calls, handle conversations in real time, and leverage built-in prompts for common scenarios such as reservations or scheduling. The system maintains secure handling of credentials and can switch languages mid-call as needed.

Typical usage patterns include initiating a call to a customer, letting the AI guide the conversation, and reacting to live audio from the other party. The server wires together Twilio for telephony, OpenAI for real-time voice understanding, and your MCP client for control signals and session management.

How to install

Prerequisites you need before installing: Node.js version 22 or newer, a Twilio account with API credentials, an OpenAI API key, and an ngrok authtoken for public tunneling.

Install Node.js if you don’t have it yet. Using a version manager makes upgrades safer.

nvm install 22
nvm use 22

Follow the steps to install dependencies and build the server.

npm install
npm run build

Additional configuration and usage notes

Environment variables you need to provide for secure operation include credentials for Twilio and OpenAI, plus an ngrok authtoken for public exposure when testing.

{
  "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"
      }
    }
  }
}

Claude Desktop configuration example

If you want to use Claude Desktop to control the server, configure the MCP server entry in the Claude Desktop config file. The example shows a local stdio-based start command and how to pass environment variables.

{
  "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"
      }
    }
  }
}

Important notes

  • Phone numbers must be in E.164 format (for example, +11234567890)
  • Be mindful of Twilio and OpenAI rate limits and pricing
  • The AI handles real-time conversations during calls
  • Call durations affect OpenAI and Twilio costs
  • Ngrok exposes your server publicly for Twilio reach; this is secured by a random URL and secret

Troubleshooting

If you encounter common issues, verify credentials, ensure proper formatting of phone numbers, and confirm the ngrok tunnel is active with a valid authtoken.

Error: Phone number must be in E.164 format
Error: Invalid credentials
Error: OpenAI API error
Error: Ngrok tunnel failed to start
Error: OpenAI Realtime end-of-input or lag issues

Security and contribution notes

Keep credentials secure and rotate them as needed. When extending functionality, consider implementing additional safeguards around call handling and data retention.

Contributions are welcome. You can propose new AI models, improve reliability, add templates for more scenarios, or enhance monitoring and analytics.