The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MCP Esim listing page.
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/*.
Or paste into ~/Library/Application Support/Claude/claude_desktop_config.json:
Same shape — command: "npx", args: ["-y", "@worldcitisim/mcp-esim"].
Settings → Developer Mode → Add MCP server → same npx command.
| Tool | Purpose |
|---|---|
esim_search_plans | Filter catalog by country / region / days / GB. Returns matching plans with their first 5 variations. |
esim_get_plan | Fetch one plan by slug with all variations. |
esim_create_order | Create a pending order. payment_method: "stripe" (default) returns a Stripe Checkout URL for the user to tap; payment_method: "btc" returns an on-chain btc block (address + amount + QR) to show the user directly. Both return an order_token for polling. |
esim_check_order | Poll an order's status. Returns activation data (ICCID, QR URL) once payment clears. |
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.
WCS_ESIM_API_BASE — override the API base URL. Default: https://shop.worldcitisim.com/wp-json/esim/v1.Point a Claude Code session at the local dev build:
MIT