Esim Mcp

io.github.kakha13Published by GitHub account kakha13v0.1.1Updated Oct 24, 2026

Compare travel eSIM plans by country, and regional vs local pricing for multi-country trips.

VerifiedSTDIODesktop onlyLocation & LifestyleFinance

Overview

AI-generated overview

A local MCP server that lets an assistant search travel eSIM plans by country, compare prices, and plan the cheapest connectivity for multi-country trips.

What you can do
Search destinations and popular destinations where eSIM plans are sold, by full or partial country name, and list plans for one country cheapest first, including unlimited-data options and coverage of regional or global plans. Plan a multi-country trip by pricing a single regional plan against one local plan per country and recommending an option. With a token, list the eSIMs on the account and check remaining data on one eSIM.
When to use it
Useful when someone is preparing international travel and wants to compare eSIM data plans, check which countries a regional plan covers, or decide between one regional plan and separate local plans for a multi-country trip.
Requirements
Runs locally over stdio, typically launched with npx from the npm package esim-mcp, so Node.js is needed. Network access to the CheapereSIM API is required. No account or token is needed for the five lookup tools; the two account tools require CHEAPERESIM_API_TOKEN. Optional settings: CHEAPERESIM_API_BASE and CHEAPERESIM_TIMEOUT_MS.
Before you install
All tools are read-only and purchases happen in the browser, so the assistant cannot buy plans. CHEAPERESIM_API_TOKEN is sent as a bearer header and should be treated like a password and revoked if leaked; keep CHEAPERESIM_API_BASE on https so the token is not sent in cleartext. Results reflect CheapereSIM pricing only, and returned links carry tracking parameters.

Installation

In SourceWeft

  1. Open Esim Mcp 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

esim-mcp

[npm version] [npm downloads] [CI] [MCP Registry] [License: MIT]

An MCP server for travel eSIM plans. It lets Claude, Cursor, and any other Model Context Protocol client search travel eSIM data plans by country, compare prices, and work out the cheapest way to stay connected across a multi-country trip.

Ask "what is the cheapest eSIM for two weeks in Japan and South Korea?" and get real plans with real prices, not a guess.

esim-mcp is built and maintained by CheapereSIM, and returns CheapereSIM pricing. It covers 190+ destinations across 8 regions.

What you can ask

Once installed, these all work in plain language:

  • "What is the cheapest eSIM for Japan?"
  • "I am travelling to Japan, South Korea and Taiwan for three weeks. What should I buy?"
  • "Is there a single eSIM that covers all of Southeast Asia?"
  • "Which countries does that regional plan actually cover?"
  • "Show me unlimited data eSIM plans for Turkey."
  • "How much data is left on my eSIM?" (needs a token)

The interesting one is the multi-country case. A regional eSIM that covers your whole trip is sometimes cheaper than buying a local eSIM in each country, and sometimes it is not. plan_trip prices both and tells you which wins.

Setup

Add this to your MCP client configuration:

json
{  "mcpServers": {    "esim": {      "command": "npx",      "args": ["-y", "esim-mcp"]    }  }}

No API key, no account, and no configuration are required to search destinations and compare plans. Set CHEAPERESIM_API_TOKEN only if you also want the two account tools.

Example: planning a multi-country trip

Asking plan_trip for three weeks across Japan, South Korea and Taiwan, with at least 10GB:

Option 1 - one plan covering everything, $34.58:Asia (12 areas) 10GB 30Days: 10 GB for 30 days - $34.58 - covers 12 countries  https://cheaperesim.com/multi-country-esim?package=2488&utm_source=mcp&utm_medium=ai&utm_campaign=esim-mcp
Option 2 - one local plan per country, $17.52 total:Japan 10GB 30Days: 10 GB for 30 days - $8.76  https://cheaperesim.com/esim/japan?package=339&utm_source=mcp&utm_medium=ai&utm_campaign=esim-mcpSouth Korea 10GB 30Days: 10 GB for 30 days - $8.76  https://cheaperesim.com/esim/south-korea?package=345&utm_source=mcp&utm_medium=ai&utm_campaign=esim-mcpNo local plan available for: TW.
Recommended: option 1, since option 2 does not cover: TW.

That is real output against live pricing, not an illustration. It is also the case worth understanding: buying local is half the price, and it is still the wrong answer, because Taiwan is sold only inside regional plans. A price comparison that stopped at the cheaper number would leave you without service for a third of the trip.

The server prints each buy_url exactly as the API returns it, so the links above are the ones you would get.

Tools

ToolDescriptionRequires token
search_destinationsFind countries CheapereSIM sells eSIM plans for, by full or partial name.No
list_plansList eSIM plans for one country, cheapest first.No
plan_tripWork out the cheapest way to stay connected across several countries.No
get_plan_coverageList every country a regional or global plan covers.No
list_popular_destinationsList the destinations travellers buy eSIMs for most often.No
list_my_esimsList the eSIMs on the configured CheapereSIM account.Yes
get_esim_usageShow how much data is left on one eSIM.Yes

list_my_esims and get_esim_usage are only registered when CHEAPERESIM_API_TOKEN is set. Without a token, the server exposes the first five tools only, so a model never sees a tool it cannot call.

Environment variables

VariableDefaultPurpose
CHEAPERESIM_API_BASEhttps://cheaperesim.comBase URL of the CheapereSIM API
CHEAPERESIM_API_TOKENunsetAPI token for the two account tools; omit to run in read-only lookup mode
CHEAPERESIM_TIMEOUT_MS10000Request timeout in milliseconds

Keep CHEAPERESIM_API_BASE on https. The token is sent as a bearer header, so an http override would put it on the wire in cleartext.

Getting a token

Create a token at cheaperesim.com/dashboard/api-tokens. Tokens are read-only: they can list your eSIMs and their usage, but they cannot buy a plan, change your profile, or delete your account. Treat one like a password and revoke it if it leaks.

FAQ

What is an eSIM? A digital SIM your phone downloads instead of a plastic card you swap in. Most phones sold since about 2018 support one, so you can buy mobile data for a country before you land and skip roaming charges.

Which countries can I search? 190+ destinations across Europe, Asia, North and South America, Africa, Oceania and the Middle East, plus regional and global plans that span many countries at once. Use search_destinations to check a specific one.

Does this cost anything to install? No. The server and the five lookup tools are free and need no account. You only pay if you decide to buy a plan on cheaperesim.com.

Is a regional eSIM cheaper than buying one per country? It depends on the trip, which is the whole reason plan_trip exists. For two neighbouring countries a pair of local plans often wins; across four or five, a regional plan usually does. The tool prices both and shows the difference.

Does it work with anything other than Claude? Yes. It speaks the Model Context Protocol over stdio, so any MCP client can run it, including Cursor and custom agents built on the MCP SDKs.

Can it buy a plan for me? No, by design. Every tool is read-only. Plans come back with a link, and the purchase happens in your browser on cheaperesim.com.

Development

bash
npm installnpm testnpm run build

npm run typecheck type-checks the tests as well as the source. CI runs the build, the typecheck, and the suite on Node 20 and 22.

License

MIT. See LICENSE.

Source: README.md at commit 391a5f4

Tools

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

Version history

1
  1. v0.1.1LatestSep 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