If you’ve read my posts on httpSMS and SMS Gateway for Android, you know the pattern: take a phone you already own, put a REST API in front of it, and stop paying Twilio per message. Sparetext extends that pattern in two directions that matter. First, it works with iPhone, not just Android. Second, it ships a hosted MCP server — so an AI agent can text from your real number without you writing a line of glue code.
The iPhone Problem — and How Sparetext Solves It #
The Android SMS-gateway apps work because Android lets an app become the default SMS handler. iOS doesn’t. So how do you send an SMS from an iPhone’s own number programmatically?
Sparetext’s answer is a Mac relay built on macOS Text Message Forwarding. The setup:
- Sign the same Apple Account into Messages on both your iPhone and a Mac
- Turn on Text Message Forwarding (Settings → Apps → Messages → Text Message Forwarding) for the Mac
- Sparetext sends each text through the Messages app via AppleScript
The message goes out as a normal SMS from the iPhone’s own cellular number, over its carrier — not a virtual number. It can also send as iMessage from the Apple ID, or try SMS first and fall back to iMessage. Incoming replies and send errors are read straight from the Messages database on the Mac, so inbound texts reach the API and your webhooks too.
The requirement: the iPhone has to be on and online, and the Mac awake. It’s the same “a real device is the infrastructure” trade-off as the Android apps — just bridged through a Mac.
One honest limitation: for SMS sent this way, macOS only tells Sparetext sent or failed — there’s no carrier delivery report. So a true “delivered” status only shows up for iMessage. Android phones, by contrast, report real carrier delivery receipts. If delivery confirmation on SMS matters to you, Android is the stronger path.
The MCP Angle: Agents Texting From Your Number #
This is what makes Sparetext more than another gateway. It exposes a hosted MCP server — a standard remote MCP endpoint (streamable HTTP, OAuth 2.1 with dynamic client registration). That means an AI agent can authenticate with OAuth and gain the ability to send and read SMS as a tool call.
The clients run end-to-end so far are Claude (web and desktop) and ChatGPT, both signing in with OAuth. The setup page also covers Claude Code, Cursor, OpenClaw, and n8n. Because it’s a standard remote MCP server, any client with remote-MCP support connects the same way.
Concretely, this lets you build things like:
- An assistant that texts you a reminder from your own number
- An agent that reads an incoming verification code and continues a workflow
- A support bot that confirms appointments by SMS — as you , not as a 1-800 shortcode
No Twilio account, no webhook server to stand up, no number to rent. The agent talks MCP; Sparetext talks to your phone.
What About Volume? #
Sparetext is explicitly built for moderate transactional traffic — and Elias (the maker) was refreshingly straight about the ceilings:
- Android rate cap: Android lets an app send 30 SMS parts per minute. Sparetext paces under that and queues the rest. On your own phone you can raise the cap viaadb .
- Carriers are the real ceiling. A personal SIM sending hundreds of texts an hour can get filtered. In the US, business texts sent by software count asA2P even from a phone . For marketing or thousands a day, a registered A2P provider (10DLC, toll-free, or short code) is the right tool — and Sparetext’s owncomparison page says exactly that.
- 2FA codes: set a TTL (say 300 seconds). A code that can’t go out in time is dropped unsent and reported asexpired , so nobody receives a stale code. An
Idempotency-Keyheader makes a retry after a timeout safe, and webhooks report sent, delivered, and failed. - Reliability details: the phone (or Mac) is woken the moment a text is queued, with a one-minute fallback check. If an Android phone loses signal, it holds the text and retries for up to 30 minutes — and only when nothing went out, so nothing is sent twice.
- Compliance nicety: a reply ofSTOP opts that number out automatically, which matters for reminders.
Pricing #
- **Free:** 1 phone, 300 texts/month
- **Pro:** 5 phones, 10,000 texts/month
While Sparetext is in testing, the limits aren’t enforced — so you can try everything for free right now.
Where It Fits #
Think of these three as a progression:
- httpSMS and** SMS Gateway for Android** — open-source, self-hosted, Android-only. Maximum control, you run everything.
- Sparetext — hosted, supportsiPhone via a Mac relay, and adds anMCP server so AI agents are first-class citizens.
If you’re an Android tinkerer who wants to self-host, the open-source apps are perfect. If you’re on iPhone, or you want an AI agent to send and read texts from your real number without building the plumbing yourself, Sparetext is the one that fits. The same core insight runs through all of them: the phone you already own is the cheapest SMS infrastructure you’ll ever have. Sparetext just makes it reachable from an iPhone — and from an agent.