doctorSIM MCP Server

Connect Claude, ChatGPT, Grok, or Cursor to mobile top-ups, travel eSIM, and gift cards in 200+ countries via the Model Context Protocol.

MCP endpoint auth.md SKILL.md REST API v2

What you can do

Connecting to MCP

Remote connectors (Claude.ai, ChatGPT) use OAuth Dynamic Client Registration + PKCE. Leave client ID/secret blank — the server issues a public client.

SettingValue
MCP URLhttps://api.doctorsim.com/mcp
OAuth issuerhttps://www.doctorsim.com
API basehttps://api.doctorsim.com/v2
Auth guideauth.md

Full step-by-step registration flow: auth.md.

Available tools

Guest catalog and checkout tools work without Authorization. PRO credit debit, order history, line lookup, and webhooks need OAuth. preview_esim_order / create_esim_order are aliases of preview_order / create_order with the same dual noauth + oauth2 schemes.

ToolREST equivalentAuth
get_countriesGET /v2/countriesguest (noauth)
lookup_carrierGET /v2/topup/carriers/lookup/{phone}guest (noauth)
get_operatorsGET /v2/topup/operatorsguest (noauth)
get_operator_service_typesGET /v2/topup/operators/{id}/service-typesguest (noauth)
get_operator_ratesGET /v2/topup/operators/{id}/ratesguest (noauth)
search_productsGET /v2/products/searchguest (noauth)
get_giftcard_brandsGET /v2/giftcards/brandsguest (noauth)
get_giftcard_brand_productsGET /v2/giftcards/brands/{id}/productsguest (noauth)
get_esim_destinationsGET /v2/esim/destinationsguest (noauth)
get_esim_plansGET /v2/esim/productsguest (noauth)
get_esim_plan_detailGET /v2/esim/products/{catalog_id}guest (noauth)
preview_orderPOST /v2/orders/previewguest + oauth orders:read
create_orderPOST /v2/ordersguest + oauth orders:write
preview_esim_orderalias of preview_order (type=esim)guest + oauth orders:read
create_esim_orderalias of create_order (type=esim)guest + oauth orders:write
get_order_statusGET /v2/orders/{id}guest + oauth orders:read
get_esim_lineGET /v2/esim/lines/{iccid}oauth orders:read
list_ordersGET /v2/ordersoauth orders:read
get_balanceGET /v2/balancePRO oauth balance:read
list_webhooksGET /v2/webhooksPRO oauth webhooks:read
Travel eSIM country_iso: ISO-2 (es, us) is a strict catalog match — requesting es does not include Europe (eu) or global (ww) plans. Use region slugs eu, ww, as for those destinations.

How a purchase works

  1. Discover — top-up: lookup_carrier or get_countries + get_operators. Travel eSIM: get_esim_destinations then get_esim_plans.
  2. Price — top-up: get_operator_rates (copy token). eSIM: copy catalog_id + price_token.
  3. Guest / consumer — skip preview. Call create_order (or create_esim_order) as soon as the product is chosen. No Authorization header.
  4. PRO creditspreview_order first (mandatory), then create_order with OAuth. Debits prepaid credits.
  5. Monitor — guest: get_order_status with payment_link (preferred) or order_id. Do not show checkout_hash. Guest products arrive by email. PRO: list_orders / webhooks. Fulfilled eSIM (PRO): get_esim_line (OAuth).

Checkout modes

PRO: always call preview_order first — it is the debit breakdown before credits move. Guest: preview is optional; create the payment_link as soon as the product is chosen.
Accountcreate_order resultPaymentOrder ID
PRO account Credits debited; order placed immediately. Response always has order_id, status, credits_used. Pass idempotency_key (distinct per SKU). If order_id is missing, list_orders / get_order_status — never re-create. Prepaid PRO balance order_id in response
Regular account Returns payment_link and order_id when one exists (hash is machine-only) User pays on doctorsim.com (Stripe / PayPal / Bizum); enters email; delivery is email Show order_id when present; otherwise poll via payment_link

Consumer payment link formats:

https://www.doctorsim.com/en/mx/topup-phone/checkout/{64-char-hash}
https://www.doctorsim.com/en/esim/checkout/{64-char-hash}

Payment links expire in 6 hours.

Authentication summary

MethodWhoScopes
API keys (api_id:api_secret)PRO with API accessFull (balance, webhooks, orders)
OAuth JWTPROorders + balance (+ webhooks on request)
OAuth JWTRegular consumerorders:read orders:write only

Supported clients — install before you demo

Full per-surface steps (Claude.ai, ChatGPT, grok.com, Grok Bot, Cursor) live on the Agentic Core roadmap §4. Summary:

Verify with: “List the doctorSIM tools you have” then a guest catalog question (e.g. eSIM plans for Spain). Expect ~20 tools and no login prompt on catalog.

Order monitoring

PRO accounts: poll GET /v2/orders/{id} or register webhooks for async updates.

Consumer / guest: poll GET /v2/orders?payment_link={url} or ?checkout_hash={hash}. Show the buyer only the payment link and order id. Guest fulfillment is by email.