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
Connect directly to our hosted MCP server. No local process, no npx, no Node.js — just a URL and your API key.
{
"mcpServers": {
"agentcall": {
"transport": "streamable-http",
"url": "https://api.agentcall.co/mcp",
"headers": {
"Authorization": "Bearer ac_live_xxx"
}
}
}
}{
"mcpServers": {
"agentcall": {
"transport": "streamable-http",
"url": "https://api.agentcall.co/mcp",
"headers": {
"Authorization": "Bearer ac_live_xxx"
}
}
}
}Run the MCP server on your machine. Requires Node.js 18+.
claude mcp add agentcall --env AGENTCALL_API_KEY=ac_live_xxx -- npx -y @agentcall/mcp-server{
"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:
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 numbernumberIdrelease_numberRelease a phone numbernumberIdSMS
send_smsSend an SMS messagefrom, to, bodyget_inboxGet inbound messages for a numbernumberId, limit?, otpOnly?get_messageGet a specific messagemessageIdwait_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 callcallIdhangup_callTerminate an active callcallIdinitiate_ai_callStart an AI-powered voice callfrom, to, systemPrompt, voice?, firstMessage?, maxDurationSecs?get_call_transcriptGet transcript of a completed AI callcallIdWebhooks
create_webhookRegister a webhook endpointurl, events[]list_webhooksList registered webhooksnonerotate_webhook_secretRotate the signing secret for a webhookwebhookIddelete_webhookDeactivate and remove a webhookwebhookIdUsage & 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:
provision_number → enters number in verification form → calls wait_for_otp → enters code → done.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 webhookConfiguration
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_xxxRequirements
- 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 numbersms.otpOTP code detected and extracted from SMScall.inboundIncoming call to your numbercall.ringingOutbound call is ringingcall.statusCall status changed (includes duration, recording URL)call.recordingCall recording saved and availablecall.transcriptAI voice call transcript availablenumber.releasedPhone number was releasedLinks
# 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