mcpField
S
Simsima Connectivity

Simsima Connectivity

Remote
simsima.ioMaps & Travel0Updated 3w ago

About Simsima Connectivity

Simsima Connectivity is a remote MCP server for browsing Simsima's prepaid travel eSIM catalog. Travelers and planning assistants can compare coverage, prices, data, and validity, then receive a link to complete a purchase on simsima.io.

Key features

  1. 01Browse destinations and entry prices
  2. 02Search and compare eSIM plans
  3. 03Recommend plans by trip length and usage
  4. 04Check regional plan coverage and operators
  5. 05Create links to plan pages

Use cases

  1. 01Comparing plans for a trip itinerary
  2. 02Checking whether a regional plan covers a route
  3. 03Finding a plan within a price or data limit
  4. 04Opening a selected plan's purchase page

MCP support

Provides read-only catalog tools to MCP clients over Streamable HTTP at `https://mcp.simsima.io/mcp`. It returns product information and checkout links; purchases take place on simsima.io.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.simsima.io/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

5
ParameterTypeRequiredDescription
localeenumNoen | fr

Details

From the project README

Simsima — travel eSIM plans in Claude

Glama score

In Claude: connector directory · Website: simsima.io · Endpoint: https://mcp.simsima.io/mcp (Streamable HTTP) · Registry: io.github.Willyfab/simsima-connectivity

Simsima sells prepaid travel eSIMs for about 190 countries, regions and worldwide plans. This connector lets Claude, or any MCP client, look up that catalog while you plan a trip: which plans exist for a destination, what they cost, whether a regional plan covers every country on your route, which local networks it uses, and which plan fits the length of your stay. When you have picked one, it gives you the link to that plan on simsima.io, where you complete the purchase yourself.

It works in the 26 languages of simsima.io, with prices in the matching currency. It needs no account and no login, and it only reads the public catalog.

Add it to Claude

Simsima is listed in Claude's connector directory: open claude.ai/directory/simsima and connect it. No account and no authentication are required.

You can also add it by hand: in Claude (web, desktop or mobile), open Settings › Connectors, choose Add custom connector, and enter https://mcp.simsima.io/mcp.

In Claude Code:

claude mcp add --transport http simsima https://mcp.simsima.io/mcp

What you can ask

  • "I'm spending 10 days in Japan and use maps and social media a lot. Which eSIM should I take?"
  • "Does the Europe eSIM work in Switzerland and in the UK?"
  • "Compare unlimited plans for Thailand for two weeks, under $30."
  • "Which mobile networks does the Simsima eSIM for Brazil use, and can I top it up?"
  • "Give me the link to buy the 5 GB, 7-day plan for Italy."

Tools

All tools are read-only.

ToolWhat it does
list_destinationsDestinations covered (countries, regions, global), with the entry price and product URL of each.
search_plansPlans for a destination, cheapest first, filtered by price, data, validity or unlimited data.
get_planOne plan by its sku.
recommend_planBest plan(s) for a trip, given its length in days and light, medium or heavy usage.
check_coverageWhether a destination's plan covers a given country (name or ISO code), with the standalone country plan as an alternative.
get_destination_infoCountries covered, mobile operators, top-up availability and entry price for one destination.
create_checkout_linkLink to a plan's page on simsima.io, with the plan preselected (given only a destination, the destination's page). No order is placed and no payment is made by the tool: the purchase happens on the website.

Data and privacy

The server never receives your conversation, only the parameters Claude passes to a tool. For each call it records the tool name, the search parameters (destination, plan, trip length, usage level, language), the type of client read from the HTTP User-Agent (for example "Claude"), and the country derived from the IP address, in order to measure use of the service. These events go to PostHog, hosted in the EU. The IP address itself is only used in memory to limit request rates and is never stored. Links handed out carry utm_* parameters naming the client type, so a purchase can be attributed to the connector.

Full privacy policy: simsima.io/en/privacy · Terms: simsima.io/en/terms

Support

Questions or problems: [email protected].


For developers

Health check: GET https://mcp.simsima.io/health.

Data source

Reads the public web feed ${SIMSIMA_FEED_BASE}/{locale}/agent/catalog (cached ~15 min). Every tool takes a locale among the site's 26 languages (default en). It sets the language of product URLs and the currency of prices (USD in English, EUR in French, JPY in Japanese…); destination slugs are the same in every language, and check_coverage reads country names in the user's own language and script ("Kroatien", "クロアチア"). Product URLs come straight from the feed → always valid (zero 404). No database, no backend calls.

That feed is built from Simsima's sellable catalog — the same source the website and the Google Shopping feed read. So what this server answers is what the site actually sells: one plan per (destination, data, duration), unlimited plans resolved through the site's fair-use cascade, and the checkout price floor already applied.

Coverage and mobile operators travel in the feed's destinations block, once per destination rather than on every plan (the Europe zone alone carries ~40 country codes). Operators are listed for single-country destinations only: on a zone, forty countries' networks mixed together would say nothing useful.

Env

  • SIMSIMA_FEED_BASE (default https://simsima.io)

  • PORT (default 8080)

  • RATE_LIMIT_RPM (default 60) — per calling IP. Relies on trust proxy: without it every caller shares the proxy's address and the limit turns into one global ceiling that a single scanner empties.

  • RATE_LIMIT_RPM_ANTHROPIC (default 1200) — per calling IP inside Anthropic's outbound range 160.79.104.0/21, where every claude.ai connector call comes from. A handful of those addresses carry the traffic of all Claude users at once; at the ordinary per-caller limit, a few simultaneous conversations would get everyone throttled.

  • POSTHOG_KEY (optional) — PostHog project API key. When set, the server emits an mcp_tool_call event per tool call, carrying resultCount, feedStale and a named failureReason when a call comes back empty, plus a dedicated mcp_checkout_link event when a checkout link is handed out. Absent → telemetry disabled (no-op).

    Each event also carries where the call came from, read once per request from the headers: client (claude / openai / cursor / vscode / bot / script / unknown), the raw userAgent, and country. The User-Agent is sent by the MCP client rather than written by the model, which makes it the one origin signal a caller does not pick for itself. It is also what the checkout link is attributed to (source=agent:<client>, utm_source=<client>) and what PostHog's distinct_id is built from (mcp:<client>). An earlier agentSource argument, filled in by the model from the conversation, has been removed: it carried conversation fragments and identified nobody. The caller's IP is resolved as well (CF-Connecting-IP, then X-Forwarded-For, then req.ip) and is used only to meter requests; it never reaches PostHog.

  • POSTHOG_HOST (optional, default https://eu.i.posthog.com) — PostHog ingestion host (match the web app).

Local dev

cd mcp
npm install
npm test          # jest
npm run dev       # ts-node-dev on :8080
curl localhost:8080/health

Deploy

Coolify app, Docker build context = mcp/, subdomain mcp.simsima.io. Auto-deploy on push to main. Set SIMSIMA_FEED_BASE, PORT, RATE_LIMIT_RPM env vars.

Publication to the MCP Registry (Phase 1b)

Metadata lives in server.json (namespace io.github.Willyfab/simsima-connectivity, remote streamable-http at https://mcp.simsima.io/mcp). Discovery is also hinted from web/public/llms.txt + llms-full.txt.

To publish (needs the mcp-publisher CLI + GitHub auth as the repo owner):

cd mcp
# install: see github.com/modelcontextprotocol/registry (release binary or `go install`)
mcp-publisher login github     # OIDC auth for the io.github.Willyfab/* namespace
mcp-publisher publish          # validates server.json and publishes
  • Bump version in server.json on each meaningful change and re-run publish.
  • To use a branded com.simsima/connectivity namespace instead, verify domain ownership of simsima.io via a DNS TXT record, then update name in server.json (the remote URL mcp.simsima.io already sits on the verified domain).

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.