mcp-esim
@worldcitisim/mcp-esim
MCP server that lets Claude and other MCP-compatible agents search and buy WorldCitiSim eSIM plans. Wraps https://shop.worldcitisim.com/wp-json/esim/v1/*.
Install
Claude Desktop / Claude Code
claude mcp add --scope user wcs-esim npx -y @worldcitisim/mcp-esimOr paste into ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"worldcitisim-esim": {
"command": "npx",
"args": ["-y", "@worldcitisim/mcp-esim"]
}
}
}Cursor / Windsurf / other MCP clients
Same shape — command: "npx", args: ["-y", "@worldcitisim/mcp-esim"].
ChatGPT Developer Mode
Settings → Developer Mode → Add MCP server → same npx command.
Related MCP server: esim-mcp-server
Tools exposed
Tool | Purpose |
| Filter catalog by country / region / days / GB. Returns matching plans with their first 5 variations. |
| Fetch one plan by slug with all variations. |
| Create a pending order. |
| Poll an order's status. Returns activation data (ICCID, QR URL) once payment clears. |
Example interaction
User: I'm going to Japan for 10 days, what eSIM should I get?
Claude calls: esim_search_plans({ country: "japan", min_days: 7, max_days: 15 })
→ returns matching plans with variations priced and in stock.
Claude picks the best match, presents 2–3 options to the user.
User: the 10GB one
Claude: "Pay by card or Bitcoin?"
User: card
Claude calls: esim_create_order({ email: "user@example.com", variation_id: 44941 })
→ returns { order_id, order_token, payment_link_url }.
Claude: "Tap this link to pay: <Stripe URL>. You'll get the eSIM QR in your email within ~30 seconds."
User pays. Claude optionally polls esim_check_order until status=completed.For Bitcoin, Claude calls esim_create_order({ ..., payment_method: "btc" }) and gets back a
btc block — { address, sats_amount, btc_amount, qr_data_uri, expires_at } — which it shows
the user to pay from any on-chain wallet. No redirect. If BTC is declined for a small order
during a network-fee spike, the call returns a btc_unavailable error and Claude offers card
instead. Either way, esim_check_order polls until status=completed.
Environment
WCS_ESIM_API_BASE— override the API base URL. Default:https://shop.worldcitisim.com/wp-json/esim/v1.
Runtime
Node 20.11+ (for native fetch + ESM).
No secrets. No Stripe credentials touch this process. Payment happens on Stripe's hosted checkout page; the MCP just hands the agent the URL.
Catalog is client-side cached 5 minutes + ETag-aware; multiple search calls within a minute don't hit the network.
Development
npm install
npm run dev # stdio MCP server on this terminal
npm run build # compile to dist/Point a Claude Code session at the local dev build:
claude mcp add wcs-esim-dev node "$(pwd)/dist/index.js"Related
WorldCitiSim — eSIM travel service for 193 countries.
WorldCitiSim eSIM API — OpenAPI 3.1 spec the server wraps.
License
MIT
Available Tools
4 toolsesim_check_orderA
Poll an order's status. Returns status: pending while waiting for payment, status: processing or completed once paid, with activation data (ICCID, QR URL, install instructions).
Inputs: order_id (required), order_token (required).
esim_create_orderA
Create a pending order. With payment_method: "stripe" (default) you get back a payment_link_url — present it to the user to tap and pay on Stripe's hosted page. With payment_method: "btc" you get back a btc block (on-chain address + amount + QR data URI + expiry) — present the address and amount to the user to pay from any Bitcoin wallet; no redirect. If the user hasn't said how they want to pay, ask: card or Bitcoin. The eSIM QR code arrives at email within ~30 seconds of payment clearing. Use esim_check_order to poll status.
Inputs: email (required), variation_id (required), payment_method, agent_source.
esim_get_planA
Fetch the full detail of one plan by slug, including all variations (every days × GB permutation with its price).
Inputs: slug (required).
esim_search_plansA
Search the WorldCitiSim eSIM catalog. Returns plans matching the given filters (country ISO code, region, desired days, desired GB). Plans have variations — each variation is one specific (days × GB × price) combo. The user picks one variation_id to buy.
Inputs: country, region, min_days, max_days, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool targets a distinct operation: searching plans, fetching plan details, creating orders, and checking order status. No overlap in purpose.
All tools follow a consistent esim_verb_noun pattern (search_plans, get_plan, create_order, check_order).
Four tools cover the eSIM purchase workflow adequately without being excessive or insufficient.
Core lifecycle (search, detail, order, status) is covered. Minor gaps like cancellation or order listing exist, but the main flow is complete.
Related MCP Connectors
Travel eSIMs: unlimited data, pick your days, top up existing eSIMs, card checkout, no API key.
Travel eSIMs for 200+ countries: live prices, phone check, checkout link, one-tap install.
Travel eSIMs for travel businesses: quotes, phone and plan checks, orders, top-ups, webhooks.
Buy no-KYC travel eSIMs and eSIMs with a real phone number in 180+ countries, paid in crypto.
Related MCP Servers
- AlicenseAqualityCmaintenanceBuy and manage a global eSIM through chat. One universal eSIM for 192 countries, per-MB billing in USDT or USDC across TRON, Solana, BSC, Polygon, Optimism, Arbitrum, TON. Anonymous-flow by default — no account required.12165 npm3MIT
- -licenseNot gradedqualityBmaintenanceLets AI agents search and buy travel eSIMs from ALT eSIM for 200+ destinations, with Stripe payment links and email delivery of QR codes.-
- AlicenseNot gradedqualityDmaintenanceSearch and buy travel eSIMs for 200+ countries, with specialized China plans that deliver uncensored internet without a VPN. Exposes five read-only tools to search plans, check device eSIM compatibility, get plan details, get help, and generate a secure on-site checkout link.MIT
- AlicenseNot gradedqualityCmaintenanceLets AI agents search travel eSIM plans by destination, get exact current prices, and hand off to a first-party checkout link without the server ever accepting email or payment credentials.MIT