MCP server · US & Canada

Give your AI agent a phone.

DialMCP lets Claude, Codex, and any MCP-enabled agent place real phone calls on your behalf — book the table, chase the contractor, check the flight — from your own verified number, with a transcript, recording, and structured outcome returned to your agent when the call ends.

One endpoint: https://mcp.dialmcp.com/mcp — OAuth sign-in with your phone number, no API keys.

The whole call, handled

Your agent calls place_call with a phone number and an objective. DialMCP does the rest and hands back a structured result.

📱

Your number, not a robot's

Calls go out with your own verified caller ID, so the restaurant, clinic, or contractor sees you calling — and can call you back.

🗣️

A voice agent that discloses first

A low-latency AI voice agent handles the conversation. The first thing any human hears: it's an AI assistant, calling on your behalf, and the call is recorded. Always.

🎛️

Phone trees & hold music

It presses the keys, answers voice menus, waits silently through hold, and detects voicemail (it hangs up rather than leaving one).

📝

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.

⏱️

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 you can't forget to add

Calling-hours enforcement, rate limits, a do-not-call registry, objective screening, and a hard blocklist — on every call, for every user. Read the safety page →

Add it to your agent

DialMCP is a remote MCP server with OAuth — no API keys to manage. Point your client at https://mcp.dialmcp.com/mcp; on first use a browser window opens where you sign in with your phone number (SMS code) and verify it as your caller ID.

Gamut

gamut.so — agent workspace with native MCP connectors

  1. Open Settings → Connectors and choose Add MCP server.
  2. Paste the server URL: https://mcp.dialmcp.com/mcp (transport: HTTP, auth: OAuth).
  3. Complete the sign-in window — enter your phone number and the SMS code to verify it as your caller ID.
  4. Enable the connector in a session and ask: “Call Tosca and book a table for two at 7:30 tonight.”

Claude Code

CLI, desktop, and IDE extensions

claude mcp add --transport http dialmcp https://mcp.dialmcp.com/mcp
  1. Run the command above (add --scope user to enable it in every project).
  2. Run /mcpauthenticate to open the OAuth flow, or just let the first place_call trigger it.
  3. Ask Claude to make the call. It gets four tools: place_call, get_call, end_call, list_calls.

Codex

OpenAI Codex CLI

[mcp_servers.dialmcp]
url = "https://mcp.dialmcp.com/mcp"
  1. Add the block above to ~/.codex/config.toml (Codex's MCP servers section).
  2. Restart Codex; approve the OAuth browser prompt the first time the server is used.
  3. Tool calls are async — tell Codex to poll get_call rather than wait on the line.

FAQ

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.