Skip to content
Phone calls from AI agents

Let Claude place and answer phone calls with the Wixzel Phone MCP server

For people who would rather ask than write code, and for AI agents that need to make a phone call as one step of a larger job: Wixzel Phone ships an official Model Context Protocol server, wixzel-phone-mcp, that puts the whole API in front of Claude and other MCP clients as tools. Connect it once with OAuth, and "call this number and confirm the delivery slot" becomes something an agent can do, over your own SIP trunk, from your prepaid balance, and never without asking before it dials.

Last updated

How it is built

  1. 01
    claude mcp add --transport http wixzel-phone https://mcp.phone.wixzel.com/mcp

    The hosted server, for Claude Code, claude.ai, Claude Desktop and any client that speaks MCP over HTTP. Sign in with OAuth, tick the scopes the client may use, and it is connected. No key is pasted anywhere.

  2. 02
    npx -y wixzel-phone-mcp

    The same server run locally over stdio with an API key in the environment, for Claude Code, Cursor, Windsurf, VS Code, offline work, or pointing at a self-hosted server.

  3. 03
    /mcp__wixzel-phone__quickstart

    A prompt the server ships: it connects a carrier, registers a number, builds an agent and places a first call, stopping before anything that dials. diagnose_call explains a failed call from its record, usage and SIP logs; spend_report turns a period into dollars by component and by call.

  4. 04
    place_call, start_campaign, create_topup

    The tools that spend money or ring a real phone are annotated so the client asks before running them, and each takes an idempotency key so a retry never dials twice.

  5. 05
    AI clients, in the console

    Every connected client is listed with its scopes. Disconnect one and its key stops working immediately.

The engine to use

classic, $0.0867 per connected minute. The quickstart prompt builds its first agent on the default engine, which is the cheapest reliable pairing for English. An agent can ask for sarvam for Indian languages or gemini-live for the lowest latency; the engines are listed by a tool, so it never has to guess a model name.

What it costs

Engine time for 3-minute calls on the classic engine, at typical speech rates. Telephony is your own trunk at your carrier’s rate and is not included; the meter charges per second, so shorter calls cost proportionally less.

Calls per monthConnected minutesEngine cost per month
100300$26.01
5001,500$130
2,0006,000$520

Prepaid: add credit from $5 and the calls spend it. Estimate your own mix.

Frequently asked questions

Can Claude make phone calls with Wixzel Phone?
Yes. Add https://mcp.phone.wixzel.com/mcp as a connector in claude.ai or Claude Desktop, or run claude mcp add --transport http wixzel-phone https://mcp.phone.wixzel.com/mcp in Claude Code, sign in, and Claude can create an agent, place a call over your SIP trunk, wait for it to finish and read the transcript. The tool that dials asks for confirmation first.
Which AI clients work with the MCP server?
Any MCP client. Over HTTP with OAuth: Claude Code, claude.ai, Claude Desktop and any remote-capable client. Over stdio with an API key: Claude Code, Claude Desktop, Cursor, Windsurf, VS Code and anything that launches servers from a JSON config. Clients that speak HTTP but cannot do OAuth send an API key as a bearer token.
Does the AI agent get my API key?
Not with the hosted server. OAuth issues the client a key of its own, limited to the scopes you approved on the consent screen, and you can revoke it from the AI clients page in the console at any time. With the local server, the key you put in the environment decides what the agent can do; the console preselects the standard agent scopes when you create one.
Can an AI agent spend my money without asking?
The tools that spend money or ring a phone are annotated as such, and MCP clients ask before running them. billing:write, which starts a top-up, and api_keys:write, which mints keys, are never offered by default and have to be granted deliberately. There is no admin scope. Everything the agent does is itemised in the usage log like any other API call.
What does a call placed from Claude cost?
The same as a call placed from code: the engine's per-minute price, billed per second from your prepaid balance, plus your carrier's rate for the trunk. There is no fee for using the MCP server.
Does the MCP server work with a self-hosted server?
Yes. Run the local form, wixzel-phone-mcp from npm, with an API key from your own install and its API host in the environment. A self-hosted server also serves its own MCP endpoint, so the hosted form works against it too.
Do I still need a SIP trunk?
For phone calls, yes. Wixzel Phone does not sell numbers or minutes; the quickstart prompt walks the agent through connecting a carrier trunk and registering a number before it builds anything that dials. Sessions in a web or mobile app need no trunk.

Other uses