MCP Server
The AgentPhone MCP Server lets your AI agent buy phone numbers, send/receive SMS, and place voice calls — all through natural language in Cursor, Claude Desktop, Windsurf, or any MCP-compatible client.
The MCP server is a thin, stateless bridge that translates MCP tool calls into AgentPhone API requests. All state (numbers, calls, messages) lives on the AgentPhone platform.
Quick start
1. Get your API key
Sign up at agentphone.to and create an API key from Settings.
2. Add to your AI client
Add the following to your MCP configuration:
Cursor: Settings > MCP or ~/.cursor/mcp.json
Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
You can also clone the repo and run the built server directly with node dist/index.js.
3. Start using it
Once configured, ask your AI agent things like:
- “Show me an overview of my account”
- “Buy me a phone number in the 415 area code”
- “Create a support agent with a hosted AI voice that greets callers and helps with billing”
- “Call +14155551234 and have a conversation about scheduling a dentist appointment”
- “List the available voices and switch my agent to a different one”
- “Show me my recent calls and transcripts”
- “Set up a webhook to receive inbound messages”
- “How many numbers can I still provision?”
Environment variables
Available tools (26)
Account
Phone Numbers
SMS
Voice Calls
make_call forwards speech to your webhook for processing. make_conversation_call uses a built-in LLM so the AI can hold a full conversation autonomously — no webhook setup needed. The agent must have a phone number attached for either tool.
Agents
Set voice_mode to "hosted" with a system_prompt for autonomous AI voice calls. Set it to "webhook" (default) to forward call transcripts to your webhook URL. Use list_voices to see available voice IDs before creating or updating an agent.
Webhooks (project-level)
Webhooks (per-agent)
Per-agent webhooks let you route different agents to different backends. When an agent has its own webhook, its events go there instead of the project-level webhook. Removing an agent’s webhook causes it to fall back to the project default.
Development
npm
The package is published as agentphone-mcp on npm.
