关于 Worldcitisim eSIM
Worldcitisim eSIM 是用于搜索和订购 WorldCitiSim 旅行 eSIM 套餐的 MCP 服务,支持 Stripe 结账链接和链上 Bitcoin 付款信息,并在付款完成后返回激活数据。
主要功能
- 01按国家、地区、时长和流量搜索套餐
- 02获取套餐及其规格
- 03创建 Stripe 或 Bitcoin 付款订单
- 04查询订单状态并获取激活数据
- 05缓存套餐目录响应
适用场景
- 01比较目的地和行程时长对应的 eSIM 套餐
- 02下单并分享 Stripe 结账链接
- 03为订单提供 Bitcoin 付款信息
- 04付款后获取激活信息
MCP 相关
向 MCP 客户端提供搜索套餐、创建订单和查询状态的工具,并封装 WorldCitiSim eSIM API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 否 | 最多返回的套餐数(默认 5,最多 20)。 |
| min_gb | number | 否 | 最低流量额度,单位为 GB。表示“无限流量”时使用 -1。 |
| region | string | 否 | 地区 slug:'europe' | 'mena' | 'caribbean' | 'balkans' | 'latam' | 'asia' | 'global'。 |
| country | string | 否 | 两位字母的 ISO 3166-1 alpha-2 国家代码(例如 'JP'、'ES'、'US'),或套餐 slug('spain'、'japan'、'europe'、'global')。匹配套餐 slug 和显示名称时不区分大小写。 |
| max_days | number | 否 | 套餐时长上限,单位为天。 |
| min_days | number | 否 | 套餐时长下限,单位为天。 |
详细介绍
@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"
相关链接
- WorldCitiSim — 覆盖 193 个国家/地区的 eSIM 旅行服务。
- WorldCitiSim eSIM API — 此服务封装的 OpenAPI 3.1 规范。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。