Simscout

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

Compare travel eSIM plans by country, trip length and data, with live catalog prices.

Overview

AI-generated overview

Local bridge to esimoa's travel eSIM catalog, letting an assistant search, compare and inspect eSIM plans by destination, trip length and data.

What you can do
  • Search the eSIM catalog by country, trip length, data amount, unlimited or daily data, local number, network, hotspot, 5G, price and provider, with sorting and a result limit
  • Get the full details of a single plan by id, including its plan page link
  • Compare two to five plans side by side and see which wins on price, data, validity and price per GB
  • List destinations where eSIMs are sold, with plan counts and lowest price in KRW
  • Run free-text searches in the search/fetch format used by ChatGPT deep research and fetch one plan as a document
When to use it
Useful when someone is planning a trip and wants an assistant to shortlist or compare travel eSIM options for a destination, trip length and data need, with current catalog prices. It only reads the catalog; purchases happen on the provider's site.
Requirements
Runs as a local process via npx (Node.js) or the provided Docker image; needs network access to the upstream esimoa MCP endpoint. Optionally set ESIMOA_MCP_URL to override the endpoint and ESIMOA_API_KEY to send an X-API-Key header (a partner key adds an affiliate code to buy links). No account is required.
Before you install
All tool calls are forwarded to a third-party endpoint, so queries leave the machine. Results are read-only, but plan links lead to an external site where a purchase would happen, and a partner API key causes affiliate codes to be added to those links. Upstream errors are returned as error results rather than raised.

Installation

In SourceWeft

  1. Open Simscout 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

simscout

simscout is a small local bridge to esimoa's hosted MCP server, which catalogues travel eSIM plans: pick a destination, say how long the trip is and how much data you need, and the catalog answers with matching plans, their prices in KRW, and a link to each plan's page on esimoa.com where a purchase would happen.

The bridge keeps no catalog of its own. It serves the upstream server's tool list locally, exactly as captured from the live endpoint, and forwards each tool call upstream, returning the result untouched. The whole captured surface only reads — searching, fetching one plan, comparing a shortlist and listing destinations — and there is no checkout or payment tool in it.

Tools

  • search_esims — search the catalog for a destination. All filters are optional: country (ISO code or name in any language, e.g. JP or Japan), days (trip length), data_gb / max_data_gb, unlimited, countries (multi-country trips, up to 8), data_type (daily or total), local_number, network (local or roaming), multi_country, min_price_krw / max_price_krw, provider, hotspot, five_g, sort (recommended, price, data, price_per_gb or validity), limit (1-10, default 5) and lang. Each result carries an id and a plan page url.
  • get_esim — the full details of one plan. Required: id (from search_esims). Optional: lang.
  • compare_esims — two to five plans side by side: price, data, validity, price per GB, coverage, network, hotspot and local phone number, plus which plan wins each of lowest price, most data, longest validity and lowest price per GB. Required: ids. Optional: lang.
  • list_countries — every destination where plans are sold, with the plan count and the lowest price per country. Optional: query (name or ISO filter) and lang.
  • search — free-text search in the search/fetch format used by ChatGPT deep research, e.g. "Japan 7 days unlimited". Required: query. Returns ids for fetch. When you can fill filters, prefer search_esims.
  • fetch — one plan as a document, by an id returned from search. Required: id. For plans found with search_esims, use get_esim instead.

Configuration

  • ESIMOA_MCP_URL (optional) — override the upstream endpoint. Defaults to https://api.esimoa.com/mcp. (The override hook is this rebuild's own labelled reconstruction.)
  • ESIMOA_API_KEY (optional) — when set, every upstream request carries an X-API-Key: <key> header (a partner key adds the partner's affiliate code to buy links). When it is not set, no key header is sent and the upstream returns plain links. No Authorization header is ever sent. (This forwarding is also a labelled reconstruction; the original surface was captured keyless.)

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session with the upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name simscout), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with simscout error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string (omit it for tools that take none):

bash
npx @reneturcios/simscout search_esims '{"country":"JP","days":7,"sort":"price"}'npx @reneturcios/simscout get_esim '{"id":"plan-9"}'npx @reneturcios/simscout compare_esims '{"ids":["plan-9","plan-11"]}'npx @reneturcios/simscout list_countries '{"query":"Japan"}'npx @reneturcios/simscout --version

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/simscout mcp

MCP client config:

json
{  "mcpServers": {    "simscout": {      "command": "npx",      "args": ["-y", "@reneturcios/simscout", "mcp"]    }  }}

Docker

bash
docker run -i ghcr.io/cloudcorprecords/simscoutdocker run --rm ghcr.io/cloudcorprecords/simscout --version

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

bash
npm installnpm run buildnpm testnpm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

Source: README.md at commit 92a09b2

Tools

6

search_esims

Search & compare travel eSIMs

Search the travel eSIM catalog of esimoa (이심모아) and compare plans for a destination. Filter by trip length, data, unlimited or daily data, local phone number, local or roaming network, multi-country coverage, price, provider, hotspot and 5G. Sort by "recommended" (esimoa’s default order), "price" (lowest first), "data" (most data first), "price_per_gb" or "validity" (longest first). Each result includes its `id` (for get_esim and compare_esims) and a `url` to the plan page on esimoa.com. Prices are in KRW.

Parametersdayslangsortlimitfive_gcountrydata_gbhotspotnetworkprovidercountriesdata_type+6 more

get_esim

Get eSIM plan details

Get the details of one esimoa (이심모아) eSIM plan by id (from search_esims), including its plan page `url`.

Parametersidrequiredlang

compare_esims

Compare eSIM plans side by side

Compare 2 to 5 esimoa (이심모아) eSIM plans side by side by id (ids come from search_esims): price, data, validity, price per GB, coverage, network, hotspot and local phone number. Returns which plan has the lowest price, most data, longest validity and lowest price per GB, and each plan page `url` on esimoa.com. Prices are in KRW.

Parametersidsrequiredlang

list_countries

List eSIM destinations

List countries where esimoa (이심모아) sells eSIMs, with the number of plans and the lowest price (KRW). Optionally filter by name.

Parameterslangquery

fetch

Fetch an esimoa eSIM

Fetch one esimoa (이심모아) eSIM plan as a document by id returned from search (ChatGPT deep research format). For plans found with search_esims, use get_esim.

Parametersidrequired

Version history

1
  1. v0.1.0LatestNov 4, 2026

Score

90% 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
  • 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 listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts