# io.github.kakha13/esim-mcp (npm · esim-mcp)

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

- Trust score: 75/100 (medium)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-14

## Components

- npm · `esim-mcp`: 75/100 (this document), [markdown](https://verifymcp.io/servers/kakha13-esim-mcp/esim-mcp.md), [page](https://verifymcp.io/servers/kakha13-esim-mcp/esim-mcp)

## Channel facts

- Registry: `npm`
- Package: `esim-mcp`
- Version: `0.1.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-14.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 30 of 95 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 9 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 86/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 470 tokens (~94/item across 5 items; 5 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add kakha13-esim-mcp -- npx -y esim-mcp
```

### Codex

```bash
codex mcp add kakha13-esim-mcp -- npx -y esim-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "kakha13-esim-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "esim-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add kakha13-esim-mcp --command npx --arg -y --arg esim-mcp
```

### Hermes

```yaml
mcp_servers:
  kakha13-esim-mcp:
    command: "npx"
    args: ["-y", "esim-mcp"]
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-13 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-12 (score 74, +3)

- [functional improvement] Stability: unverified → 0.23

### 2026-08-11 (score 71, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-08-07 (score 69, +4)

- [security improvement] Known CVEs: partial → pass
- [functional] Dependency health: partial → 0.85

### 2026-08-06 (score 65, +30)

- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: excellent
- [functional] First check of Schema quality: pass

### 2026-08-05 (score 35)

First indexed and scored.

## MCP tools (5)

### `search_destinations` (~94 tokens)

Find countries CheapereSIM sells eSIM plans for, by full or partial name. Use this when the user names a place and you need its country code before looking up plans. Do not use it to compare prices or list plans: use list_plans for a single country, or plan_trip for several.

Input parameters:

- `query` (string, required): Country name or partial name, for example "jap" or "south kor"

### `list_plans` (~110 tokens)

List eSIM plans for one country, cheapest first. Use plan_trip instead when the user is visiting more than one country.

Input parameters:

- `country` (string, required): ISO country code such as JP, or a slug such as south-korea
- `days` (integer): Only plans lasting at least this many days
- `limit` (integer): How many plans to return, default 20
- `min_data_gb` (number): Only plans with at least this much data. Unlimited plans always qualify

### `list_popular_destinations` (~65 tokens)

List the destinations travellers buy eSIMs for most often, with a starting price for each. Use this only when the user has not named a destination and wants ideas. If they already named one country use list_plans, and if they named several use plan_trip.

### `plan_trip` (~131 tokens)

Work out the cheapest way to stay connected across several countries. Compares one regional plan covering the whole trip against buying a local plan per country, and says which is cheaper. Use this whenever the user names more than one destination.

Input parameters:

- `countries` (array, required): Two-letter ISO country codes, for example ["JP", "KR", "TW"]. This tool does not accept country names or slugs: call search_destinations first to get the code.
- `days` (integer): Trip length in days
- `min_data_gb` (number): Minimum data per plan, in GB. Unlimited plans always qualify

### `get_plan_coverage` (~70 tokens)

List every country a regional or global plan covers. Takes the group_id from a plan returned by plan_trip or list_plans. Local plans have a null group_id and cover only their own country.

Input parameters:

- `group_id` (integer, required): The plan group id, from a plan's group_id field

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/kakha13-esim-mcp/esim-mcp#diagnostics

## Score history

- 2026-08-14: 75
- 2026-08-13: 75
- 2026-08-12: 74
- 2026-08-11: 71
- 2026-08-10: 69
- 2026-08-09: 69
- 2026-08-08: 69
- 2026-08-07: 69
- 2026-08-06: 65
- 2026-08-05: 35

## Links

- npm package: https://www.npmjs.com/package/esim-mcp
- Socket report: https://socket.dev/npm/package/esim-mcp
- Repository: https://github.com/kakha13/esim-mcp
- Website: https://cheaperesim.com/esim-mcp
- Changelog RSS feed: https://verifymcp.io/servers/kakha13-esim-mcp/esim-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/kakha13-esim-mcp/esim-mcp.json
- HTML version of this page: https://verifymcp.io/servers/kakha13-esim-mcp/esim-mcp
