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"
}'
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
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
Add the VoIPBin MCP server:
{
"mcpServers": {
"voipbin": {
"command": "uvx",
"args": ["voipbin-mcp"],
"env": {
"VOIPBIN_API_KEY": "your-api-key-here"
}
}
}
}
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
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."
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:
- Claude reads a CRM export (a CSV of leads)
- For each lead, it composes a personalized intro message
- It uses VoIPBin MCP to place calls and deliver the message
- 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)