Backed by Y Combinator
For AI agents

Give your AI agent a phone number.

Outbound and inbound calls over MCP, CLI, or SDK. Structured JSON back. One /v1 API, $0.05/min all-in.

MCPCLISDK (Python · TypeScript)

Three ways in

Built for AI agents as first-class citizens

MCP for AI agents. CLI for coding agents and scripts. SDK for your own backend. Same /v1 API behind all of them.

  • MCP: drop-in tools like make_call_and_wait, create_call, purchase_number
  • CLI: ships with pip install 'callingbox[cli]', dispatches and polls in one command
  • SDK: Python and TypeScript, lazy module-level or explicit-client styles
# ~/.config/claude-desktop/claude_desktop_config.json
# or any MCP client config
{
  "mcpServers": {
    "callingbox-mcp": {
      "url": "https://mcp.callingbox.io/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_..."
      }
    }
  }
}
Drop into Claude Desktop, Cursor, ChatGPT, OpenClaw, or any MCP client.

Compatible MCP clients

  • Claude Desktop
  • Cursor
  • ChatGPT
  • OpenClaw
  • Codex CLI
  • Any MCP client

The round trip

Every call event is just a webhook.

Dispatch, then forget. CallingBox runs the call and posts signed events to your endpoint at every lifecycle transition. Same shape as Stripe, with retries and idempotency keys baked in.

01

Dispatch

POST /v1/calls

Fire the call from MCP, CLI, SDK, or HTTP. Returns immediately with a call id.

02

CallingBox runs the call

Telephony · STT · LLM · TTS

Dials, talks, navigates IVRs, extracts your structured returns. Each transition emits an event.

03

Webhooks to your endpoint

Signed · retried · idempotent

Eight event types. The completed payload carries the full result. Treat it like any Stripe-style webhook.

  • HMAC-SHA256 signed

    verify with your endpoint secret

  • Exponential backoff retries

    up to 3 days, jittered

  • Idempotency keys

    safe to replay any event

webhook.deliveries.log
example
  • 14:30:00.123call.queued200 OK
  • 14:30:01.847call.ringing200 OK
  • 14:30:15.220call.answered200 OK
  • 14:30:49.512call.completed200 OK
    payload · application/jsonapi_version 2026-04
    {
    "id": "9c1d9f9e-21a1-4f6d-8fce-bf4a4b8a9e3f",
    "type": "call.completed",
    "created": 1713268860,
    "api_version": "2026-04",
    "data": {
    "call": {
    "id": "a1b2c3d4-...",
    "status": "completed",
    "duration_seconds": 47,
    "result": {
    "appointment_confirmed": true,
    "date": "2026-04-29",
    "time": "14:00"
    }
    }
    }
    }

Use cases

What agents do once they can pick up the phone.

Same SDK, same JSON contract, six very different jobs. Outbound and inbound on one platform.

Outbound

SDR agent

Qualify a lead in two minutes. Confirm budget, timeline, and decision-maker, then drop the result into your CRM.

returns

{ qualified, budget, timeline, contact_email }

Outbound

Support callback agent

Trigger a callback when a ticket misses SLA. The agent verifies identity, resolves simple issues, escalates the rest.

returns

{ resolved, csat, escalated_to }

Outbound

Scheduling agent

Call patients, customers, or vendors to book, reschedule, or confirm appointments against your live calendar.

returns

{ confirmed, date, time, notes }

Outbound

Vendor research agent

Cold-call suppliers to gather pricing, lead times, and availability. Returns a normalized comparison row per call.

returns

{ price, lead_time_days, in_stock, contact }

Outbound

Verification agent

KYC and identity callbacks: confirm a phone number, validate an applicant, capture consent on a recorded line.

returns

{ verified, consent_captured, recording_url }

Inbound

Front-desk agent

Attach a number to your inbound agent. It answers every call, qualifies the request, and writes structured tickets.

returns

{ caller_name, intent, urgency, summary }

  • Same /v1 API
  • Structured returns
  • Recordings & transcripts
  • $0.05/min all-in
MCP serverproduction

Inside the MCP server.

9 tools out of the box: place a call and wait, list and inspect calls, fetch transcripts, search and buy numbers. Streamable HTTP, stateless, your API key forwarded per request.

Transport
Streamable HTTP
Auth
Bearer · per-request
Sessions
Stateless

Compatible clients

  • Claude Desktop
  • Cursor
  • ChatGPT
  • OpenClaw
  • Codex CLI
endpoint
POST · streamable-http
https://mcp.callingbox.io/mcp
tools exposed9 total
  • Callsplace, await, fetch
    • make_call_and_wait
    • create_call
    • wait_for_call
    • get_call
    • get_call_transcript
    • list_calls
  • Numberssearch, buy, list
    • search_available_numbers
    • purchase_number
    • list_numbers

Also included

And yes: we're still the runtime.

The improvement loop sits on top of a production-grade voice stack. One vendor, one bill, one API.

What you're replacing

4 layers · 1 API
01Telephony
SIPNumbersSTIR/SHAKEN
02STT · LLM · TTS
StreamingToolsVoices
03Voicemail · IVR · DTMF
DetectionNavigationTones
04JSON + webhooks
ReturnsEventsRecordings

$0.05/min connected time, all-in. No per-component metering, no surprise add-ons.

See your first improvement in week one.

$5 free credit. No card. First live call in 5 minutes, first measured improvement in 7 days.

  • Keep your phone numbers
  • Cancel anytime

FAQ

Agent integration questions

Still have questions?

Talk to the founders directly — 20-minute slot, real engineers.

Talk to founders