# Sparetext > Sparetext is an SMS gateway that runs on a phone you already own. It gives that phone a REST API, HMAC-signed webhooks and a remote MCP server, so scripts and AI agents (Claude, ChatGPT, Cursor, OpenClaw, n8n) can send and read real text messages from the owner's own number, with no per-message fees. It works with Android, and with iPhone through a Mac relay or Shortcuts. Key facts: - Android: fully automatic. The app sends with SmsManager in the background, receives texts, and reports `sent` and `delivered` from carrier delivery reports. - iPhone: iOS lets no app send or read SMS silently, so Sparetext offers the paths Apple allows. Sparetext for Mac, a menu-bar app, sends through Messages with Text Message Forwarding (fully automatic, reads replies; a `sparetext` CLI relay does the same on the command line), a "Sparetext Send" Shortcut sends automatically while the app is open, and tap-to-send opens each text in the system composer. - Texts go out from the phone's SIM. Concatenated SMS follow GSM-7 (160 characters, 153 per part) and UCS-2 (70, 67 per part) limits. It suits person-to-person and transactional texts, not bulk A2P marketing. - Free while in testing. Hosted at https://sparetext.netlify.app. ## For AI agents - [MCP server](https://sparetext.netlify.app/mcp): Streamable HTTP (protocol 2026-07-28, and 2025-11-25 back to 2024-11-05), OAuth 2.1 with Client ID Metadata Documents or dynamic client registration (or `Authorization: Bearer `). Tools: send_sms, wait_for_reply, get_conversation, list_conversations, mark_read, list_messages, get_message, cancel_text, list_devices, get_stats. - [MCP server card](https://sparetext.netlify.app/.well-known/mcp.json): name, URL, transport, auth and tools as JSON. - [OpenAPI 3.1 spec](https://sparetext.netlify.app/openapi.json): for n8n, Make and other workflow tools, with `x-api-key` or bearer auth and the signed webhooks. - [OpenClaw skill](https://sparetext.netlify.app/integrations/openclaw-sparetext.zip): SKILL.md that uses the `sparetext` CLI or curl, with `SPARETEXT_API_KEY`. OpenClaw can also connect to the MCP server with `openclaw mcp set`. ## API - `POST /api/v1/messages` with `{"to": "+15551234567", "text": "..."}` and header `x-api-key`: queue a text. Returns message ids. - `GET /api/v1/messages/{id}`: status `queued`, `dispatched`, `sent`, `delivered` or `failed` (with `error`). - `DELETE /api/v1/messages/{id}`: cancel a text that is still scheduled or queued. - `GET /api/v1/messages?direction=inbound&contact=+15551234567&since=`: read replies. - `GET /api/v1/devices`: phones, online state, battery, queue. - `POST /api/v1/gateway/send-sms` with `{"recipients": [...], "message": "..."}`: textbee-compatible send. - Webhook events: message.received, message.sent, message.delivered, message.failed, device.paired; header `X-Sparetext-Signature: t=,v1=.">`. ## Pages - [Home](https://sparetext.netlify.app/): what it is, how each phone sends, FAQ. - [Download](https://sparetext.netlify.app/download): Android APK, iPhone IPA and Shortcut, Sparetext for Mac, and the command-line relay. - [Privacy policy](https://sparetext.netlify.app/privacy) - [Terms of use](https://sparetext.netlify.app/terms)