BuyUKeSIM MCP Sunucusu
BuyUKeSIM bir MCP (Model Context Protocol) sunucusu çalıştırır; böylece MCP destekleyen her AI asistanı - Claude, ChatGPT, Cursor, VS Code Copilot, Gemini CLI ve diğerleri - eSIM kataloğumuzla doğrudan çalışabilir. Asistanını tek bir adrese yönlendir; plan arayabilir, kapsamayı listeleyebilir, UK Numarayı anlatabilir ve bir siparişi doğal dilde sorgulayabilir.
Genel araçlar anahtar gerektirmez ve para hareketi yapmaz. İkinci, kimlik doğrulamalı araç seti ise prepaid, kripto ile fonlanan bir agent wallet ekler; böylece asistan bir bakiye fonlayıp senin adına bir travel/data eSIM satın alabilir. Hesap yok, KYC yok. Bu sayfa tam referanstır: adresler, istemci başına kurulum, her araç, kimlik doğrulama, çalıştırılabilir örnekler, hata yönetimi ve SSS.
Temel adres
https://buyukesim.com/mcpMCP nedir
Model Context Protocol (MCP), AI asistanlarını dış araçlara ve verilere bağlayan açık bir standarttır. Kopyala-yapıştır ya da tek seferlik bir eklenti yerine, asistan uyumlu her sunucuyla tek bir protokol konuşur ve sunulan araçları keşfeder.
Sunucumuz MCP’yi JSON-RPC 2.0 ile Streamable HTTP üzerinden uygular; protokol sürümü 2025-06-18. Pratikte bu, POST isteklerini kabul eden tek bir HTTPS adresi demektir. Asistan önce initialize, sonra araçları öğrenmek için tools/list, ardından bir aracı çalıştırmak için tools/call çağırır. Bunu neredeyse hiç elle yapmazsın - MCP istemcin senin için halleder.
MCP spesifikasyonunu modelcontextprotocol.io adresinde okuHızlı başlangıç
En hızlı yol Claude Code. Tek komut, sunucuyu genel gezinme araçlarıyla ekler - anahtar yok, yapılandırma dosyası yok:
claude mcp add --transport http buyukesim https://buyukesim.com/mcpBu kadar. Asistanına "UK eSIM planlarını ara" gibi bir şey sor; araçları çağıracaktır. Diğer istemciler için aşağıdaki İstemci kurulumuna bak. Cüzdan araçlarını kullanmak için anahtarını bir Bearer başlığı olarak ekle (bkz. Kimlik doğrulama).
Adresler
Tek bir MCP adresi vardır. İstekler JSON-RPC gövdeleriyle HTTP POST’tur. Düz bir GET geçerli bir MCP isteği değildir ve 405 döner. Kolaylık olsun diye anahtarını doğrudan URL yoluna da gömebilirsin.
| Metot | Adres | Amaç |
|---|---|---|
| POST | https://buyukesim.com/mcp | Ana MCP adresi. Tüm JSON-RPC çağrıları (initialize, tools/list, tools/call) buraya POST olarak gider. |
| GET | https://buyukesim.com/mcp | Geçerli bir MCP isteği değil - 405 Method Not Allowed döner. POST kullan. |
| POST | https://buyukesim.com/mcp/ak_live_YOURKEY | Anahtar-URL biçimi. Aynı adres, ama API anahtarın yolda; böylece başlık gerekmez. |
İstemci kurulumu
Her yerde aynı temel adresi kullan: https://buyukesim.com/mcp. Genel gezinme anahtar gerektirmez. Cüzdan araçları için bir Authorization: Bearer ak_live_YOURKEY başlığı ekle (ya da aşağıdaki diğer yöntemlerden birini kullan). ak_live_YOURKEY yerine create_wallet’tan aldığın anahtarı koy.
# 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 listSettings -> 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).Settings -> Connectors -> Add (Developer mode)
Name: buyukesim
MCP server URL: https://buyukesim.com/mcp
Public browse tools are available immediately.// ~/.cursor/mcp.json
{
"mcpServers": {
"buyukesim": {
"type": "streamableHttp",
"url": "https://buyukesim.com/mcp",
"headers": {
"Authorization": "Bearer ak_live_YOURKEY"
}
}
}
}// .vscode/mcp.json
{
"servers": {
"buyukesim": {
"type": "http",
"url": "https://buyukesim.com/mcp",
"headers": {
"Authorization": "Bearer ak_live_YOURKEY"
}
}
}
}// ~/.gemini/settings.json
{
"mcpServers": {
"buyukesim": {
"httpUrl": "https://buyukesim.com/mcp",
"headers": {
"Authorization": "Bearer ak_live_YOURKEY"
}
}
}
}// 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"Genel araçlar
Dört salt-okunur araç. Anahtar yok, para hareketi yok - her asistana açmak güvenli.
search_esim_planscountry?: string (2-letter ISO), limit?: intBir ülke için travel/data eSIM planlarını bul. Data miktarı, gün cinsinden geçerlilik, USD fiyat ve purchase_esim’e verdiğin package_code döner. country iki harfli ISO kodudur (örneğin GB); limit sonuçları sınırlar.
list_covered_countries(none)Travel eSIM’in kapsadığı her ülke ve bölgeyi başlangıç fiyatıyla listele. Argüman almaz.
get_uk_number_info(none)UK Numara (+44) eSIM’i anlat - doğrulama SMS ve aramaları için gerçek bir İngiliz cep numarası. Argüman almaz.
check_order_statuscode: stringBir siparişi kısa koduyla sorgula. Yalnızca durum döner, asla kişisel veri değil.
Kimlik doğrulamalı cüzdan araçları
Bunlar bir ak_live_ anahtarı gerektirir. Cüzdan prepaid’dir ve kripto ile fonlanır (NOWPayments üzerinden) - hesap yok, KYC yok. Bir anahtar üretmek için bir kez create_wallet çağır, create_deposit ile yükle, sonra purchase_esim ile satın al.
| Araç | Parametreler | Amaç |
|---|---|---|
create_wallet | label?: string -> returns api_key + wallet_code | Yeni bir agent wallet oluştur ve api_key’ini (gizli) ve wallet_code’unu döndür. Kendisi anahtar gerektirmeyen tek cüzdan aracıdır - bir anahtar üretir. api_key’i güvenle sakla. |
check_balance | (none) | Cüzdanın güncel bakiyesini USD olarak döndür. |
create_deposit | amount_usd: number (min 10), coin?: string | Bir kripto yükleme başlat. amount_usd yatırılan tutardır (en az 10). coin isteğe bağlıdır, örneğin usdttrc20, btc, eth veya trx. Bir ödeme adresi/linki döner; yükleme onaylanınca bakiye eklenir. |
list_transactions | (none) | Cüzdan işlem geçmişini listele - yüklemeler ve satın almalar. |
purchase_esim | package_code: string, request_id?: string | Cüzdan bakiyesiyle bir travel/data eSIM satın al. package_code, search_esim_plans’tan gelir. Bu CANLIDIR ve gerçek bakiye harcar. Bir yeniden denemenin asla çift ödeme yapmaması için idempotent kılmak üzere bir request_id geç. eSIM QR kodunu döndürür. |
purchase_uk_number | request_id?: string | Cüzdan bakiyesiyle stoktan yaklaşık 25 USD’ye bir UK Numara (+44) eSIM satın al. Bu CANLIDIR ve QR’ı anında döndürür. Bir yeniden denemenin asla çift ödeme yapmaması için idempotent kılmak üzere bir request_id geç. |
Bakiye yalnızca eSIM’lere harcanabilir - asla nakde ya da kriptoya çekilemez. Bu bilinçlidir: bir borsa değil, bir agent için harcama bakiyesidir.
Kimlik doğrulama
Genel araçlar hiçbir şey gerektirmez. Cüzdan araçları, create_wallet’tan aldığın ak_live_ anahtarını gerektirir. Onu göndermenin üç eşdeğer yolu var - istemcinin desteklediğini seç.
1Authorization header (recommended)
Standart bir Bearer token başlığı gönder. Claude Code (--header), Cursor, VS Code, Gemini CLI ve cURL’de çalışır. Önerilen yöntem budur.
Authorization: Bearer ak_live_YOURKEY2X-API-Key header
Anahtarı bunun yerine bir X-API-Key başlığında gönder. Özel başlıkları açan ama Bearer’ı açmayan istemciler için kullanışlıdır.
X-API-Key: ak_live_YOURKEY3Key in the URL path
Anahtarı doğrudan URL yoluna koy. Yalnızca URL kabul eden, başlık kabul etmeyen istemciler için pratiktir. Anahtar içinde olduğundan bu URL’yi gizli tut.
https://buyukesim.com/mcp/ak_live_YOURKEYÖrnekler
Tam akış için kopyala-yapıştır cURL. Accept başlığına dikkat: Streamable HTTP üzerinden MCP, Accept: application/json, text/event-stream gerektirir. Her id, senin seçtiğin bir istek tanımlayıcısıdır.
1. Oturumu başlat (el sıkışma).
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. Mevcut araçları listele.
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. UK (GB) planlarını ara, genel - anahtar yok.
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. Bir cüzdan oluştur ve bir anahtar al.
# 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-48215. Bakiye sorgula (Bearer kimlik doğrulama).
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. Bir kripto yükleme başlat.
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. Bir eSIM satın al (canlı, idempotent).
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. Bir UK +44 numarası satın al (canlı, idempotent).
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, resmi mcp istemcisi ve Streamable HTTP taşıması ile:
# 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, resmi @modelcontextprotocol/sdk ile:
// 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);Hata yönetimi
Protokol düzeyindeki sorunlar, sayısal bir kod ve mesajla standart JSON-RPC 2.0 hataları olarak döner. Göreceğin başlıcaları:
| Kod | Anlam |
|---|---|
-32700 | Ayrıştırma hatası - istek gövdesi geçerli JSON değildi. |
-32600 | Geçersiz istek - JSON, geçerli bir JSON-RPC 2.0 isteği değil. |
-32601 | Yöntem bulunamadı - bilinmeyen yöntem ya da var olmayan bir araç adı. |
-32602 | Geçersiz parametre - bir araç eksik ya da yanlış tipte argümanla çağrıldı. |
-32603 | Dahili hata - çağrıyı işlerken bizim tarafta bir şey başarısız oldu. |
Araç düzeyindeki hatalar farklıdır. Çalışan ama tamamlanamayan bir araç (örneğin yetersiz bakiye ya da bilinmeyen bir package_code) JSON-RPC hatası fırlatmaz. isError: true ile ve metin içeriğinde insan-okunur bir mesajla normal bir araç sonucu döner; böylece asistanın okuyup açıklayabilir.
Canlı olan vs yakında
Sana dürüst olalım: satın alma CANLI. travel/data eSIM için purchase_esim gerçekten cüzdan bakiyesi harcar ve çalışan bir QR kodu döndürür; purchase_uk_number ise artık UK Numara (+44) eSIM için aynısını yapar - stoktan yaklaşık 25 USD’ye bir tane satın alır ve QR’ı anında döndürür. get_uk_number_info aracı yine ürünü anlatır; asıl satın alanı purchase_uk_number’dır.
Bir dürüst sınır daha: hiçbir asistan eSIM’i senin için kuramaz. Kurulum, QR profilini kendi telefonunda tarayıp dokunmak demektir. Asistan planı bulabilir, satın alabilir ve QR’ı sana verebilir - son kurulum her zaman senindir.
SSS
Bu gerçek para mı?
Genel araçlar para hareketi yapmaz. Cüzdan araçları yapar: create_deposit gerçek bir prepaid bakiyeyi kripto ile fonlar ve purchase_esim onu gerçekten harcar. Salt-okunur olan her şey ücretsizdir.
Asistan eSIM’i benim için kurabilir mi?
Hayır. Arayabilir, satın alabilir ve QR kodunu döndürebilir, ama kurulum QR’ı kendi cihazında taramak demektir. O son adım her zaman senindir.
Gerçekten KYC yok mu?
Evet. Hesap yok, kimlik kontrolü yok. Bir cüzdan oluşturur, kripto ile fonlar ve eSIM’lere harcarsın.
Bakiyem güvende mi? Çekebilir miyim?
Bakiye yalnızca eSIM’lere harcanabilir - asla nakde ya da kriptoya çekilemez. Bu, nakde çevirdiğin bir cüzdan değil, bir agent için harcama bakiyesidir.
UK numaraları ne olacak?
get_uk_number_info, UK Numara (+44) eSIM’i anlatır; purchase_uk_number ise artık cüzdan bakiyenle stoktan yaklaşık 25 USD’ye bir tane satın alır ve QR’ı anında döndürür. Tıpkı purchase_esim gibi canlıdır ve request_id ile idempotenttir.
İdempotency nasıl çalışır?
purchase_esim’e sabit bir request_id geç. Aynı request_id yeniden denenirse satın alma tekrarlanmaz; böylece bir ağ yeniden denemesi asla çift ödeme yapmaz.
Hangi coinleri yükleyebilirim?
NOWPayments üzerinden usdttrc20, btc, eth ve trx gibi yaygın olanlar. En az yükleme 10 USD. Seçenek sunulması için coin’i boş bırak.
Bir sunucu çalıştırmam gerekiyor mu?
Hayır. Barındırılan bir HTTP adresidir. URL’yi istemcine ekle, bitti - kuracak ya da kendin barındıracak bir şey yok.
Destek
Sorular, bir anahtar sorunu ya da beklendiği gibi çalışmayan bir şey mi var? Telegram’dan @buyukesimbot’a yaz, yardımcı olalım.
@buyukesimbotAdres: JSON-RPC 2.0 / HTTP POST (Streamable HTTP), protokol sürümü 2025-06-18. Temel URL https://buyukesim.com/mcp.
