CallAgent

Developers · 5 min

One block of config: why CallAgent feels boring to integrate

Mira Ostermaier · 1 Oct 2026

Voice integrations usually mean WebRTC servers, audio codecs and webhook handlers. We wanted adding a phone to an agent to be as simple as adding any other tool.

What you don’t have to build

  • No SDK. CallAgent is a remote MCP server. If your client speaks MCP, it already speaks CallAgent.
  • No webhook server. wait_for_call long-polls and returns the moment something happens.
  • No audio pipeline. You send text in and get text back.
  • No phone number. The line is ours. You never deal with carrier sign-ups.

One block of config

claude mcp add --transport http callagent https://34.159.148.7.sslip.io/mcp \
  --header "Authorization: Bearer cba_live_…"

That is the whole integration. The token is the account: every tool works out who is calling from it, so a token can never read or steer someone else’s call.

Safe to retry

Agents retry things, and that is fine here. Starting is idempotent, so a second approve_and_start never redials. A dropped connection doesn’t drop the call: reconnect and keep polling the same run_id.

All notes