About botcall-mcp
botcall-mcp provides AI agents with phone numbers for receiving SMS and extracting verification codes. Its tools cover number provisioning, inbox access, number management, and usage checks.
Key features
- 01Provision phone numbers
- 02Extract SMS verification codes
- 03Retrieve recent SMS messages
- 04List and release numbers
- 05Check plan and usage
Use cases
- 01Receiving a signup verification code
- 02Checking incoming messages on provisioned numbers
- 03Releasing numbers after verification
- 04Reviewing account usage and limits
MCP support
Exposes phone-number and SMS operations as tools to MCP-compatible clients, including Claude Desktop and Claude Code. It uses the MCP stdio transport and requires a botcall.io API key.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y botcall-mcpBOTCALL_API_KEYSecretYour botcall API key from botcall.ioLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
6Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| country | string | No | ISO country code (default: US) |
| areaCode | string | No | Preferred area code (e.g., '206' for Seattle). Optional. |
Details
From the project READMEbotcall-mcp
An MCP server that gives AI agents real phone numbers. Provision a number, receive SMS, and extract verification codes — all through tool calls.
Built for Claude Desktop, Claude Code, and any MCP-compatible client.
Setup
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"botcall": {
"command": "npx",
"args": ["-y", "botcall-mcp"],
"env": {
"BOTCALL_API_KEY": "bs_live_..."
}
}
}
}
Claude Code
claude mcp add botcall -- npx -y botcall-mcp
Then set your API key in the environment:
export BOTCALL_API_KEY="bs_live_..."
Other MCP clients
Any client that supports the MCP stdio transport works. Run npx botcall-mcp with BOTCALL_API_KEY set.
Get an API key
Sign up at botcall.io, pick a plan, and grab your key from Dashboard → API Keys.
Tools
provision_number
Provision a new phone number for receiving SMS.
| Parameter | Type | Description |
|---|---|---|
areaCode | string | Preferred area code, e.g. "206" (optional) |
country | string | ISO country code (default: "US") |
get_code
Wait for an incoming SMS and extract the verification code. Long-polls until a message arrives or the timeout expires.
| Parameter | Type | Description |
|---|---|---|
timeout | number | Seconds to wait (default: 30, max: 30) |
numberId | string | Filter to a specific number (optional) |
get_inbox
Get recent SMS messages received on your numbers.
| Parameter | Type | Description |
|---|---|---|
limit | number | Max messages to return (default: 10) |
numberId | string | Filter to a specific number (optional) |
list_numbers
List all your provisioned phone numbers. No parameters.
release_number
Release a phone number you no longer need.
| Parameter | Type | Description |
|---|---|---|
numberId | string | Required. The number ID to release |
get_usage
Get your current plan, limits, and usage stats. No parameters.
Example
You: Sign up for ExampleService using a phone number
Agent: I'll provision a number and handle the verification.
→ provision_number({ areaCode: "415" })
{ number: "+14155550123", id: "pn_abc123" }
→ [agent enters the number on ExampleService's signup page]
→ get_code({ numberId: "pn_abc123" })
Verification code: 847291
→ [agent enters 847291 to complete verification]
Environment variables
| Variable | Description |
|---|---|
BOTCALL_API_KEY | Required. Your API key from botcall.io |
BOTCALL_API_URL | API base URL (default: https://api.botcall.io) |
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.