Skip to content
← All guides
Guide

Make Any MCP Agent Call You When It Needs a Decision

September 21, 2026

Search "make my coding agent call me" and nearly every answer is written for one specific tool. AgentCall isn't. It's a plain MCP server — the same protocol Claude Code, Codex, and a growing number of other agents already speak — and the only thing it asks of your agent is a tool call that can block while you talk. If your agent can do that, it can ring your actual phone.

That makes it the rare MCP server that calls you. Most servers hand your agent data; this one has a tool that rings your phone and waits for you to answer, and your spoken reply comes back as the tool's result. No chatbot sits between you and your agent — your speech becomes text for the agent, the agent's text becomes speech for you, and nothing in the middle invents words your agent didn't say.

No plugin, no adapter — just MCP

AgentCall exposes its tools over the standard MCP HTTP transport. Nothing on the wire is Claude-specific. Your agent discovers a tool called request_human the same way it discovers any other tool, and when it decides to call it, three things happen: your phone rings, you talk, and the words you speak are returned to the agent as that call's result. It then keeps working.

The important part is what isn't there. Because the blocking tool call is the entire bridge, there's no per-agent adapter to install, no message-injection layer, and no webhook glue. Point a different MCP agent at the same endpoint and the mechanism is identical — the agent changes, the bridge doesn't. That's why "works with any MCP agent" is a description of the architecture, not a marketing wish.

The one requirement that actually matters

There's exactly one compatibility question worth asking: does your MCP client allow long-running tool calls?

request_human blocks. It stays open while your phone rings and for the whole conversation after you pick up — that can be seconds or a few minutes. Some MCP clients cap tool duration aggressively, and those will cut the call short. Clients that let a tool run long — Claude Code and Codex among them — are the ones AgentCall is built for. If yours allows long-running tools, you've cleared the only real gate.

What's tested, what's beta, what's just "should work"

Being an open MCP server is not the same as promising every agent works, so here's the honest ladder:

  • Claude Code — tested. This is the client AgentCall is exercised against end to end, and the one every example here assumes.
  • Codex CLI — works in beta. Fully wired, still being hardened.
  • Any other MCP client that allows long-running tools — should work, but untested. The protocol is standard, so there's no reason a compliant client wouldn't connect. There is also no benchmark behind a specific agent we haven't run ourselves, and we won't pretend there is. Try it: it either connects and rings you, or it doesn't.

Connect in one command

For Claude Code, connecting is a single command:

bash
claude mcp add --transport http --scope user agentcall https://agentcall.io/api/mcp

Any other MCP client points at the same endpoint — https://agentcall.io/api/mcp over HTTP — using its own config format, because it's a standard remote MCP server with nothing custom on the wire.

Then finish the human side once: sign in with Google in the browser, and add AgentCall to your phone's home screen so it can ring you. That "add to home screen" step is the only install there is — it's a web app, not an app-store download, so there's nothing to wait on. Place a test call from the Quickstart to confirm your phone actually rings. It's free while in beta, speech minutes included — no card, no trial clock.

The tool your agent calls: request_human

When your agent hits a decision, an approval, or a finish line, it calls request_human with the project name, a short reason, and an opening — its complete first spoken turn, so speech is ready the instant you answer. Your enrolled phone rings, you pick up, the opening plays, you talk it through, and your reply returns as the tool result so the agent resumes. Because transcription is untrusted input, the agent confirms destructive instructions out loud before acting — a misheard "drop the database" shouldn't become a dropped database.

request_human has companions — converse to keep talking and listening, say for a one-way update, check_in and stand_by for when you want to reach the agent, and voicemail when you miss the ring — but request_human is the one that turns "my agent is blocked" into "my phone is ringing." All of them are documented in the tools reference.

Miss the call and nothing breaks: after a few minutes unanswered, the agent is told the ring went unanswered and proceeds on its best judgment, with the missed call saved to your History and an optional voicemail.

Name check: this is AgentCall.io — voice escalation for coding agents. It is not agentcall.co, an unrelated programmable SMS/voice API SDK for building telephony into your own app. Same-sounding name, different product, different job.

Next: Connect AgentCall in one command → · Every way to get alerted when your agent needs you →