DEV Community

voipbin
voipbin

Posted on

Add Voice Calling to Claude Desktop in 5 Minutes with MCP

You're already using Claude Desktop or Cursor to write code, answer questions, and automate workflows. But here's a capability most developers don't know exists: your AI assistant can make and receive real phone calls — right now, with five minutes of setup.

This isn't a gimmick. It's powered by VoIPBin's MCP server, and it opens up a surprisingly practical set of use cases once you see it in action.


Why Voice + AI in the Same Context?

The usual story is: you build an AI agent, then separately wire up telephony, then glue them together with webhooks and fragile state machines.

MCP flips that. Instead of your AI calling an external service, your AI assistant becomes the orchestrator. It can initiate a call, monitor it, branch on the result — all within the same reasoning loop where it already knows your context.

Practical examples:

  • Claude calls a customer to confirm an appointment it just scheduled
  • Your AI agent dials a support line on your behalf and navigates the IVR
  • You ask Cursor to make a test call to your new voice bot and report back what it heard
  • An automated flow places outbound calls when triggered by a database event

Step 1: Get a VoIPBin API Key

First, create an account. No OTP, no credit card required to start:

curl -s -X POST https://api.voipbin.net/v1.0/auth/signup \
  -H "Content-Type: application/json" \
  -d '{
    "username": "your-username",
    "password": "your-password",
    "email": "you@example.com",
    "name": "Your Name"
  }'
Enter fullscreen mode Exit fullscreen mode

The response includes accesskey.token — that's your API key. Copy it.


Step 2: Install the VoIPBin MCP Server

VoIPBin ships as a Python package you run with uvx (no install, just run):

uvx voipbin-mcp
Enter fullscreen mode Exit fullscreen mode

That's it. No Docker, no daemon, no port forwarding.


Step 3: Connect It to Claude Desktop

Open your Claude Desktop config file:

# macOS
open ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Windows
notepad %APPDATA%\Claude\claude_desktop_config.json
Enter fullscreen mode Exit fullscreen mode

Add the VoIPBin MCP server:

{
  "mcpServers": {
    "voipbin": {
      "command": "uvx",
      "args": ["voipbin-mcp"],
      "env": {
        "VOIPBIN_API_KEY": "your-api-key-here"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Restart Claude Desktop. You'll see VoIPBin appear in the tools panel.


Step 4: Make a Call

Now just ask Claude:

"Call +1-555-0100 and play a message saying: Hello, this is a test call from my AI assistant."

Claude will use the MCP tool to initiate the call through VoIPBin's infrastructure. The call goes out over real PSTN. The recipient hears a real phone call.

Or try something more interesting:

"Call +1-555-0100, wait for the person to answer, read them the summary of today's tasks, and tell me what they said."

Because VoIPBin handles STT (speech-to-text) and TTS (text-to-speech) on its end, Claude never has to touch audio streams. It sends text in, gets text back. The entire voice pipeline is invisible to your AI logic.


What's Happening Under the Hood

Claude Desktop
     │
     │  MCP tool call: make_call(to="+1555...", message="Hello...")
     ▼
VoIPBin MCP Server
     │
     │  REST API → https://api.voipbin.net/v1.0
     ▼
VoIPBin Infrastructure
     │
     ├─ Allocates real phone number (or uses Direct Hash SIP URI)
     ├─ Initiates SIP/RTP call to destination
     ├─ Converts your text → TTS audio
     ├─ Plays to recipient
     ├─ Captures response via STT
     └─ Returns transcript back to Claude
Enter fullscreen mode Exit fullscreen mode

Your AI sees: text in, text out.
VoIPBin handles: codecs, SIP, RTP, NAT traversal, carrier routing, audio processing.


Using It in Cursor (or Any MCP-Compatible IDE)

Cursor supports MCP too. Add the same config block to your Cursor settings and you can do things like:

You: "I just deployed the new onboarding flow. Can you call our test number
       +1-555-0199 and walk through the IVR to check if it's working?"

Cursor: [calls the number, navigates the prompts, reports back]
        "Step 1 asked for language selection — I pressed 1 for English.
         Step 2 played the welcome message correctly.
         Step 3 transferred to the queue as expected."
Enter fullscreen mode Exit fullscreen mode

This is genuinely useful for testing voice bots during development — no need to manually call your own system every time you make a change.


What You Can Do With the MCP Tools

The VoIPBin MCP server exposes several tools:

Tool What It Does
make_call Initiate an outbound call to any PSTN number
send_sms Send an SMS message
get_call_status Check if a call is active, completed, or failed
list_calls See recent call history
get_recording Retrieve call recording or transcript

Claude can chain these together. For example: make a call, wait for it to complete, then retrieve the transcript and summarize it.


Real Use Case: AI-Assisted Outreach

Here's a pattern some teams are using:

  1. Claude reads a CRM export (a CSV of leads)
  2. For each lead, it composes a personalized intro message
  3. It uses VoIPBin MCP to place calls and deliver the message
  4. It collects responses and updates the CRM

All of this happens inside a single Claude conversation — no separate pipeline, no extra services, no code to deploy.


Limitations to Know

  • Free tier has call limits — check voipbin.net for current quotas
  • Outbound PSTN calls require a funded account for carrier costs
  • MCP tool availability depends on your Claude plan (Claude Pro and above support MCP)
  • Not all MCP clients support all tool types — test with your specific setup

Where to Go From Here

  • VoIPBin API Docs — full reference for calls, SMS, flows, and agents
  • Golang SDK: go get github.com/voipbin/voipbin-go — if you want to build custom integrations
  • Direct Hash SIP URI — run an AI voice bot without a phone number at all (no carrier required)

If you're already living in Claude or Cursor all day, adding voice is literally a config file change away. Five minutes, and your AI assistant has a phone.


Have a use case you've built with AI + voice? Drop it in the comments — always curious what people are doing with this.

Top comments (0)