mcpField
W
Worldcitisim eSIM

Worldcitisim eSIM

本地服务
worldcitisim.com地图与出行021 周前更新

关于 Worldcitisim eSIM

Worldcitisim eSIM 是用于搜索和订购 WorldCitiSim 旅行 eSIM 套餐的 MCP 服务,支持 Stripe 结账链接和链上 Bitcoin 付款信息,并在付款完成后返回激活数据。

主要功能

  1. 01按国家、地区、时长和流量搜索套餐
  2. 02获取套餐及其规格
  3. 03创建 Stripe 或 Bitcoin 付款订单
  4. 04查询订单状态并获取激活数据
  5. 05缓存套餐目录响应

适用场景

  1. 01比较目的地和行程时长对应的 eSIM 套餐
  2. 02下单并分享 Stripe 结账链接
  3. 03为订单提供 Bitcoin 付款信息
  4. 04付款后获取激活信息

MCP 相关

向 MCP 客户端提供搜索套餐、创建订单和查询状态的工具,并封装 WorldCitiSim eSIM API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"com-worldcitisim-mcp-esim": {
"command": "npx",
"args": [
"-y",
"@worldcitisim/mcp-esim"
]
}
}
}
启动命令npx -y @worldcitisim/mcp-esim

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@worldcitisim/mcp-esim0.2.2

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitnumber否最多返回的套餐数(默认 5,最多 20)。
min_gbnumber否最低流量额度,单位为 GB。表示“无限流量”时使用 -1。
regionstring否地区 slug:'europe' | 'mena' | 'caribbean' | 'balkans' | 'latam' | 'asia' | 'global'。
countrystring否两位字母的 ISO 3166-1 alpha-2 国家代码(例如 'JP'、'ES'、'US'),或套餐 slug('spain'、'japan'、'europe'、'global')。匹配套餐 slug 和显示名称时不区分大小写。
max_daysnumber否套餐时长上限,单位为天。
min_daysnumber否套餐时长下限,单位为天。

详细介绍

@worldcitisim/mcp-esim

让 Claude 和其他兼容 MCP 的 Agent 搜索和购买 WorldCitiSim eSIM 套餐的 MCP 服务。封装了 https://shop.worldcitisim.com/wp-json/esim/v1/*。

安装

Claude Desktop / Claude Code
claude mcp add --scope user wcs-esim npx -y @worldcitisim/mcp-esim

或者粘贴到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "worldcitisim-esim": {
      "command": "npx",
      "args": ["-y", "@worldcitisim/mcp-esim"]
    }
  }
}
Cursor / Windsurf / 其他 MCP 客户端

配置形式相同 — command: "npx", args: ["-y", "@worldcitisim/mcp-esim"]。

ChatGPT Developer Mode

Settings → Developer Mode → Add MCP server → 使用相同的 npx 命令。

提供的工具

工具用途
esim_search_plans按国家 / 地区 / 天数 / GB 筛选套餐目录。返回匹配的套餐及其前 5 个变体。
esim_get_plan按 slug 获取一个套餐及其所有变体。
esim_create_order创建待处理订单。payment_method: "stripe"(默认)会返回 Stripe Checkout URL,供用户点击;payment_method: "btc" 会返回链上 btc 区块(地址 + 金额 + QR),可直接展示给用户。两种方式都会返回用于轮询的 order_token。
esim_check_order轮询订单状态。付款完成后返回激活数据(ICCID、QR URL)。

交互示例

User: I'm going to Japan for 10 days, what eSIM should I get?

Claude calls: esim_search_plans({ country: "japan", min_days: 7, max_days: 15 })
→ returns matching plans with variations priced and in stock.

Claude picks the best match, presents 2–3 options to the user.

User: the 10GB one

Claude: "Pay by card or Bitcoin?"

User: card

Claude calls: esim_create_order({ email: "[email protected]", variation_id: 44941 })
→ returns { order_id, order_token, payment_link_url }.

Claude: "Tap this link to pay: <Stripe URL>. You'll get the eSIM QR in your email within ~30 seconds."

User pays. Claude optionally polls esim_check_order until status=completed.

使用 Bitcoin 时,Claude 会调用 esim_create_order({ ..., payment_method: "btc" }) 并获得一个 btc 区块 — { address, sats_amount, btc_amount, qr_data_uri, expires_at } — 并将其展示给 用户,供用户使用任意链上钱包付款。不会发生重定向。如果网络手续费飙升导致小额订单无法使用 BTC, 调用会返回 btc_unavailable 错误,Claude 会改为提供银行卡支付选项。无论哪种方式,esim_check_order 都会持续轮询,直到 status=completed。

环境

  • WCS_ESIM_API_BASE — 覆盖 API 基础 URL。默认值:https://shop.worldcitisim.com/wp-json/esim/v1。

运行环境

  • Node 20.11+(用于原生 fetch + ESM)。
  • 无需密钥。此进程不会接触 Stripe 凭据。付款通过 Stripe 托管的结账页面完成;MCP 只会将 URL 提供给 Agent。
  • 客户端会缓存套餐目录 5 分钟,并支持 ETag;一分钟内的多次搜索调用不会访问网络。

开发

npm install
npm run dev                 # stdio MCP server on this terminal
npm run build               # compile to dist/

将 Claude Code 会话指向本地开发构建:

claude mcp add wcs-esim-dev node "$(pwd)/dist/index.js"

相关链接

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。