Give OpenClaw a real phone number with the SMS8 MCP
OpenClaw already speaks WhatsApp, Telegram, Discord, Signal and iMessage. The one channel none of those bridges cover is plain SMS — the channel banks, governments and people without your chat app still use. SMS8 plugs that gap with one block in openclaw.json.
What happens when OpenClaw calls send_sms
OpenClaw is local-first — it reasons on your machine, then asks SMS8 to deliver. The actual SMS leaves from the SIM in your pocket, not a rented number.
send_sms from the MCP tool list.openclaw.json live. The SMS8 server is already loaded, no restart.One block in openclaw.json
OpenClaw watches ~/.openclaw/openclaw.json live. Drop this in under mcp.servers, save the file, and the 9 SMS8 tools appear in your next agent reply.
{
mcp: {
servers: {
sms8: {
url: "https://mcp.sms8.io",
transport: "streamable-http",
headers: {
Authorization: "Bearer ${SMS8_API_KEY}"
}
}
}
}
}
Export SMS8_API_KEY in your shell (e.g. ~/.zshrc) so the key never lands in the JSON file.
Nine tools registered the moment openclaw.json reloads
Identical surface to Claude Code, Cursor, Windsurf and OpenCode. One SMS8 account behind all of them.
send_sms
Send a single SMS through a paired Android. Per-device and per-SIM routing.
send_otp
Generate and dispatch a one-time code. Configurable length, expiry, attempts.
verify_otp
Constant-time compare against the latest OTP for that phone.
wait_for_otp NEW
Block the agent until an OTP-shaped SMS lands on your paired Android.
get_messages
Fetch recent inbox or sent SMS. Filter by direction or phone.
list_devices
List paired Android devices. Pick the sender when load-balancing.
get_balance NEW
Quick credit check. Returns remaining SMS, days until renewal, summary.
create_webhook
Register a callback URL for inbound SMS and delivery events. HMAC-signed.
setup_sms8
Handshake. Validates the API key, returns devices, plan and integration context.
What people actually use SMS8 in OpenClaw for
"Text my partner when my last meeting ends"
Cron skill watches your calendar. send_sms fires from your real number when the day wraps. Just a normal SMS, not a chatbot message.
"Paste the bank OTP into my session"
Agent opens the bank portal in a browser. When the OTP screen appears, wait_for_otp pulls the code off your SIM and pastes it.
"SMS me urgent emails when I'm offline"
OpenClaw watches Gmail. If a VIP sends mail while you are Do-Not-Disturb, it summarizes and SMS-es you the headline. Cellular delivers when Wi-Fi cannot.
"Daily morning summary by SMS"
OpenClaw composes a 160-character digest at 7:30 AM (weather, top emails, calendar). Lands on your lock screen as a normal text.
"Forward inbound SMS into Telegram"
create_webhook points at OpenClaw's webhook handler. Every inbound SMS is read by the agent and forwarded to the Telegram chat you actually live in.
"Sign me up on a site that needs my real number"
Where chat-app numbers fail (KYC, banks, government), OpenClaw uses your real SIM through SMS8. No disposable-SIM service required.
OpenClaw vs OpenCode — both work with SMS8
Pick by job. Many people install both with the same SMS8 API key.
| Trait | OpenClaw | OpenCode |
|---|---|---|
| Primary use | Personal AI for daily life | Coding agent for terminal / IDE |
| Chat-app integrations | WhatsApp, Telegram, Discord, Signal, iMessage | None native |
| System access | Full (browser, files, shell, cron) | Repo + shell |
| Config file | ~/.openclaw/openclaw.json | opencode.json |
| MCP transport | streamable-http | type: remote |
| Hot reload config | Yes | Restart needed |
| SMS8 tool count | 9 tools | 9 tools |
Real questions people search and ask AI assistants
Mined from Google, Reddit, OpenClaw community and AI prompts.
How do I send SMS from OpenClaw?
Add the SMS8 MCP entry to ~/.openclaw/openclaw.json under mcp.servers.sms8. Set transport to streamable-http, url to https://mcp.sms8.io, and headers.Authorization to Bearer ${SMS8_API_KEY}. OpenClaw hot-reloads. The agent now has send_sms, send_otp, verify_otp, wait_for_otp, get_messages, list_devices, get_balance and create_webhook, all routed through your paired Android.
Does OpenClaw support MCP servers?
Yes. OpenClaw is built around Model Context Protocol from day one. The mcp.servers section of openclaw.json accepts both local stdio (command + args) and remote HTTP (url + transport + headers). Hot reload is the default.
How do I give my personal AI a phone number?
Pair your existing Android phone to the SMS8 dashboard once. Your AI agent uses that SIM as its SMS gateway. Contacts see the number you already own. No Twilio, no virtual number, no A2P 10DLC. Works with OpenClaw, Claude Code, Cursor, Windsurf and OpenCode from the same SMS8 account.
Can OpenClaw read incoming SMS?
Yes. get_messages returns recent inbox or sent SMS, filterable by direction or phone. wait_for_otp blocks the agent until an OTP-shaped SMS lands. create_webhook registers an HMAC-signed callback so OpenClaw can react in real time.
Why not use WhatsApp instead of SMS for OpenClaw?
OpenClaw already talks to WhatsApp. SMS is the gap. Banks and government portals reject WhatsApp numbers for 2FA. People without your chat app cannot be reached. Critical alerts on cellular travel when Wi-Fi is down. SMS8 fills exactly that gap.
How much does an SMS MCP for OpenClaw cost?
SMS8 is $29/month flat after a free 5-day trial. There is no per-message fee because messages route through your own SIM, so SMS cost is whatever your carrier already charges.
Where is openclaw.json located?
At ~/.openclaw/openclaw.json on Mac, Linux and Windows. Created on first run. OpenClaw watches the file and hot-reloads MCP servers without a restart.
Is OpenClaw open source?
Yes. github.com/openclaw/openclaw, written in TypeScript by Peter Steinberger (creator of PSPDFKit). Runs locally with persistent memory and any LLM provider.