Key Takeaways
- send_sms is an MCP tool name over POST /api/v1/messages — not a second messaging product.
- The wrapper attaches Bearer auth from process env; never pass the API key as a tool argument.
- Idempotency-Key and human confirm on OTP belong in the tool design, not in the model’s improvisation.
- deviceIds and dual-SIM slot choice are optional routing flags documented in OpenAPI — confirm live fields in Developer Center.
- You still bring Android + operator SMS credit. Platform pricing is devices plus send volume.
People search mcp send sms tool android gateway because an IDE sidebar offered “send SMS” and they need to know whether that is Twilio-shaped cloud SMS or their own SIM. On SMS Gateway it is the latter: MCP for SMS is a REST wrapper pattern. Spec primer: Model Context Protocol. Live params: SMS API documentation.
You need a working Android phone with a SIM and SMS credit from your mobile operator. Operator message costs are yours—we do not sell carrier SMS balance. Service pricing is based on device count and total SMS sent through the gateway. Device and SMS volume pricing.
MCP tool
send_sms
to · text · optional deviceIds
REST
POST /api/v1/messages
What send_sms is
An MCP tool is a JSON-schema function an agent can call. send_sms should validate inputs, attach auth in the wrapper process, and call the same control plane your backend uses. It does not create a parallel queue, invent cloud numbers, or include carrier airtime. Design spoke: send_sms tool design setup.
send_sms is a name for POST /messages with a schema an agent can fill. OpenAPI still wins; the model does not own the wire format.
Tool → REST map
| Tool concern | REST reality | Do not invent |
|---|---|---|
| Recipient + body | to, text (confirm names in OpenAPI) | A “channel=cloud” switch that rents numbers |
| Auth | Bearer from wrapper env | Key as a tool argument or chat paste |
| Retries | Idempotency-Key + your policy | Blind re-send that doubles OTP |
| Routing | Optional deviceIds / SIM slot if documented | Auto-failover as a free plan feature |
| Delivery truth | GET message + webhooks / DLR | Assuming “tool returned 200” means delivered |
Idempotency and OTP
Agents retry when hosts flake. Without an idempotency key, you burn operator credit and send two codes. Put key generation in the wrapper (or require the caller to supply one), and keep OTP bodies out of long-lived transcripts. OTP product context: OTP verification.
deviceIds and dual SIM
Multi-device plans let you pass device ids on send; dual SIM is two slots on one handset, not two plan devices and not automatic failover. Product: multi-device and dual SIM. Pairing still happens on glass: device setup.
Ship checklist
- Tool schema mirrors OpenAPI — no guessed fields.
- Bearer only from env; staging key on laptop hosts.
- Idempotency-Key on every send path agents can hit.
- Human confirm or hard rate limit on OTP tools.
- DLR / webhook story written before “production” claims.
- Airtime owner named; failed retries budgeted.
Next steps
Read MCP vs REST setup, wire auth via MCP auth setup, then canary one staff number. Carrier fair-use and plan caps still apply — Starter, Professional, and Business list Unlimited SMS as platform send volume; that is not unmetered carrier SMS.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances
- Android SMS gateway product guideDefinition, product, and how to buy
- download the Android gateway appGet the APK





