Skip to main content
Glama

doctorSIM

create_esim_topup

Create an eSIM top-up for a titular-owned ICCID. Body: catalog_id + price_token from get_esim_topup_plans. Consumer OAuth returns payment_link; PRO debits catalog retail_eur from credits and returns order_id + credits_used. Insufficient wallet is INSUFFICIENT_CREDITS with no debit. Idempotency-Key replay does not double-debit. Fulfilment is is_topup (no new QR). Requires OAuth orders:write.

Input Schema

NameRequiredDescriptionDefault
langNo
iccidYesICCID digits of the original eSIM line
currencyNo
catalog_idYescatalog_id from get_esim_topup_plans
price_tokenYesSigned price_token from get_esim_topup_plans
idempotency_keyNoReplay the same create for 24h

Output Schema

NameRequiredDescriptionDefault
codeNo
typeNotopup | giftcard | esim
statusNo
paymentNoNested gateway / provider receipt details. Never the sole success signal.
currencyNo
order_idNoShow this to the buyer when present (PRO credit checkout, or after payment).
expires_atNo
environmentNoproduction | sandbox
credits_usedNoDecimal amount, normally a string, e.g. "21.98"
payment_linkNoThe only URL to show the buyer. Guest / consumer pay on doctorsim.com.
show_to_userYesFields the assistant may show the buyer.
checkout_hashNoMachine identifier for get_order_status. Never show or read aloud.
checkout_modeNocredits (PRO credit checkout) | payment_link (guest / consumer pays on doctorsim.com) | stripe_link (opt-in Stripe Checkout Session URL when requested and agentic_stripe_link is ON).
checkout_hash_usageNomachine_only
assistant_instructionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing the two distinct account paths (Consumer returns payment_link; PRO debits retail_eur and returns order_id/credits_used), the insufficient-wallet behavior (INSUFFICIENT_CREDITS with no debit), and idempotency semantics (replay does not double-debit). These are the exact traits an agent needs before committing a priced, credit-consuming operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and nearly every sentence carries operational signal; no filler. It is telegraphic and dense ('Fulfilment is is_topup (no new QR)'), which is efficient but slightly reduces scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value detail is arguably redundant, but the description covers auth, error mode, idempotency, and fulfilment type for a financially consequential mutation. It omits edge cases such as an expired price_token or a non-titular ICCID mismatch.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

At 67% schema coverage the schema already documents iccid, catalog_id, price_token and idempotency_key; the description adds provenance constraints on catalog_id/price_token and the no-double-debit meaning of the key. The lang and currency enums remain unexplained in both places, which is the only real gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create an eSIM top-up for a titular-owned ICCID') and implicitly separates itself from create_esim_order / create_order via 'Fulfilment is is_topup (no new QR)'. An agent can distinguish top-up of an existing line from a new order without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the precondition (ICCID must be titular-owned), the upstream dependency (catalog_id + price_token from get_esim_topup_plans), and the auth requirement (OAuth orders:write). It stops short of an explicit exclusion naming create_esim_order for new lines, so the alternative routing is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources