Esimfly Mcp

io.github.eSimfly-OfficialPublished by GitHub account eSimfly-Officialv0.1.3Updated Nov 2, 2026

eSIMfly Business API: search eSIM plans, check usage, diagnose eSIMs, optionally order (confirmed)

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

Connects an assistant to the eSIMfly Business API to search eSIM plans, check balances and usage, diagnose eSIMs, and optionally place orders and top-ups.

What you can do
  • Search the eSIM catalogue by destination or type with your cost price, and check account or enterprise balance
  • List your eSIMs with status, remaining data and validity, and read stored or live network usage
  • Inspect network events from the last 7 days and daily usage reports by country and operator
  • Review order history, top-up options and webhook settings
  • With writes enabled: create orders, top up, cancel, suspend or activate eSIMs, send SMS and set webhooks, each previewed before confirmation
  • Run built-in prompts for an integration guide and an eSIM diagnosis workflow
When to use it
Useful for eSIMfly business accounts that want an assistant to compare wholesale plans, monitor data usage across eSIMs, troubleshoot a SIM reporting no data, or handle ordering and top-ups with a confirmation step.
Requirements
Either the hosted remote endpoint with OAuth sign-in to an eSIMfly business account, or a local run via npx (Node.js) or Docker. Local mode needs ESIMFLY_ACCESS_CODE and ESIMFLY_SECRET_KEY from the business dashboard; ESIMFLY_MCP_ALLOW_WRITES=true registers write tools. Network access to the eSIMfly API.
Before you install
Write tools can spend account balance: create_order, topup_esim, cancel_esim (refund), suspend/activate, send_sms and set_webhook. They stay unregistered unless ESIMFLY_MCP_ALLOW_WRITES is true, and each returns a preview until called with confirm: true. The API credentials ESIMFLY_ACCESS_CODE and ESIMFLY_SECRET_KEY are secrets; use a dedicated key with low rate limits and rotate it if in doubt. Live status lookups are described as expensive.

Installation

In SourceWeft

  1. Open Esimfly Mcp in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.eSimfly-Official%2Fesimfly-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "esimfly": {
      "type": "http",
      "url": "https://mcp.esimfly.net/mcp"
    }
  }
}

README

@esimfly/mcp — eSIMfly MCP server

[eSimfly-Official/esimfly-mcp MCP server] [npm] [CI] [smithery badge] [M8ven Score]

Give your AI assistant hands on the eSIMfly Business API. With this Model Context Protocol server, Claude, Cursor, ChatGPT and other MCP clients can search eSIM plans with your wholesale prices, check balances and usage, diagnose "no data" problems from live network data — and, if you enable it, place orders and top-ups with an explicit confirmation step.

  • Read-only by default. Nothing can spend your balance unless you opt in.
  • Two-step writes. Every write tool returns a preview (what, cost, balance) until called with confirm: true.
  • Built on the official @esimfly/sdk — signing, retries and error codes handled.
  • Ships two prompts: the complete integration guide and an eSIM diagnosis workflow.

Docs: https://docs.esimfly.net · Credentials: Business Dashboard → Settings → API Keys.

Hosted server (no install)

Prefer not to run anything locally? eSIMfly hosts this same server at https://mcp.esimfly.net/mcp. Add it as a remote MCP server in Claude.ai, ChatGPT, Claude Code (claude mcp add --transport http esimfly https://mcp.esimfly.net/mcp), Cursor or VS Code and sign in with your eSIMfly business account — OAuth 2.1, no keys to paste, write tools opt-in on the consent screen. Details: https://docs.esimfly.net/docs/mcp-server

Local install

The server runs locally over stdio; your API key never leaves your machine.

Claude Desktop

claude_desktop_config.json → mcpServers:

json
{  "mcpServers": {    "esimfly": {      "command": "npx",      "args": ["-y", "@esimfly/mcp"],      "env": {        "ESIMFLY_ACCESS_CODE": "esf_...",        "ESIMFLY_SECRET_KEY": "sk_..."      }    }  }}

Claude Code

bash
claude mcp add esimfly -e ESIMFLY_ACCESS_CODE=esf_... -e ESIMFLY_SECRET_KEY=sk_... -- npx -y @esimfly/mcp

Cursor / Windsurf / other MCP clients

.cursor/mcp.json (or the client's equivalent):

json
{  "mcpServers": {    "esimfly": {      "command": "npx",      "args": ["-y", "@esimfly/mcp"],      "env": { "ESIMFLY_ACCESS_CODE": "esf_...", "ESIMFLY_SECRET_KEY": "sk_..." }    }  }}

Docker

bash
docker build -t esimfly-mcp .docker run -i --rm -e ESIMFLY_ACCESS_CODE=esf_... -e ESIMFLY_SECRET_KEY=sk_... esimfly-mcp

Enable write tools

Add "ESIMFLY_MCP_ALLOW_WRITES": "true" to env. Without it the ordering, top-up, cancel, suspend, SMS and webhook tools are not even registered.

Try it

  • "Find the cheapest 5 GB plan for Turkey and tell me my margin at €9.99."
  • "Which of my eSIMs are active and below 200 MB?"
  • "ICCID 8948010010036785060 says no data — diagnose it." (uses the diagnose_esim prompt)
  • "Set up webhooks for installed / status / low-data events at https://my.app/hooks." (write tool, previews first)
  • "Build me a Node.js integration." (uses the esimfly_integration_guide prompt)

Tools

ToolWhat it doesMode
search_packagesCatalogue search by destination / type with your cost priceread
get_balanceAccount (or enterprise) balanceread
list_esimsYour eSIMs with status, data left, validityread
get_esim_usageStored usage for one eSIM (cheap)read
get_esim_live_statusLive status from the network: install state, last network, device, usageread (expensive)
get_network_eventsLast 7 days of attach / data-session events, wrong-network flagread
get_usage_reportDaily usage by country and operator (up to 90 days)read
list_orders / get_orderOrder history and one order with its eSIMread
get_topup_packagesTop-up options for one eSIMread
get_webhook_settingsWebhook URL, events, recent deliveriesread
create_orderBuy eSIMs — preview → confirm: true + idempotency keywrite
topup_esimAdd data to an eSIM — preview shows package and costwrite
cancel_esimCancel an unused eSIM and refund to balancewrite (destructive)
suspend_esim / activate_esimBlock / restore network accesswrite
send_smsText the device holding the eSIMwrite
set_webhookConfigure webhook URL and eventswrite

Prompts: esimfly_integration_guide (optional stack), diagnose_esim (iccid).

Safety model

  • Read-only unless ESIMFLY_MCP_ALLOW_WRITES=true.
  • Write tools are two-step: a call without confirm returns a preview and makes no mutable API call; create_order additionally requires the idempotency_key from its own preview, so an agent cannot place the same order twice.
  • Tool annotations mark reads as readOnlyHint and cancel/suspend as destructiveHint, so hosts that ask for user approval on risky tools do so.
  • The server never logs credentials and never writes to stdout except the MCP protocol.
  • Give the agent a dedicated API key with the smallest rate limits you are comfortable with, and rotate it from the dashboard if in doubt.

Configuration

VariableRequiredDescription
ESIMFLY_ACCESS_CODEyesAPI access code (esf_…)
ESIMFLY_SECRET_KEYyesAPI secret key (sk_…)
ESIMFLY_MCP_ALLOW_WRITESnotrue to register write tools
ESIMFLY_BASE_URLnoOverride the API base URL

Embedding

ts
import { createEsimflyMcpServer } from '@esimfly/mcp';const server = createEsimflyMcpServer({ config: { accessCode, secretKey }, allowWrites: false });// connect it to any MCP transport

Releasing (maintainers)

Bump version in package.json, server.json and MCP_VERSION in src/server.ts, add a CHANGELOG entry, push, then publish a GitHub Release tagged vX.Y.Z — the workflow publishes to npm with Trusted Publishing (OIDC), and the MCP Registry entry is republished automatically afterwards (GitHub OIDC, no tokens).

Support

[email protected] · https://docs.esimfly.net

Source: README.md at commit 73f44a5

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v0.1.3LatestSep 16, 2026

Score

85% 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 daysRequired25 pts
  • Auth declaredRequired10 pts
  • 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