LabscoMCP early access ↗
Vonage-CommunityMCP SERVER · OFFICIAL PROJECT

Telephony MCP Server

Place a voice call or send an SMS from the conversation, through your own Vonage account.

by Vonage-Community ↗Telephony, SMS & Voice Agents✓ Official

LABSCO SUMMARY

Real calls and real messages — the account is yours and so is the bill.

Both tools reach the live Vonage APIs, so a wrong number is a number that actually rings. The part people miss is the callback side: voice events only come back if CALLBACK_SERVER_URL points at something Vonage can reach from the internet, which on a laptop means a tunnel rather than localhost.

What it is

A Python server that puts two Vonage telephony actions in front of an assistant: dialling a number and speaking to it, and sending a text message. A callback server runs alongside it on port 8080 to receive Vonage's voice events.

What you get

  • A voice call placed to a number, with language and style parameters so the spoken text can carry a chosen accent — voice_call
  • A text message sent from your Vonage virtual number — send_sms
  • A record of what Vonage reported back: the callback server stores voice events and exposes them at GET /events, GET /events/{event_id} and DELETE /events

Requirements

A Vonage account with an API key, secret, application ID and private key. Environment variables carry them and the endpoints: VONAGE_API_KEY, VONAGE_API_SECRET, VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH, VONAGE_LVN, VONAGE_API_URL, VONAGE_SMS_URL and CALLBACK_SERVER_URL. Python 3.13+. Run python telephony_server.py, or the bundled docker compose up --build. In production CALLBACK_SERVER_URL has to be a public URL Vonage can reach; in development it defaults to http://localhost:8080.

Setup effort

Run a container — build the image from the repository, then point your client at it