Worldcitisim eSIM

com.worldcitisimPublished by worldcitisim.comv0.2.2Updated Oct 24, 2026

Travel eSIMs for 193 countries. Stripe + Bitcoin checkout. QR by email in 30s. No API key.

Overview

AI-generated overview

Lets an assistant search WorldCitiSim travel eSIM plans and create orders paid by card or Bitcoin, returning activation QR data.

What you can do
Wraps the WorldCitiSim eSIM shop API so an assistant can filter plans by country, region, days or data volume, and fetch a single plan with all its variations. It can create a pending order and return either a Stripe Checkout link or an on-chain Bitcoin payment block with address, amount and QR. A polling tool reports order status and, once payment clears, returns activation data such as ICCID and QR URL.
When to use it
Useful when someone wants an assistant to compare travel eSIM plans for a trip and complete the purchase without leaving the chat. It fits travel planning and connectivity shopping for destinations covered by the catalog.
Requirements
Runs locally over stdio via npx, so Node.js 20.11 or newer is needed. No API key or credentials are declared; the optional WCS_ESIM_API_BASE variable overrides the API base URL. Network access to the WorldCitiSim shop API is required, and a buyer email address is supplied when creating an order.
Before you install
The server creates real orders and hands out payment links or Bitcoin payment details, so money can be spent. It sends the buyer email address and order details to the WorldCitiSim API. Bitcoin payments are on-chain and irreversible; card payment happens on Stripe's hosted page. Verify plan, price and destination before confirming an order.

Installation

In SourceWeft

  1. Open Worldcitisim eSIM in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@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

bash
claude mcp add --scope user wcs-esim npx -y @worldcitisim/mcp-esim

Or paste into ~/Library/Application Support/Claude/claude_desktop_config.json:

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.

Tools exposed

ToolPurpose
esim_search_plansFilter catalog by country / region / days / GB. Returns matching plans with their first 5 variations.
esim_get_planFetch one plan by slug with all variations.
esim_create_orderCreate 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_orderPoll 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: "[email protected]", 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

bash
npm installnpm run dev                 # stdio MCP server on this terminalnpm run build               # compile to dist/

Point a Claude Code session at the local dev build:

bash
claude mcp add wcs-esim-dev node "$(pwd)/dist/index.js"

Related

License

MIT

Source: README.md at commit f04faf1

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts