返回首页
面向 AI 助手 · MCP 服务器

BuyUKeSIM MCP 服务器

BuyUKeSIM 运行一个 MCP(Model Context Protocol)服务器,因此任何支持 MCP 的 AI 助手 - Claude、ChatGPT、Cursor、VS Code Copilot、Gemini CLI 等 - 都能直接使用我们的 eSIM 目录。把助手指向一个端点,它就能搜索套餐、列出覆盖、介绍英国号码并查询订单,全部用自然语言完成。

公开工具无需密钥,也不涉及任何资金流动。第二套鉴权工具增加了一个预付、加密货币充值的 agent wallet,使助手能够充值余额并代表你购买旅行/数据 eSIM。无需账户,无需 KYC。本页是完整参考:端点、各客户端配置、每个工具、鉴权、可运行示例、错误处理与常见问题。

基础端点

https://buyukesim.com/mcp

什么是 MCP

Model Context Protocol(MCP)是一个开放标准,用于将 AI 助手连接到外部工具和数据。助手不再需要复制粘贴或搭建一次性插件,而是用同一套协议与任何兼容服务器对话,并发现其暴露的工具。

我们的服务器基于 JSON-RPC 2.0 在 Streamable HTTP 之上实现 MCP,协议版本 2025-06-18。实际上就是一个接受 POST 请求的 HTTPS 端点。助手先调用 initialize,再调用 tools/list 了解可用工具,然后调用 tools/call 运行某个工具。你几乎不会手动操作 - MCP 客户端会替你完成。

在 modelcontextprotocol.io 阅读 MCP 规范

快速开始

最快的方式是 Claude Code。一条命令即可添加带公开浏览工具的服务器 - 无需密钥,无需配置文件:

claude mcp add --transport http buyukesim https://buyukesim.com/mcp

就这样。让助手做点什么,例如"搜索英国 eSIM 套餐",它就会调用工具。其他客户端见下方的客户端配置。要使用钱包工具,把你的密钥作为 Bearer 头添加(见鉴权)。

端点

只有一个 MCP 端点。请求为带 JSON-RPC 主体的 HTTP POST。普通的 GET 不是有效的 MCP 请求,会返回 405。为方便起见,你也可以把密钥直接嵌入 URL 路径。

方法端点用途
POSThttps://buyukesim.com/mcp主 MCP 端点。所有 JSON-RPC 调用(initialize、tools/list、tools/call)都以 POST 发到这里。
GEThttps://buyukesim.com/mcp不是有效的 MCP 请求 - 返回 405 Method Not Allowed。请使用 POST。
POSThttps://buyukesim.com/mcp/ak_live_YOURKEY密钥入 URL 形式。同一端点,但 API 密钥在路径中,因此无需请求头。

客户端配置

各处使用相同的基础 URL:https://buyukesim.com/mcp。公开浏览无需密钥。对于钱包工具,添加请求头 Authorization: Bearer ak_live_YOURKEY(或使用下面的其他方式)。把 ak_live_YOURKEY 替换为 create_wallet 返回的密钥。

Claude Code (CLI)
# Public tools (browsing, no key)
claude mcp add --transport http buyukesim https://buyukesim.com/mcp

# Authenticated (wallet) - pass your key as a Bearer header
claude mcp add --transport http buyukesim https://buyukesim.com/mcp \
  --header "Authorization: Bearer ak_live_YOURKEY"

# Verify
claude mcp list
Claude Desktop
Settings  ->  Connectors  ->  Add custom connector

  Name: buyukesim
  URL:  https://buyukesim.com/mcp

Public tools work with no key. For the wallet tools,
use a client that lets you send an Authorization header
(Claude Code, Cursor, VS Code, Gemini CLI).
ChatGPT
Settings  ->  Connectors  ->  Add  (Developer mode)

  Name:           buyukesim
  MCP server URL: https://buyukesim.com/mcp

Public browse tools are available immediately.
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "buyukesim": {
      "type": "streamableHttp",
      "url": "https://buyukesim.com/mcp",
      "headers": {
        "Authorization": "Bearer ak_live_YOURKEY"
      }
    }
  }
}
VS Code (GitHub Copilot)
// .vscode/mcp.json
{
  "servers": {
    "buyukesim": {
      "type": "http",
      "url": "https://buyukesim.com/mcp",
      "headers": {
        "Authorization": "Bearer ak_live_YOURKEY"
      }
    }
  }
}
Gemini CLI
// ~/.gemini/settings.json
{
  "mcpServers": {
    "buyukesim": {
      "httpUrl": "https://buyukesim.com/mcp",
      "headers": {
        "Authorization": "Bearer ak_live_YOURKEY"
      }
    }
  }
}
Windsurf / Cline / Zed
// mcpServers block (Windsurf, Cline, Zed and similar)
{
  "mcpServers": {
    "buyukesim": {
      "serverUrl": "https://buyukesim.com/mcp"
    }
  }
}

// Fallback for stdio-only clients, via the mcp-remote bridge:
npx mcp-remote https://buyukesim.com/mcp \
  --header "Authorization: Bearer ak_live_YOURKEY"

公开工具

四个只读工具。无密钥、无资金流动 - 可安全暴露给任何助手。

search_esim_plans
country?: string (2-letter ISO), limit?: int

查找某国的旅行/数据 eSIM 套餐。返回流量、以天计的有效期、美元价格,以及你传给 purchase_esim 的 package_code。country 为 2 字母 ISO 代码(例如 GB);limit 限制结果数量。

list_covered_countries
(none)

列出旅行 eSIM 覆盖的每个国家和地区,各带起价。无参数。

get_uk_number_info
(none)

介绍英国号码(+44)eSIM - 一个用于验证短信和通话的真实英国手机号。无参数。

check_order_status
code: string

用短代码查询订单。仅返回状态,绝不返回个人数据。

鉴权钱包工具

这些需要一个 ak_live_ 密钥。钱包为预付,通过加密货币充值(经 NOWPayments)- 无账户,无 KYC。先调用一次 create_wallet 生成密钥,用 create_deposit 充值,然后用 purchase_esim 购买。

工具参数用途
create_walletlabel?: string -> returns api_key + wallet_code创建一个新的 agent wallet 并返回其 api_key(机密)和 wallet_code。这是唯一本身不需要密钥的钱包工具 - 它会生成一个。请妥善保存 api_key。
check_balance(none)返回钱包当前余额(美元)。
create_depositamount_usd: number (min 10), coin?: string发起加密货币充值。amount_usd 是充值金额(最低 10)。coin 可选,例如 usdttrc20、btc、eth 或 trx。返回支付地址/链接;充值确认后余额入账。
list_transactions(none)列出钱包交易记录 - 充值与购买。
purchase_esimpackage_code: string, request_id?: string用钱包余额购买旅行/数据 eSIM。package_code 来自 search_esim_plans。此操作为实时(LIVE),会花费真实余额。传入 request_id 使其幂等,从而重试绝不会重复扣费。返回 eSIM 二维码。
purchase_uk_numberrequest_id?: string用钱包余额从库存购买一个英国号码(+44)eSIM,约 25 美元。此操作为实时(LIVE),并即时返回二维码。传入 request_id 使其幂等,从而重试绝不会重复扣费。

余额只能用于购买 eSIM - 绝不可提现为现金或加密货币。这是刻意设计:它是给 agent 的消费余额,而非交易所。

鉴权

公开工具无需任何鉴权。钱包工具需要你从 create_wallet 获取的 ak_live_ 密钥。有三种等效的发送方式 - 选你的客户端支持的即可。

1Authorization header (recommended)

发送标准的 Bearer token 请求头。适用于 Claude Code(--header)、Cursor、VS Code、Gemini CLI 和 cURL。这是推荐方式。

Authorization: Bearer ak_live_YOURKEY

2X-API-Key header

改为在 X-API-Key 请求头中发送密钥。适合支持自定义头但不支持 Bearer 鉴权的客户端。

X-API-Key: ak_live_YOURKEY

3Key in the URL path

把密钥直接放进 URL 路径。适合只接受 URL、不接受请求头的客户端。由于密钥在其中,请将该 URL 视为机密。

https://buyukesim.com/mcp/ak_live_YOURKEY

示例

可复制粘贴的 cURL,覆盖完整流程。注意 Accept 头:基于 Streamable HTTP 的 MCP 需要 Accept: application/json, text/event-stream。每个 id 只是你自己选择的请求标识符。

1. 初始化会话(握手)。

curl -s https://buyukesim.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-06-18",
      "capabilities": {},
      "clientInfo": { "name": "curl", "version": "1.0" }
    }
  }'

2. 列出可用工具。

curl -s https://buyukesim.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/list" }'

3. 搜索英国(GB)套餐,公开 - 无密钥。

curl -s https://buyukesim.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "search_esim_plans",
      "arguments": { "country": "GB", "limit": 5 }
    }
  }'

4. 创建钱包并获得密钥。

# No key needed - this call mints one. Save the api_key it returns.
curl -s https://buyukesim.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 4,
    "method": "tools/call",
    "params": {
      "name": "create_wallet",
      "arguments": { "label": "my-agent" }
    }
  }'

# Result contains, for example:
#   api_key:     ak_live_9f3c...   (store this secret)
#   wallet_code: WLT-4821

5. 查询余额(Bearer 鉴权)。

curl -s https://buyukesim.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer ak_live_YOURKEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 5,
    "method": "tools/call",
    "params": { "name": "check_balance", "arguments": {} }
  }'

6. 发起加密货币充值。

curl -s https://buyukesim.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer ak_live_YOURKEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 6,
    "method": "tools/call",
    "params": {
      "name": "create_deposit",
      "arguments": { "amount_usd": 20, "coin": "usdttrc20" }
    }
  }'

# Returns a crypto payment address / link (NOWPayments).
# Balance is credited once the deposit confirms on-chain.

7. 购买 eSIM(实时、幂等)。

curl -s https://buyukesim.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer ak_live_YOURKEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 7,
    "method": "tools/call",
    "params": {
      "name": "purchase_esim",
      "arguments": {
        "package_code": "GB_5GB_30D",
        "request_id": "order-2026-07-10-001"
      }
    }
  }'

# LIVE: spends wallet balance and returns the eSIM QR code.
# request_id makes it idempotent - retrying never double-charges.

8. 购买英国 +44 号码(实时、幂等)。

curl -s https://buyukesim.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer ak_live_YOURKEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 8,
    "method": "tools/call",
    "params": {
      "name": "purchase_uk_number",
      "arguments": { "request_id": "uknum-2026-07-10-001" }
    }
  }'

# LIVE: buys a UK +44 Number eSIM from stock (~25 USD) and
# returns the QR instantly. request_id makes it idempotent.

Python,使用官方 mcp 客户端与 Streamable HTTP 传输:

# pip install mcp
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

URL = "https://buyukesim.com/mcp"
HEADERS = {"Authorization": "Bearer ak_live_YOURKEY"}  # omit for public tools

async def main():
    async with streamablehttp_client(URL, headers=HEADERS) as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()

            tools = await session.list_tools()
            print([t.name for t in tools.tools])

            result = await session.call_tool(
                "search_esim_plans", {"country": "GB", "limit": 5}
            )
            print(result.content)

asyncio.run(main())

Node.js,使用官方 @modelcontextprotocol/sdk:

// npm i @modelcontextprotocol/sdk
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";

const transport = new StreamableHTTPClientTransport(
  new URL("https://buyukesim.com/mcp"),
  { requestInit: { headers: { Authorization: "Bearer ak_live_YOURKEY" } } } // omit for public
);

const client = new Client({ name: "buyukesim-demo", version: "1.0.0" });
await client.connect(transport);

const tools = await client.listTools();
console.log(tools.tools.map((t) => t.name));

const res = await client.callTool({
  name: "search_esim_plans",
  arguments: { country: "GB", limit: 5 },
});
console.log(res.content);

错误处理

协议层面的问题会以标准 JSON-RPC 2.0 错误返回,带有数字代码和消息。你会遇到的有:

代码含义
-32700解析错误 - 请求体不是有效的 JSON。
-32600无效请求 - JSON 不是有效的 JSON-RPC 2.0 请求。
-32601方法未找到 - 未知方法,或不存在的工具名。
-32602无效参数 - 调用工具时缺少参数或参数类型错误。
-32603内部错误 - 我们这边处理调用时出现了问题。

工具层面的失败则不同。一个能运行但无法完成的工具(例如余额不足,或未知的 package_code)不会抛出 JSON-RPC 错误。它会返回一个带 isError: true 的正常工具结果,并在文本内容中给出人类可读的消息,便于助手读取并解释。

已上线 vs 即将推出

坦诚相告:购买已上线(LIVE)。面向旅行/数据 eSIM 的 purchase_esim 确实会花费钱包余额并返回可用的二维码;purchase_uk_number 现在对英国号码(+44)eSIM 做同样的事 - 它从库存购买一个,约 25 美元,并即时返回二维码。get_uk_number_info 工具仍然介绍该产品;真正完成购买的是 purchase_uk_number。

还有一个坦诚的限制:没有任何助手能替你安装 eSIM。安装意味着在你自己的手机上扫描或点按 QR 配置文件。助手可以找到套餐、完成购买并把二维码交给你 - 最后的安装始终由你完成。

常见问题

这是真实的钱吗?

公开工具不涉及资金流动。钱包工具会:create_deposit 用加密货币为真实的预付余额充值,purchase_esim 会真实地花费它。所有只读操作都是免费的。

助手能替我安装 eSIM 吗?

不能。它可以搜索、购买并返回二维码,但安装意味着在你自己的设备上扫描二维码。最后这一步始终由你完成。

真的无需 KYC 吗?

是的。没有账户,也没有身份验证。你创建一个钱包,用加密货币充值,然后花在 eSIM 上。

我的余额安全吗?能提现吗?

余额只能用于购买 eSIM - 绝不可提现为现金或加密货币。它是给 agent 的消费余额,不是可提现的钱包。

英国号码呢?

get_uk_number_info 介绍英国号码(+44)eSIM,而 purchase_uk_number 现在用你的钱包余额从库存购买一个,约 25 美元,并即时返回二维码。它已上线,并像 purchase_esim 一样通过 request_id 实现幂等。

幂等是如何工作的?

给 purchase_esim 传一个稳定的 request_id。如果用相同的 request_id 重试,购买不会重复执行,因此网络重试绝不会重复扣费。

我可以充值哪些币种?

通过 NOWPayments 支持常见币种,如 usdttrc20、btc、eth 和 trx。最低充值 10 美元。省略 coin 会让系统提供选择。

我需要运行任何服务器吗?

不需要。这是一个托管的 HTTP 端点。把 URL 添加到你的客户端即可 - 无需安装或自建。

支持

有疑问、密钥问题,或者某处表现异常?在 Telegram 上联系 @buyukesimbot,我们会帮你。

@buyukesimbot

端点:JSON-RPC 2.0 / HTTP POST(Streamable HTTP),协议版本 2025-06-18。基础 URL https://buyukesim.com/mcp。