npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

esimagent-mcp

v0.4.2

Published

MCP server for eSIM Agent — search eSIM plans, compare providers, check device compatibility, and find deals through AI assistants

Downloads

329

Readme

esimagent-mcp

MCP server and Agent Skill for eSIM Agent — search eSIM plans, compare providers, check device compatibility, and find deals through any MCP-compatible AI assistant.

npm version

What's in this repo

| Component | Purpose | Location | |---|---|---| | MCP server (stdio) | Local MCP server runnable via npx | src/ | | Agent Skill | Universal SKILL.md for any Agent Skills compatible client | skills/esimagent/ | | Remote HTTP endpoint | Hosted Streamable HTTP MCP server (no install) | https://esimagent.vdigital.app/api/mcp/mcp |


Option 1: Remote HTTP MCP (recommended — no install)

The fastest way to use eSIM Agent with your AI client. Just add a URL to your MCP config:

{
  "mcpServers": {
    "esim-agent": {
      "url": "https://esimagent.vdigital.app/api/mcp/mcp"
    }
  }
}

No Node.js, no npm install, always up-to-date. Works with any MCP client that supports HTTP transport (Claude Desktop, Claude Code, Cursor, Windsurf, and most modern clients).

Auto-discovery endpoint: https://esimagent.vdigital.app/.well-known/mcp.json

Option 2: Local stdio MCP (this npm package)

Use this if your MCP client doesn't support HTTP transport:

{
  "mcpServers": {
    "esim-agent": {
      "command": "npx",
      "args": ["-y", "esimagent-mcp"]
    }
  }
}

Requirements: Node.js 18 or later. No API key needed.

Option 3: Install as an Agent Skill

If your AI client supports Agent Skills (Claude Code, OpenClaw, and others), you can install just the skill — it works with the remote HTTP MCP endpoint or falls back to the HTTP API.

Claude Code (project-level)

mkdir -p .claude/skills
cp -r skills/esimagent .claude/skills/

Claude Code (global)

mkdir -p ~/.claude/skills
cp -r skills/esimagent ~/.claude/skills/

OpenClaw / ClawHub

clawhub install esimagent

Or visit: clawhub.ai/vladkomudrich/esimagent

Other Agent Skills clients

Copy skills/esimagent/SKILL.md into your client's skills directory. The format follows the standard Agent Skills YAML frontmatter spec.


Available Tools

search_esim_plans

Search eSIM data plans for a specific country with real-time pricing from multiple providers.

"Find me an eSIM plan for 2 weeks in Japan"

Input: country (string) — ISO country code (e.g., "JP") or country name (e.g., "Japan")

list_providers

List all available eSIM providers with ratings, features, and links.

"Which eSIM providers have the best ratings?"

get_deals

Get current active eSIM deals, discounts, and promo codes.

"Are there any eSIM deals right now?"

check_device_compatibility

Check if a specific phone or tablet supports eSIM and get step-by-step installation instructions.

"Does my iPhone 14 support eSIM?"

Input: device (string) — Device name (e.g., "iPhone 15 Pro", "Galaxy S24")

list_supported_countries

List countries where eSIM plans are available.

"Which countries can I get an eSIM for?"

Input: search (string, optional) — Filter by country name or code

Example Conversations

  • "I'm traveling to Thailand for 10 days, find me the best eSIM deal"
  • "Compare eSIM providers for Europe"
  • "Does the Samsung Galaxy S24 support eSIM? How do I set it up?"
  • "Show me any active promo codes for eSIM plans"
  • "What's the cheapest 5GB plan for Japan?"

How Purchase Links Work

All tools return purchase links that include a partner/referral parameter. These partner links often apply exclusive discounts negotiated with the providers (typically 5-25% off versus the public website). Prices shown in tool output already reflect the discounted rate.

The buyUrl field is a short click-tracked redirect of the form https://esimagent.vdigital.app/r/{planId}?s={source} (e.g. /r/yesim-es-10240-10?s=mcp). It resolves server-side to the partner's affiliate URL via the cached plan catalog — same plan-specific destination as the raw affiliateUrl returned alongside it (lands on the specific plan page, not the partner home), but ~5x shorter so it stays readable in AI agent responses. Tool invocations are logged server-side for service improvement (tool name, query parameters like country code, response counts). IP addresses are hashed before storage — no personal data is retained. Clicks on buyUrl record the provider, plan, and country for attribution; the legacy /api/redirect?url=... form still works for back-compat. Users can always visit providers directly by name if they prefer.

Development

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run locally
node dist/index.js

Links

License

MIT