AgentPhone MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AgentPhone MCP ServerBuy me a phone number in the 415 area code"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AgentPhone MCP Server
Give AI agents real phone numbers, SMS, and voice calls via the Model Context Protocol.
AgentPhone lets your AI agent buy phone numbers, send/receive SMS, and place voice calls — all through natural language in Cursor, Claude Desktop, or any MCP-compatible client.
Agents are the core concept — each agent gets its own phone numbers, voice personality, system prompt, and webhook. Think of an agent as a virtual team member with its own phone line. You can create agents for different purposes (support, sales, scheduling) and configure how they sound and behave on calls.
Quick Start
1. Get your API key
Sign up at agentphone.ai and create an API key from Settings.
2. Connect via MCP
Option A: Remote server (recommended)
Point your MCP client at the hosted endpoint — no install needed:
{
"mcpServers": {
"agentphone": {
"type": "streamable-http",
"url": "https://mcp.agentphone.ai/mcp",
"headers": {
"Authorization": "Bearer your_api_key_here"
}
}
}
}Works with any MCP client that supports Streamable HTTP transport (Switchboard, remote agent platforms, etc.).
Option B: Local server (stdio)
Runs locally via npx — works with Cursor, Claude Desktop, Windsurf, and Claude Code:
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)
{
"mcpServers": {
"agentphone": {
"command": "npx",
"args": ["-y", "agentphone-mcp"],
"env": {
"AGENTPHONE_API_KEY": "your_api_key_here"
}
}
}
}Option C: Self-hosted HTTP server
Run your own HTTP MCP endpoint:
AGENTPHONE_API_KEY=your_api_key npx agentphone-mcp --http --port 3000Then connect to http://localhost:3000/mcp.
What Can It Do?
Once configured, just ask your AI agent things like:
"Buy me a phone number in the 415 area code"
"Create a support agent that greets callers and helps with billing"
"Call +14155551234 and have a conversation about scheduling a dentist appointment"
"Text +14155551234 saying 'Your appointment is confirmed for 3pm tomorrow'"
"Show me my recent calls and transcripts"
"List the available voices and switch my agent to a different one"
"Set up a webhook so I get notified when someone calls or texts my number"
"Show me this month's usage breakdown"
Transports
Transport | Command | Use case |
Streamable HTTP (remote) |
| Agent platforms (Switchboard, etc.), remote clients |
Streamable HTTP (self-hosted) |
| Your own infrastructure |
stdio (default) |
| Cursor, Claude Desktop, Windsurf, Claude Code |
Authentication
stdio: API key via
AGENTPHONE_API_KEYenvironment variableHTTP (self-hosted): API key via env var or
Authorization: Bearer <key>header per requestHTTP (hosted): API key via
Authorization: Bearer <key>header per request
Endpoints (HTTP mode)
Method | Path | Description |
|
| MCP Streamable HTTP endpoint (stateless — each request is independent) |
|
| Health check |
Highlights
Phone numbers — buy and manage numbers in any US/CA area code
SMS — send and receive text messages, view conversation threads
Voice calls — place outbound calls with built-in AI conversation (no webhook needed) or bring your own webhook
Inbound handling — set up webhooks to receive and respond to inbound calls and texts in real time
Agents — create agents with custom voices, system prompts, call transfer, and voicemail
Usage & billing — monitor your plan limits, message/call volume, and daily/monthly breakdowns
All Tools (26)
Account
Tool | Description |
| Get a full snapshot of your account — agents, numbers, webhook, and usage |
| Get usage stats, plan limits, and quotas. Use |
Phone Numbers
Tool | Description |
| List all phone numbers in your account |
| Purchase a new phone number with optional |
SMS
Tool | Description |
| Send an SMS from one of your agent's numbers |
| Get messages for a specific number |
| List SMS conversations. Pass |
| Get a conversation with full message history |
| Set metadata on a conversation |
Voice Calls
Tool | Description |
| List calls. Filter by |
| Get call details and transcript |
| Place an outbound call (webhook-driven) |
| Place a call with built-in AI conversation — no webhook needed |
Agents
Tool | Description |
| List all agents with their numbers and voice config |
| Create a new agent with voice, system prompt, call transfer, and voicemail |
| Update an agent's configuration |
| Delete an agent (numbers are kept but unassigned) |
| Get agent details including phone numbers and voice config |
| Assign a phone number to an agent |
| Remove a phone number from an agent |
| List available voices for agents |
Webhooks
All webhook tools accept an optional agent_id — pass it to manage an agent-specific webhook, omit it for the project-level default. Agent webhooks take priority over project-level.
Tool | Description |
| Get webhook configuration |
| Set a webhook URL for inbound messages and call events |
| Remove a webhook |
| Send a test event to verify your webhook works |
| View delivery history for debugging |
Environment Variables
Variable | Required | Description |
| stdio: yes, HTTP: no | Your AgentPhone API key (HTTP mode can use Authorization header instead) |
| No | Override the API base URL (defaults to |
| No | Port for HTTP mode (defaults to |
Development
git clone https://github.com/AgentPhone-AI/agentphone-mcp.git
cd agentphone-mcp
npm install
npm run dev # Run with tsx (hot reload)
npm run build # Compile TypeScript
npm start # Run compiled JS (stdio)How It Works
This MCP server connects your AI assistant to the AgentPhone API. Your assistant talks to the MCP server, which calls the AgentPhone API, which talks to the phone network.
Your AI Assistant <--> agentphone-mcp <--> AgentPhone API <--> Phone NetworkOutbound: your assistant places calls and sends texts through AgentPhone's API.
Inbound: when someone calls or texts your number, AgentPhone sends a webhook event to your server — you can then respond programmatically or let your agent's built-in AI handle it.
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AgentPhone-AI/agentphone-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server