esimker eSIM store

Prepaid travel data eSIMs: checkout links for people, autonomous purchases from a prepaid wallet.

사용해야 할까요

품질 및 안전성

B
설명 품질
94%
스키마 완전성
68%
이름 품질
98%
오염 위험
80%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domaincreate_wallet에서
  • LOWTool 'get_usage' description lacks action verbget_usage에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,604토큰 (도구 정의)
~944 B일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.03%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "esim": {
      "url": "https://esimker.com/api/mcp"
    }
  }
}

원격 엔드포인트

https://esimker.com/api/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (12)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search_destinations(query)

Destinations on sale. `query` matches the name in any of 18 languages, the slug or the ISO code; empty lists everything. Each item: dest_code, slug, name, min_retail (USD, the cheapest fixed plan), unlimited_from (USD per day of a Daily Unlimited pass, or null), plan_count. Continue with get_plans(slug).

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "default": "",
      "title": "Query",
      "type": "string"
    }
  },
  "title": "search_destinationsArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "search_destinationsOutput"
}
🟢get_plans(slug)

The plans of one destination (slug from search_destinations). Each plan: id (the plan_id for an order), name, gb, days, retail (USD; per day when daily_unlimited is true), daily_unlimited, location_codes (the countries it covers), networks, speed, supports_topup. Also the published rating.

입력 스키마

{
  "type": "object",
  "properties": {
    "slug": {
      "title": "Slug",
      "type": "string"
    }
  },
  "required": [
    "slug"
  ],
  "title": "get_plansArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_plansDictOutput"
}
🟢get_payment_methods

Checkout methods open right now: "crypto" (a hosted invoice: BTC, ETH, TRX, USDT), "card", and "wallet" (a prepaid balance, see create_wallet). `gateways` names the providers behind each method; a checkout that does not ask for one by name goes to the first, which is what these tools do.

입력 스키마

{
  "type": "object",
  "properties": {},
  "title": "get_payment_methodsArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_payment_methodsDictOutput"
}
🟡create_checkout(plan_id, payment_method, email, lang, period_num, ...)

Create an order for a person to pay. Returns token, checkout_url (the gateway's page: hand it to the person) and order_url (the order page in `lang`, with the QR code once paid: show it to the buyer only, the token is a secret). Confirm the plan and the price first: every call creates a new unpaid order, so do not retry while a checkout is open. `email` (optional) also gets the eSIM by mail. `period_num` (1–365) only for daily_unlimited plans. `topup_iccid` with a plan_id from list_topups tops up an existing eSIM. A 403 means the caller's jurisdiction is embargoed. To pay from a wallet use purchase_esim.

입력 스키마

{
  "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"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "create_checkoutDictOutput"
}
🟢get_order(token)

An order by its token. status goes pending (unpaid) → paid → provisioning → ready; also expired, underpaid, failed_provisioning, gift_waiting. When ready, esim.activation_code is the LPA string (render it as a QR code), with iccid, smdp and matching_id. After payment poll every ~10 s; delivery usually takes under a minute.

입력 스키마

{
  "type": "object",
  "properties": {
    "token": {
      "title": "Token",
      "type": "string"
    }
  },
  "required": [
    "token"
  ],
  "title": "get_orderArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_orderDictOutput"
}
🟢list_topups(iccid)

Top-up plans that fit an eSIM we issued: plan_id, name, gb, days, retail. Order one with create_checkout(plan_id, topup_iccid=iccid) or, from a wallet, purchase_esim(plan_id, client_ref, topup_iccid=iccid).

입력 스키마

{
  "type": "object",
  "properties": {
    "iccid": {
      "title": "Iccid",
      "type": "string"
    }
  },
  "required": [
    "iccid"
  ],
  "title": "list_topupsArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_topupsOutput"
}
🟢get_usage(iccid)

Remaining data and status of an eSIM we issued.

입력 스키마

{
  "type": "object",
  "properties": {
    "iccid": {
      "title": "Iccid",
      "type": "string"
    }
  },
  "required": [
    "iccid"
  ],
  "title": "get_usageArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_usageDictOutput"
}
🟡create_wallet(accept_terms)

Mint a prepaid wallet with no account behind it and get its secret ONCE: `code` (32 hex characters) and the same secret as a 12-word `phrase`. Save the code before doing anything else and send it as `Authorization: Bearer <code>` on every wallet call; there is no recovery and no identity to prove. The balance is spent on eSIMs (retail price, cashback on every purchase) and never paid back out. accept_terms must be true (https://esimker.com/terms). Then create_deposit to fund it. Rate-limited and geo-blocked like checkout.

입력 스키마

{
  "type": "object",
  "properties": {
    "accept_terms": {
      "title": "Accept Terms",
      "type": "boolean"
    }
  },
  "required": [
    "accept_terms"
  ],
  "title": "create_walletArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "create_walletDictOutput"
}
🟢get_wallet

The wallet behind the code: ref (a public handle for support), balance_usd, cashback_percent, the deposit rules that apply to it now (min_usd, max_usd, first, bonus tiers), the last 50 transactions, orders (with their tokens — the wallet is where a buyer's order links are kept) and deposits. Needs the wallet code.

입력 스키마

{
  "type": "object",
  "properties": {},
  "title": "get_walletArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_walletDictOutput"
}
🟡create_deposit(amount_usd, currency, payment_method, lang)

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.

입력 스키마

{
  "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"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "create_depositDictOutput"
}
🟢get_deposit(token)

One deposit of the wallet by its token: status pending → paid (credited, bonus included) | underpaid (nothing credited yet, the rest can still arrive) | expired. Poll every ~30 s after sending; crypto needs the network's confirmations. Needs the wallet code.

입력 스키마

{
  "type": "object",
  "properties": {
    "token": {
      "title": "Token",
      "type": "string"
    }
  },
  "required": [
    "token"
  ],
  "title": "get_depositArguments"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_depositDictOutput"
}
🟡purchase_esim(plan_id, client_ref, period_num, topup_iccid, email, ...)

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.

입력 스키마

{
  "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"
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true,
  "title": "purchase_esimDictOutput"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 12개
검증됨버전이 기록되지 않음도구 12개