MCP server · phone calls as a tool

Give your AI agent
a phone

Connect our MCP server to Claude, ChatGPT, your CRM — or agent platforms like OpenClaw and Hermes — and just say what you need. A plain human command becomes a real phone conversation, and the result comes back to the chat as structured data.

One config block to connect · 13 MCP tools · sandbox to try without real calls

Any MCP clientClaude, ChatGPT, agents, CRMs
Human command inno prompts to engineer
Structured result outJSON back into your workflow
from $0.09/minAI + telephony, one bill

49 seconds, start to finish

A command in the chat → a real call → the result back. This is the whole product.

You say it. Your agent calls.

This is what using it feels like — inside Claude, ChatGPT or your own agent.

Personal assistant · one call
Call Bella's restaurant at +1 555 0123 and book a table for four tomorrow at 8pm, name Alex.
→ start_call(to: +15550123, task: "book a table…")
📞 calling · 0:47
Done — table for 4 booked for tomorrow at 20:00 under “Alex”. They asked you to arrive 10 minutes early. {"booked": true, "time": "20:00", "note": "arrive 10 min early"}
CRM / sales team · a whole list
Call the 38 leads from yesterday's webinar and ask if they'd like a demo this week.
→ create_campaign(contacts: 38, task: "offer a demo…")
→ start_campaign() · 📞 dialing 3 in parallel
Campaign finished: 29 reached, 11 want a demo (booked into the calendar), 6 asked to call next month, 3 opted out — added to your do-not-call list. {"reached": 29, "demo_yes": 11, "callback_later": 6, "dnc": 3}

How a command becomes a call

Your agent calls an MCP tool

Claude / ChatGPT / OpenClaw / your CRM bot passes the human command as-is — “remind everyone about tomorrow's webinar and ask who's coming”. No prompt engineering on your side.

Our compiler turns it into a guarded call script

The task is compiled into a protected system prompt: the bot introduces itself, discloses recording, stays on task, resists prompt injection from the person on the line, and knows when to hang up.

The result returns to the conversation

Transcript, outcome and your structured fields (evidence-grounded — nothing invented) come back to the agent chat and to your CRM via signed webhooks. Opt-outs land in the DNC list automatically.

Connect in one config block

Standard MCP over streamable HTTP — the same server works in every client.

// Claude Desktop / Claude Code — mcp config
{
  "mcpServers": {
    "voxtelai": {
      "type": "http",
      "url": "https://<your-endpoint>/mcp",
      "headers": { "Authorization": "Bearer <your-token>" }
    }
  }
}

# then, in chat:
"Call +49 30 901820 and ask if they're open on Saturday"
"Ring all contacts in leads.csv, offer the July discount, log who's interested"
13 tools

Everything an agent needs

start_call · get_call · list_calls · cancel_call · create_campaign · start/pause/resume/cancel/retry_campaign · get_campaign · list_campaigns · manage_dnc. Your agent composes them on its own.

Sandbox

Try it without a single real call

Simulated mode + magic numbers run the whole pipeline — your agent “makes calls”, gets realistic results, and you see exactly what production will look like. Zero spend.

Where it plugs in

If it speaks MCP or HTTP, it can make calls.

Claude

Desktop, Code and API — add the server, and phone calls become a native tool in every conversation.

ChatGPT

Connect through apps/connectors with the same streamable-HTTP endpoint — your GPT gains a real phone.

OpenClaw, Hermes & personal agents

Personal agent platforms get calling superpowers: “book me a dentist appointment” now actually happens.

Your CRM

amoCRM, HubSpot, GoHighLevel, self-built — REST API + signed webhooks with your lead ids round-tripping through every event.

n8n / Make / Zapier

HTTP nodes today, native nodes on the roadmap — trigger calls from any workflow.

Agent frameworks

LangChain, CrewAI, AutoGen — wrap the MCP tools and give your fleet a voice channel.

Safe by default — because it's making real calls

Every call discloses it's automated and that the line is recorded. Verbal opt-outs go straight to your do-not-call list. Vague or risky commands fail closed — the compiler refuses rather than improvises. Pilots go through use-case review: your agent gets a phone, not a loophole.

Pilot pricing

Same engine, same bill as our API product: AI + telephony together, on our own carrier network.

from $0.09/min all-in

AI conversation + telephony

  • Typical AI-voice stacks: $0.15–0.36/min
  • Destination-based — quote in 24h
  • Prepaid · cards or crypto
$0 platform fee for pilots

Concierge pilot

  • MCP endpoint + test tenant in a day
  • Sandbox first, real calls when ready
  • An engineer sets it up with you

FAQ

Which MCP clients are supported?

Anything that speaks MCP over streamable HTTP with headers — Claude Desktop/Code, ChatGPT connectors, OpenClaw, custom agents on the official SDKs. One endpoint, Bearer auth, no local install.

What happens if my command is vague?

The compiler fails closed: if a task can't be turned into a safe, unambiguous call script, the tool returns an error explaining what's missing instead of calling and improvising. Your agent can refine and retry.

Can the person on the phone “jailbreak” my agent?

The call script is compiled with injection resistance — instructions from the callee are treated as conversation, not commands. The bot stays on task, and everything is in the transcript you get back.

Which countries can it call? Which languages?

We're a carrier: termination almost anywhere, DIDs in 100+ countries. Conversations run on Gemini realtime voice — strong in English, Russian and most major languages. We validate your destinations in the pilot.

Inbound — can it answer calls too?

Outbound is production today; inbound (AI receptionist on a DID) is on the roadmap. Mention inbound in the form and we'll loop you into the beta.

Get pilot access

Tell us what your agent should be able to do — you get an MCP endpoint, a sandbox tenant and an engineer on a direct line.

No spam, no drip campaigns. One engineer reads this and replies once.