# botcall-mcp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/danecodes/botcall-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/botcall-mcp

## Description
Give your AI agent a real phone number for SMS verification codes.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "botcall-mcp": {
    "command": "npx",
    "args": ["-y","botcall-mcp"]
  }
}
```

## Documentation & README

# botcall-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](https://claude.ai/download), [Claude Code](https://docs.anthropic.com/en/docs/claude-code), and any MCP-compatible client.

## Setup

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "botcall": {
      "command": "npx",
      "args": ["-y", "botcall-mcp"],
      "env": {
        "BOTCALL_API_KEY": "bs_live_..."
      }
    }
  }
}
```

### Claude Code

```bash
claude mcp add botcall -- npx -y botcall-mcp
```

Then set your API key in the environment:

```bash
export BOTCALL_API_KEY="bs_live_..."
```

### Other MCP clients

Any client that supports the [MCP stdio transport](https://modelcontextprotocol.io) works. Run `npx botcall-mcp` with `BOTCALL_API_KEY` set.

## Get an API key

Sign up at [botcall.io](https://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

