# AgentCall

Programmable phone numbers for AI agents. Provision numbers, send/receive SMS, extract OTP codes, make AI voice calls, and more

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add agentcall/agentcall

# Browse available tools
npx -y @smithery/cli@latest tool list agentcall/agentcall

# Get full schema for a tool
npx -y @smithery/cli@latest tool get agentcall/agentcall provision_number

# Call a tool
npx -y @smithery/cli@latest tool call agentcall/agentcall provision_number '{}'
```

## Direct MCP Connection

Endpoint: `https://agentcall--agentcall.run.tools`

**Required config:**
- `agentcallApiKey` (query) — Your AgentCall API key (starts with ac_live_). Get one at https://agentcall.co

**Optional config:**
- `defaultCountry` (query) — Default country code for provisioning phone numbers
- `defaultNumberType` (query) — Default phone number type when provisioning. 'local' ($2/mo) for basic SMS/voice, 'sim' ($8/mo) for real SIM numbers that pass strict verification.
- `webhookUrl` (query) — Default HTTPS webhook URL for receiving real-time events (SMS received, OTP detected, call completed)
- `autoExtractOtp` (query) — Automatically extract OTP verification codes from incoming SMS messages
- `otpTimeoutMs` (query) — Default timeout in milliseconds when waiting for OTP codes to arrive
- `aiCallVoice` (query) — Default OpenAI voice for AI-powered calls

## Tools (19)

- `provision_number` — Provision a new phone number for your AI agent. Returns the number details including the phone number string and ID.
- `list_numbers` — List all phone numbers provisioned for this agent. Returns an array of number objects with IDs, phone strings, types, a…
- `get_number` — Get details of a specific phone number by its ID. Returns the full number object including status and monthly rate.
- `release_number` — Release a phone number, deactivating it and stopping billing. This action is irreversible.
- `send_sms` — Send an SMS message from one of your provisioned numbers. Returns the message object with ID and delivery status.
- `get_inbox` — Get inbound SMS messages for a phone number. Can filter to show only messages containing OTP codes.
- `get_message` — Get a specific SMS message by its ID. Returns the full message including body, OTP (if extracted), and status.
- `wait_for_otp` — Wait for an OTP verification code to arrive via SMS on a phone number. Polls the inbox until an OTP is detected or time…
- `initiate_call` — Start an outbound phone call from one of your provisioned numbers. Optionally enable call recording (Pro plan only, $0.…
- `list_calls` — List call history for this agent. Returns calls with their status, duration, and recording URLs.
- `get_call` — Get details of a specific call by ID, including status, duration, and recording URL.
- `hangup_call` — Terminate an active phone call. The call must be in progress.
- `initiate_ai_call` — Start an AI-powered voice call where AI handles the conversation autonomously. The AI will speak using the specified vo…
- `get_call_transcript` — Get the transcript of a completed AI voice call. Returns the full conversation with timestamps, a summary, and call dur…
- `create_webhook` — Register a webhook endpoint to receive real-time events (SMS received, OTP detected, call completed, etc.). The URL mus…
- `rotate_webhook_secret` — Rotate the signing secret for a webhook. The old secret is immediately invalidated and a new one is generated. Store th…
- `delete_webhook` — Deactivate and remove a webhook endpoint. It will immediately stop receiving events.
- `list_webhooks` — List all registered webhook endpoints and their subscribed events.
- `get_usage` — Get usage and cost breakdown for a billing period. Returns numbers provisioned, SMS sent/received, call minutes, record…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get agentcall/agentcall <tool-name>
```

## Prompts (3)

- `setup-agent-phone` (use_case, country, type) — Provision a phone number and configure it for an AI agent
- `send-and-track-sms` (to, message, wait_for_otp) — Send an SMS message and wait for a reply or OTP code
- `ai-outbound-call` (to, purpose, voice) — Set up and make an AI-powered outbound voice call
