Skip to content

MCP voice agent

MCP in both directions: tools in, calls out.

Your phone agent uses your tools the way any AI agent does — through MCP. And any AI agent can use the phone the same way: through the MCPDial MCP server.

Calls out

Give any AI agent a phone.

Point an MCP client at one URL with an API key from the dashboard. Your agent can then create voice agents, place calls, read transcripts and book appointments.

  • Streamable HTTP, stateless — every POST is answered with JSON
  • Auth with Authorization: Bearer cv_live_…
  • initialize, ping, tools/list and tools/call
  • Batches of up to 10 messages per request
mcp client config · json
{
  "mcpServers": {
    "phone": {
      "url": "https://mcpdial.com/api/v1/mcp",
      "headers": { "Authorization": "Bearer cv_live_…" }
    }
  }
}
call a tool · curl
# tools/call over Streamable HTTP — one POST, a JSON answer
curl -X POST https://mcpdial.com/api/v1/mcp \
  -H "Authorization: Bearer cv_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
        "params": { "name": "place_call", "arguments": {
          "agent_id": "agt_…", "to": "+41441234567",
          "goal": "Confirm the Tuesday appointment",
          "consent_basis": "web form 2026-09-01" } } }'

# The call may be dialled, scheduled for the callee's local hours,
# or refused — the result says which, and why.

7 tools exposed

What your agent can do on the phone.

The full tool list your MCP client sees after tools/list — the same operations as the REST API.

Tools exposed by the MCPDial MCP server
ToolWhat it doesArguments
list_agentsThe agents in the workspace, with role and status.—
create_agentCreate an agent from a role template and your company details.role, company_name
place_callPlace or schedule an outbound call with an agent — same gate as the REST API.agent_id, to (E.164), goal?, consent_basis?
get_callStatus, transcript, outcome and actions of a call.call_id
list_callsRecent calls, filterable by agent and status.limit?
check_availabilityFree slots on a calendar.calendar_id, from?, days?
book_appointmentBook a free slot on a calendar.calendar_id, start, name?, phone?

A typical agent flow

Tools in

Register an MCP server once. Use it on every agent.

Dashboard → Tools → Add server. Give it a URL (Streamable HTTP or SSE) and, if needed, an auth header. The dashboard lists the server's tools and creates a default policy for each — then you allow tools per agent.

Slow tools never mean silence: see how the voice agent talks while tools run.

01

Allow-list per agent

Each agent sees only the tools you tick for it — a receptionist does not need your refund tool.

02

Confirm before writing

Mark a write as needing a spoken yes: the agent reads the action back and waits for confirmation before it calls the tool.

03

Latency class

Instant tools run inline; slow ones run in the background while the agent keeps talking; offline ones follow up after the call.

04

Screened results

Tool output is checked for prompt injection before the model sees it, and every tool call is logged with the call.

Guardrails

An AI agent with a phone, under the same rules as you.

Giving software a phone line is a responsibility. The MCP server does not get a shortcut around any of it.

Consent and calling hours, enforced

place_call passes the same compliance gate as the REST API. Outside the callee's local hours the call is scheduled; without a consent basis where one is required, it is refused with the reason. Read the AI calling compliance rules.

Secrets and results, handled

MCP credentials are encrypted at rest and never returned to the dashboard or API. Tool results are screened for prompt injection before the model sees them. More on security and data residency.

FAQ

MCP questions.

Prefer plain HTTP? The REST API for AI phone calls covers the same operations. Or see the AI phone agent product overview.

What is an MCP voice agent?
A phone agent that speaks the Model Context Protocol. MCPDial uses MCP in both directions: your phone agents call tools on MCP servers you register, and any MCP client can use MCPDial’s own MCP server to create agents, place calls and book appointments.
Which MCP transports are supported for my tools?
Streamable HTTP and SSE. Register the server URL and an optional auth header; the dashboard connects, lists the tools it exposes and creates a default policy for each.
How does an MCP client connect to MCPDial?
Create an API key in Settings → API keys and add the server URL with an Authorization: Bearer header to your client. The server speaks Streamable HTTP, is stateless, and answers every POST with JSON; batches are capped at 10 messages per request.
Where are my MCP credentials stored?
Encrypted at rest and decrypted only for the call that uses the server. They are never returned to the dashboard or the API.
Can an AI agent start a call and get the result?
Yes — place_call returns a call id immediately; get_call returns the status, transcript, summary, outcome and actions once it ends.
Does place_call bypass the compliance rules?
No. It goes through the same gate as the REST API: consent and the callee’s local calling hours are enforced, so a call may be scheduled or refused, with the reason.

Connect your first tool — or your first agent.

Register an MCP server and allow its tools on an agent, or create an API key and let your own AI agent place the call.