MCP Server

AgentCall MCP Server

Give Claude, Cursor, and other AI tools direct access to phone numbers, SMS, voice calls, and OTP extraction. 19 tools, one install command.

Quick Install

1. Get your API key

Sign up at agentcall.co/sign-up and grab your API key from the dashboard. It looks like ac_live_xxxxxxxx

2. Add to your AI tool

RecommendedHosted Server — No Node.js Required

Connect directly to our hosted MCP server. No local process, no npx, no Node.js — just a URL and your API key.

Claude Desktop (~/.claude/claude_desktop_config.json)
{
  "mcpServers": {
    "agentcall": {
      "transport": "streamable-http",
      "url": "https://api.agentcall.co/mcp",
      "headers": {
        "Authorization": "Bearer ac_live_xxx"
      }
    }
  }
}
Cursor (.cursor/mcp.json)
{
  "mcpServers": {
    "agentcall": {
      "transport": "streamable-http",
      "url": "https://api.agentcall.co/mcp",
      "headers": {
        "Authorization": "Bearer ac_live_xxx"
      }
    }
  }
}
AlternativeLocal Server via npx

Run the MCP server on your machine. Requires Node.js 18+.

Claude Code (one command)
claude mcp add agentcall --env AGENTCALL_API_KEY=ac_live_xxx -- npx -y @agentcall/mcp-server
Claude Desktop / Cursor config
{
  "mcpServers": {
    "agentcall": {
      "command": "npx",
      "args": ["-y", "@agentcall/mcp-server"],
      "env": {
        "AGENTCALL_API_KEY": "ac_live_xxx"
      }
    }
  }
}

3. Start using it

Once connected, your AI agent can provision phone numbers, send SMS, make calls, and extract OTP codes by simply asking. Try:

“Provision a US SIM number for my signup agent”
“Send an SMS from my number to +14155551234”
“Wait for an OTP code on my provisioned number”

Using OpenClaw?

OpenClaw agents use environment variables instead of MCP config. See the OpenClaw integration guide for the two-line setup.

Tool Reference — 19 tools

Phone Numbers

provision_numberProvision a new phone numbertype (local/tollfree/mobile/sim), country?, label?
list_numbersList all provisioned numberslimit?, country?, type?
get_numberGet details of a specific numbernumberId
release_numberRelease a phone numbernumberId

SMS

send_smsSend an SMS messagefrom, to, body
get_inboxGet inbound messages for a numbernumberId, limit?, otpOnly?
get_messageGet a specific messagemessageId
wait_for_otpWait for an OTP code to arrivenumberId, timeout?

Voice Calls

initiate_callStart an outbound phone callfrom, to, record?
list_callsList call historylimit?
get_callGet details of a specific callcallId
hangup_callTerminate an active callcallId
initiate_ai_callStart an AI-powered voice callfrom, to, systemPrompt, voice?, firstMessage?, maxDurationSecs?
get_call_transcriptGet transcript of a completed AI callcallId

Webhooks

create_webhookRegister a webhook endpointurl, events[]
list_webhooksList registered webhooksnone
rotate_webhook_secretRotate the signing secret for a webhookwebhookId
delete_webhookDeactivate and remove a webhookwebhookId

Usage & Billing

get_usageGet usage and cost breakdown for a billing periodperiod?

Example Workflows

Test your app's SMS verification flow

Ask your AI agent to test the verification end-to-end:

You: “Test the signup flow on our staging app. Provision a SIM number for OTP verification.”
Agent: Calls provision_numberenters number in verification formcalls wait_for_otpenters codedone.

Send a notification via SMS

Agent calls: send_sms
  from: "num_abc123"
  to: "+14155551234"
  body: "Your order #1234 has shipped. Track at https://..."

→ Returns: { id: "msg_xyz", status: "sent", cost: 0.015 }

Make a recorded call

Agent calls: initiate_call
  from: "num_abc123"
  to: "+14155551234"
  record: true

→ Returns: { id: "call_xyz", status: "initiated", record: true }
→ After call: recording URL delivered via webhook

Configuration

Authentication

The MCP server needs your AgentCall API key. Provide it via environment variable (recommended) or CLI flag:

# Environment variable (recommended)
AGENTCALL_API_KEY=ac_live_xxx agentcall-mcp

# CLI flag
agentcall-mcp --api-key ac_live_xxx

Requirements

  • Node.js 18 or later
  • API Key from agentcall.co (free tier available)
  • AI Tool that supports MCP (Claude Code, Claude Desktop, Cursor, Windsurf, etc.)

How It Works

The MCP server runs locally on your machine as a subprocess of your AI tool. It translates MCP tool calls into secure HTTPS requests to the AgentCall API, which handles phone number provisioning, SMS, and voice calls on your behalf.

Webhook Events

Use create_webhook to subscribe to these events:

sms.inboundNew SMS received on your number
sms.otpOTP code detected and extracted from SMS
call.inboundIncoming call to your number
call.ringingOutbound call is ringing
call.statusCall status changed (includes duration, recording URL)
call.recordingCall recording saved and available
call.transcriptAI voice call transcript available
number.releasedPhone number was released

Links

# REST API Quickstart

Don't use MCP? You can hit the AgentCall API directly with curl or any HTTP client. Get your API key from the dashboard, then:

1. Provision a phone number

curl -X POST https://api.agentcall.co/v1/numbers/provision \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"country": "US", "type": "local"}'

2. Send an SMS

curl -X POST https://api.agentcall.co/v1/sms/send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"from": "+15672901611", "to": "+14155551234", "body": "Hello from AgentCall!"}'

3. Wait for an OTP code

curl https://api.agentcall.co/v1/sms/inbox/NUMBER_ID?otpOnly=true \
  -H "Authorization: Bearer YOUR_API_KEY"

4. Make an AI voice call

curl -X POST https://api.agentcall.co/v1/calls/ai \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "+15672901611",
    "to": "+14155551234",
    "systemPrompt": "You are calling to confirm a reservation.",
    "voice": "alloy"
  }'

Full interactive API reference: api.agentcall.co/docs

Ready to get started?

Get your API key and install the MCP server in under 2 minutes.

Get API Key — Free