DialMCP
DialMCP gives AI agents the ability to place real phone calls and get a full transcript, recording, and outcome.
Documentation
Phone Call MCP Server · US & Canada
Your agent can now
use your phone.
DialMCP gives your agent (i.e. Gamut, Claude, Codex) the ability to place phone calls with your actual phone number and speak on your behalf.
Connect in 2 minutes Listen to a real call 1:20
One endpoint: https://mcp.dialmcp.com/mcp — OAuth sign-in with your phone number, no API keys.
How it works
The whole call, handled for you.
Your agent calls place_call with a phone number and an objective. DialMCP does the rest and hands back a structured result.
Caller ID
Your number.
Not a robot's.
Calls go out with your phone number so recipient sees you calling — and can call you back.
Results
Transcript, recording, resolution
Every call returns a full transcript, a link to the audio recording, and a structured resolution: outcome, summary, commitments made, follow-ups needed.
Navigation
Handles hold music
& phone trees
It presses the keys, answers voice menus, waits silently through hold, and detects voicemail (it hangs up rather than leaving one).
Transparency
Automatically discloses it's a bot
The first thing any human hears: it's an AI assistant, calling on your behalf, and the call is recorded. Always.
Architecture
Async by design
place_call returns instantly with a call ID; your agent polls get_call for progress. Works within every client's tool timeout.
Guardrails
Compliance built-in
Every call complies with calling-hours enforcement, rate limits, do-not-call registries, objective screening, and hard blocklists.
Read the safety page →
Setup
Connect to your agent
DialMCP is a remote MCP server with OAuth — no API keys to manage.
01 Point your client at the endpoint
Every client uses the same URL: https://mcp.dialmcp.com/mcp. No API keys, no per-provider setup.
02 Sign in with your phone number
A browser window opens on first use; verify with an SMS code and that number becomes your caller ID.
03 Ask your agent to make a call
Try asking the agent to call a friend to test it out.
Connect to Gamut
Easiest & most powerful
gamut.so — agent workspace with native MCP connectors
- Get the Gamut Desktop app.
- Open Settings → Connectors and choose Add MCP server.
- Paste the server URL:
https://mcp.dialmcp.com/mcp(transport: HTTP, auth: OAuth). - Complete the sign-in window — enter your phone number and the SMS code to verify it as your caller ID.
- Enable the connector in a session and ask: “Call Tosca and book a table for two at 7:30 tonight.”
Connect to Claude
CLI, desktop, and IDE extensions
claude mcp add --transport http dialmcp https://mcp.dialmcp.com/mcp
- Run the command above (add
--scope userto enable it in every project). - Run
/mcp→ authenticate to open the OAuth flow, or just let the firstplace_calltrigger it. - Ask Claude to make the call. It gets four tools:
place_call,get_call,end_call,list_calls.
Connect to Codex
OpenAI Codex CLI
[mcp_servers.dialmcp] url = "https://mcp.dialmcp.com/mcp"
- Add the block above to
~/.codex/config.toml(Codex's MCP servers section). - Restart Codex; approve the OAuth browser prompt the first time the server is used.
- Tool calls are async — tell Codex to poll
get_callrather than wait on the line.
FAQ
Frequently asked questions
Everything you need to know about how DialMCP places calls, protects your number, and keeps every call compliant.
Whose number shows up on the callee's phone?
Yours. During sign-up you verify your own number via SMS, and every call the agent places presents that number as the caller ID. Callees can call or text you back directly — DialMCP never hides behind a random number.
Does the person being called know it's an AI?
Always. The agent's first words to any human are a disclosure — that it's an AI assistant, who it's calling for, and that the call is recorded. This is enforced in the calling system and independently checked after every call, not left to the model's discretion. If someone objects to talking to an AI, the agent apologizes and ends the call.
What numbers can it call?
US and Canadian numbers, between 8:00 and 21:00 in the destination's local time. Emergency services, premium-rate lines, and high-fraud number ranges are blocked outright and can never be called. See the safety page for the full guardrail list.
What does my agent get back after a call?
A structured resolution (achieved / partially achieved / not achieved, with a summary, any commitments made, and suggested follow-ups), the full turn-by-turn transcript, and a signed link to the audio recording.
What if the person asks not to be called again?
The agent confirms it on the spot and the number goes onto a permanent do-not-call list — enforced before any future call is placed, by any user. There's also a self-serve opt-out page anyone can use, no account needed.
How long can a call run?
Calls default to 6 minutes and are hard-capped at 10. The agent wraps up gracefully — it confirms the outcome, says goodbye, and hangs up — and your agent can end a call early with end_call.
Can I use it from claude.ai, ChatGPT, or Cursor too?
Yes — any client that supports remote MCP servers with OAuth works: claude.ai and Claude Desktop (Settings → Connectors → Add custom connector), ChatGPT developer-mode connectors, Cursor, and more. Same URL everywhere.