# esim-mcp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/kakha13/esim-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/esim-mcp

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

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

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

## Documentation & README

# esim-mcp

[![npm version](https://img.shields.io/npm/v/esim-mcp)](https://www.npmjs.com/package/esim-mcp)
[![npm downloads](https://img.shields.io/npm/dm/esim-mcp)](https://www.npmjs.com/package/esim-mcp)
[![CI](https://github.com/kakha13/esim-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/kakha13/esim-mcp/actions/workflows/ci.yml)
[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-io.github.kakha13%2Fesim--mcp-blue)](https://registry.modelcontextprotocol.io/)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)

**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](https://cheaperesim.com), 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-mcp
South 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-mcp
No 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

| Tool | Description | Requires token |
|---|---|---|
| `search_destinations` | Find countries CheapereSIM sells eSIM plans for, by full or partial name. | No |
| `list_plans` | List eSIM plans for one country, cheapest first. | No |
| `plan_trip` | Work out the cheapest way to stay connected across several countries. | No |
| `get_plan_coverage` | List every country a regional or global plan covers. | No |
| `list_popular_destinations` | List the destinations travellers buy eSIMs for most often. | No |
| `list_my_esims` | List the eSIMs on the configured CheapereSIM account. | Yes |
| `get_esim_usage` | Show 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

| Variable | Default | Purpose |
|---|---|---|
| `CHEAPERESIM_API_BASE` | `https://cheaperesim.com` | Base URL of the CheapereSIM API |
| `CHEAPERESIM_API_TOKEN` | unset | API token for the two account tools; omit to run in read-only lookup mode |
| `CHEAPERESIM_TIMEOUT_MS` | `10000` | Request 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](https://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 install
npm test
npm 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](https://github.com/kakha13/esim-mcp/blob/HEAD/LICENSE).

