Skip to main content
Robase exposes a hosted Model Context Protocol server so a chatbot or coding agent can send OTP and transactional SMS with the same prepaid credits, routing, and antispam ladder as curl. Marketing overview: hosted MCP. Machine-readable docs: docs.robase.dev/llms.txt. OpenAPI: openapi.yaml.

Connect

Create an Agent key in Dashboard → API keys and give it only the scopes the agent needs (for example otp:send, otp:verify and read). tools/list shows only the tools those scopes allow, and any other tool call returns insufficient_scope. See Authentication → Scopes. Revoke the key there to stop every tool call on the next request. There is no auth cache. In Cursor: Settings → MCP → add the URL and the Bearer header. MCP Inspector works the same way. Hosts that support tool approval should require approval on send_otp and send_sms until you turn that off. Both are annotated destructiveHint: true in tools/list; the four lookup and verify tools are readOnlyHint: true, so hosts that read MCP tool annotations gate the right ones by default.

Tools (Phase 1)

There are no payment, top-up, team, KYB upload, webhook CRUD, or admin tools. On insufficient_credits, tell a human to top up under Billing. Idempotency-Key is set automatically (UUID) on every POST tool if the caller omits it. Daily credit cap for agent keys is unlimited by default, same as REST. A host-side limit of 50 to 100 credits/day is a reasonable extra control; it is not enforced by Robase in Phase 1.

Claim-safe rules

  • Call get_pricing. Treat listed:true as marketed markets. The live listed set is NG, GH, KE, ZA, GB, BJ, CI, US.
  • Do not invent delivery percentages or extra countries.
  • Prefer OTP-shaped tests: Your Robase test OTP is 123456. Do not send Hello or Good morning. Those may be blocked and refunded.
  • Match failures on error.type. Handle insufficient_credits, account_temporarily_restricted, kyc_required, sender_id_required (ask a human to request a sender ID; OTP still works), and sms.blocked.

Sample system prompt

Copy this into your agent. It matches the MCP instructions field.

Errors

The tools return the same JSON envelope as REST, with isError: true when the API failed:
See Errors.