voice-call
MCP server from popcornspace/voice-call-mcp-server
claude mcp add --transport stdio popcornspace-voice-call-mcp-server node /path/to/your/mcp-new/dist/start-all.cjs \ --env RECORD_CALLS="true|false" \ --env TWILIO_NUMBER="your_twilio_phone_number_in_e164" \ --env OPENAI_API_KEY="your_openai_api_key" \ --env NGROK_AUTHTOKEN="your_ngrok_authtoken" \ --env TWILIO_AUTH_TOKEN="your_twilio_auth_token" \ --env TWILIO_ACCOUNT_SID="your_twilio_account_sid"
How to use
This MCP server enables AI assistants to initiate and manage real-time voice calls via Twilio, with audio processed by OpenAI's GPT-4o Realtime model. When Claude or another AI agent issues a POST /calls-like request, the server places an outbound call through Twilio, streams call audio to OpenAI for real-time understanding and response, and returns synthesized audio back to the recipient. The setup supports real-time language switching during calls and ships with pre-built prompts for common scenarios such as restaurant reservations. ngrok is used to expose the local MCP server publicly, allowing Twilio to reach the webhook endpoints. The Claude Desktop integration demonstrates how to configure Claude to interact with the voice-call MCP server by specifying the node command, the start script, and the necessary environment variables for credentials.
How to install
Prerequisites:
- Node.js >= 22
- npm (comes with Node.js)
- Twilio account with API credentials
- OpenAI API key
- ngrok authtoken
Installation steps:
-
Clone the repository git clone https://github.com/lukaskai/voice-call-mcp-server.git cd voice-call-mcp-server
-
Install dependencies and build npm install npm run build
-
Prepare environment variables Create a .env file (or export variables in your shell) with: TWILIO_ACCOUNT_SID=... TWILIO_AUTH_TOKEN=... TWILIO_NUMBER=... OPENAI_API_KEY=... NGROK_AUTHTOKEN=... RECORD_CALLS=true|false
-
Run the server npm start
-
(Optional) Expose via ngrok ngrok http 3000 # or whichever port the MCP server listens on
-
Configure Claude Desktop or your MCP client with the appropriate mcp_config entry (see documentation) to connect to this server.
Additional notes
Tips and common considerations:
- Ensure phone numbers are in E.164 format (e.g., +15555550123).
- Keep OpenAI API usage in check to control costs during real-time processing.
- If ngrok tunnels drop, verify NGROK_AUTHTOKEN is valid and not expired.
- RECORD_CALLS can be toggled to log call audio for debugging; ensure you comply with privacy regulations.
- When debugging, check Twilio credentials and ensure your Twilio number is configured for outbound calls.
- In Claude Desktop configuration, set the path to the start script that boots the MCP server and export the same env vars used by the MCP.
- Monitor real-time audio latency between Twilio, the MCP, and OpenAI, as network jitter can affect UX.
- Review and extend pre-built prompts to cover additional call scenarios relevant to your use case.
Related MCP Servers
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud