textbee Logotextbee.dev
Plans from $9.99/mo.View Plans
Give Your AI Agent a Phone Number: Send SMS from Claude with MCP
mcp
ai-agents
claude
cursor
sms-api
automation
open-source

Give Your AI Agent a Phone Number: Send SMS from Claude with MCP

The textbee MCP server lets Claude, Cursor, and any MCP-enabled agent send and read SMS through your own Android phone. Setup in two minutes, open source, no per-message markup.

TT

textbee team

4 min read
Share

TL;DR

  • AI agents can now text people. The official textbee MCP server connects Claude Desktop, Claude Code, Cursor, and any MCP-compatible client to your textbee account.
  • Setup is one config entry: npx -y @textbee/mcp with your API key. Messages go through your own Android phone and your own number.
  • Agents get three tools: send_sms, get_messages (read replies and OTPs, check delivery), and list_devices.
  • Open source (MIT), no per-message markup, works with self-hosted textbee instances, and your API key never leaves your machine.

Why would an agent need a phone number?

Agents already read your code, your calendar, and your docs. What they mostly cannot do is reach a human who is away from a screen. SMS is still the channel with near-universal reach and 95%+ open rates, which makes it the natural last mile for agent work:

  • A coding agent that texts you when the long build fails, instead of you watching it.
  • A research agent that waits for the verification code your bank just sent, reads it, and carries on.
  • An assistant that confirms tomorrow's appointment with a customer by text and reports back whether they replied.

The missing piece was a safe, simple bridge between the agent and a real phone number. MCP (Model Context Protocol) is that bridge: an open standard that lets AI assistants call tools. textbee's MCP server exposes SMS as three such tools, backed by the Android phone you already own.

Setup in two minutes

You need a textbee account with the Android app paired (free tier works) and an API key from the dashboard.

Claude Code:

Shell
claude mcp add textbee -s user -e TEXTBEE_API_KEY=your-key -- npx -y @textbee/mcp

Claude Desktop (claude_desktop_config.json) or Cursor (~/.cursor/mcp.json):

JSON
{
  "mcpServers": {
    "textbee": {
      "command": "npx",
      "args": ["-y", "@textbee/mcp"],
      "env": { "TEXTBEE_API_KEY": "your-key" }
    }
  }
}

Restart the client and the three textbee tools are available in every conversation.

What a conversation looks like

Ask Claude, in plain language:

Text +1 555 0134 that the deployment finished, and check that it was delivered.

Behind the scenes the agent calls send_sms, gets back a batch id, then calls get_messages with that id and reports the per-recipient status: delivered. If the person replies, the next get_messages call picks up the reply, so the conversation loop closes without you touching a phone.

The tools are deliberately few and focused. Small tool surfaces work better with agents: fewer wrong choices, clearer errors, and every failure message tells the agent what to do next (enable a device, check the key, stop retrying a quota error).

Guardrails, because agents make mistakes

Handing any automation the ability to send SMS deserves some skepticism. The design accounts for it:

  • Your key stays local. It lives in your own client config and is only ever sent to the textbee API. The server is open source, so you can audit every line.
  • Plan limits are enforced server-side. A runaway loop cannot outspend your plan; over-quota sends fail with a clear error the agent is told not to retry.
  • Recipients are validated before anything is sent, and delivery status is honestly reported rather than assumed.
  • Revocation is one click in the dashboard. Use a dedicated key for your agent and revoking it costs you nothing.

Self-hosted, end to end

Running your own textbee server? Add one env var and the agent talks to your instance instead:

JSON
"env": {
  "TEXTBEE_API_KEY": "your-key",
  "TEXTBEE_BASE_URL": "https://sms.example.com"
}

That makes the whole chain self-hosted: your model client, your gateway, your phone, your number. No third party in the loop and no per-message API fees, which at agent volumes is the difference between a flat subscription and a metered bill that grows with every experiment.

What about non-MCP automations?

The same account works over plain HTTP for n8n, Make, Zapier, or your own code: one endpoint to send, one to read, cursor pagination for polling. The agent quickstart has the copy-paste version, and the n8n guide covers the no-code path.

Get started

  1. Create a textbee account and pair the Android app.
  2. Add the MCP server to your client with the snippet above.
  3. Ask your agent to send you a text.

Full details on the MCP page and in the docs.