{"name":"com.esimker/esim","slug":"esimker-esim","title":"esimker eSIM store","description":"Prepaid travel data eSIMs: checkout links for people, autonomous purchases from a prepaid wallet.","url":"https://mcp.market/server/esimker-esim","rating":null,"grade":"C","score":67,"certified":false,"status":"active","category":"ecommerce","tags":["ecommerce","maps"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":7,"ok":7,"last_checked_at":"2026-09-21T02:00:55.579Z","last_ok_at":"2026-09-21T02:00:55.579Z","latency_ms":101},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://esimker.com/agents","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://esimker.com/api/mcp","headers":[{"description":"Bearer <wallet code>: the prepaid wallet's secret from create_wallet. Only the four wallet tools (get_wallet, create_deposit, get_deposit, purchase_esim) need it; the catalogue and the checkout flow work without it.","isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"create_checkout","description":"Create an order for a person to pay. Returns token, checkout_url (the\n        gateway's page: hand it to the person) and order_url (the order page in `lang`,\n        with the QR code once paid: show it to the buyer only, the token is a secret).\n        Confirm the plan and the price first: every call creates a new unpaid order,\n        so do not retry while a checkout is open. `email` (optional) also gets the eSIM\n        by mail. `period_num` (1–365) only for daily_unlimited plans. `topup_iccid`\n        with a plan_id from list_topups tops up an existing eSIM. A 403 means the\n        caller's jurisdiction is embargoed. To pay from a wallet use purchase_esim.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"plan_id":{"maximum":2147483647,"minimum":1,"title":"Plan Id","type":"integer"},"payment_method":{"default":"crypto","enum":["crypto","card"],"title":"Payment Method","type":"string"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Email"},"lang":{"default":"en","title":"Lang","type":"string"},"period_num":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Period Num"},"topup_iccid":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Topup Iccid"}},"required":["plan_id"],"title":"create_checkoutArguments"}},{"name":"create_deposit","description":"Open a top-up of the wallet and get what is needed to pay it. Floors: $10 for a wallet's first deposit, $1 after that; cap $1000 per deposit. Crypto deposits earn a bonus (+2% from $25, +3% from $50, +5% from $100, capped at $25); every purchase returns 3% cashback. With payment_method \"crypto\" pass a currency from: BTC, ETH, TRX, USDTTRC, USDTETH, USDTBSC — the answer then carries `pay`: the address, the exact amount in the coin (network fee included) and expires_at (about 15 minutes; after that open a new deposit). Send exactly `pay.amount` to `pay.address` on `pay.network`, then poll get_deposit(token) until status is paid. checkout_url is the hosted pay page for a person; card deposits have only that. Needs the wallet code.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"amount_usd":{"anyOf":[{"type":"number"},{"type":"string"}],"title":"Amount Usd"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Currency"},"payment_method":{"default":"crypto","enum":["crypto","card"],"title":"Payment Method","type":"string"},"lang":{"default":"en","title":"Lang","type":"string"}},"required":["amount_usd"],"title":"create_depositArguments"}},{"name":"create_wallet","description":"Mint a prepaid wallet with no account behind it and get its secret ONCE:\n        `code` (32 hex characters) and the same secret as a 12-word `phrase`. Save the\n        code before doing anything else and send it as `Authorization: Bearer <code>`\n        on every wallet call; there is no recovery and no identity to prove. The\n        balance is spent on eSIMs (retail price, cashback on every purchase) and never\n        paid back out. accept_terms must be true (https://esimker.com/terms). Then\n        create_deposit to fund it. Rate-limited and geo-blocked like checkout.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"accept_terms":{"title":"Accept Terms","type":"boolean"}},"required":["accept_terms"],"title":"create_walletArguments"}},{"name":"get_deposit","description":"One deposit of the wallet by its token: status pending → paid (credited,\n        bonus included) | underpaid (nothing credited yet, the rest can still arrive) |\n        expired. Poll every ~30 s after sending; crypto needs the network's\n        confirmations. Needs the wallet code.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"title":"Token","type":"string"}},"required":["token"],"title":"get_depositArguments"}},{"name":"get_order","description":"An order by its token. status goes pending (unpaid) → paid → provisioning →\n        ready; also expired, underpaid, failed_provisioning, gift_waiting. When ready,\n        esim.activation_code is the LPA string (render it as a QR code), with iccid,\n        smdp and matching_id. After payment poll every ~10 s; delivery usually takes\n        under a minute.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"title":"Token","type":"string"}},"required":["token"],"title":"get_orderArguments"}},{"name":"get_payment_methods","description":"Checkout methods open right now: \"crypto\" (a hosted invoice: BTC, ETH, TRX,\n        USDT), \"card\", and \"wallet\" (a prepaid balance, see create_wallet).\n\n        `gateways` names the providers behind each method; a checkout that does not\n        ask for one by name goes to the first, which is what these tools do.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"title":"get_payment_methodsArguments"}},{"name":"get_plans","description":"The plans of one destination (slug from search_destinations). Each plan: id\n        (the plan_id for an order), name, gb, days, retail (USD; per day when\n        daily_unlimited is true), daily_unlimited, location_codes (the countries it\n        covers), networks, speed, supports_topup. Also the published rating.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"title":"Slug","type":"string"}},"required":["slug"],"title":"get_plansArguments"}},{"name":"get_usage","description":"Remaining data and status of an eSIM we issued.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"iccid":{"title":"Iccid","type":"string"}},"required":["iccid"],"title":"get_usageArguments"}},{"name":"get_wallet","description":"The wallet behind the code: ref (a public handle for support), balance_usd,\n        cashback_percent, the deposit rules that apply to it now (min_usd, max_usd,\n        first, bonus tiers), the last 50 transactions, orders (with their tokens — the\n        wallet is where a buyer's order links are kept) and deposits. Needs the wallet\n        code.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"title":"get_walletArguments"}},{"name":"list_topups","description":"Top-up plans that fit an eSIM we issued: plan_id, name, gb, days, retail.\n        Order one with create_checkout(plan_id, topup_iccid=iccid) or, from a wallet,\n        purchase_esim(plan_id, client_ref, topup_iccid=iccid).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"iccid":{"title":"Iccid","type":"string"}},"required":["iccid"],"title":"list_topupsArguments"}},{"name":"purchase_esim","description":"Charge the wallet and issue an eSIM, no checkout. `client_ref` (1–64 chars) is your own reference for this purchase and makes the call idempotent: a retry with the same value returns the existing order without a second charge, so reuse it after a timeout and never invent a new one for the same purchase. `period_num` (1–365, default 7) only for daily_unlimited plans; the charge is price × days. `topup_iccid` with a plan_id from list_topups tops up an eSIM. Returns the order (status paid) with order_url; poll get_order(token) for ready and the activation code. A 402 is a short balance: create_deposit first. A wallet pays for at most 50 orders in 24 hours (429 beyond that; a retry answered from client_ref does not count). Needs the wallet code.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"plan_id":{"maximum":2147483647,"minimum":1,"title":"Plan Id","type":"integer"},"client_ref":{"title":"Client Ref","type":"string"},"period_num":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Period Num"},"topup_iccid":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Topup Iccid"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Email"},"lang":{"default":"en","title":"Lang","type":"string"}},"required":["plan_id","client_ref"],"title":"purchase_esimArguments"}},{"name":"search_destinations","description":"Destinations on sale. `query` matches the name in any of 18 languages, the\n        slug or the ISO code; empty lists everything. Each item: dest_code, slug, name,\n        min_retail (USD, the cheapest fixed plan), unlimited_from (USD per day of a\n        Daily Unlimited pass, or null), plan_count. Continue with get_plans(slug).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"default":"","title":"Query","type":"string"}},"title":"search_destinationsArguments"}}],"scan":{"score":67,"grade":"C","scanned_at":"2026-09-20T11:40:10.726Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T11:40:10.672Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1564ms"]},"poisoning":{"score":15,"max":15,"notes":["12 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://esimker.com/api/mcp","reachable":true,"authRequired":false,"latencyMs":1564,"serverInfo":{"name":"esimker","version":"2"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://esimker.com/icons/icon-192.png","source":"registry","width":192,"height":192},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}