zwitchy-store
Travel eSIM catalog: search plans, check availability, and get exact quotes with checkout links.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"zwitchy-store": {
"url": "https://zwitchy.io/api/mcp"
}
}
}원격 엔드포인트
https://zwitchy.io/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (4)
🟢search_plans(destination, region, min_data_bytes, min_duration_days, max_price_cents, ...)
Search the purchasable travel eSIM plan catalog. Filter by destination country, region, minimum data, minimum duration, and maximum price. Returns public plan details (prices in USD cents) sorted cheapest first, with offset pagination via next_offset.
입력 스키마
{
"type": "object",
"properties": {
"destination": {
"description": "Country to cover: ISO-2 code (e.g. 'JP') or English name (e.g. 'Japan').",
"type": "string",
"maxLength": 64
},
"region": {
"description": "Region name filter, e.g. 'Europe' or 'Asia'.",
"type": "string",
"maxLength": 64
},
"min_data_bytes": {
"description": "Minimum total data allowance in bytes (unlimited plans always match).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"min_duration_days": {
"description": "Minimum validity in days.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"max_price_cents": {
"description": "Maximum retail price in USD cents.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"limit": {
"description": "Page size, 1-50 (default 20).",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"offset": {
"description": "Pagination offset from a previous next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 5000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_plan(package_code)
Fetch full public details for a single purchasable plan by its package_code: coverage, data allowance, validity, retail price in USD cents. Errors with plan_not_found for unknown or unsellable codes.
입력 스키마
{
"type": "object",
"properties": {
"package_code": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The plan's package_code from search_plans."
}
},
"required": [
"package_code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢check_availability(package_code, quantity)
Check whether a plan can be fulfilled right now for a given quantity, using the same gate the checkout runs. Returns available true/false; reason 'delisted' means the SKU left the catalog, 'unavailable' means it temporarily cannot be fulfilled.
입력 스키마
{
"type": "object",
"properties": {
"package_code": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The plan's package_code from search_plans."
},
"quantity": {
"description": "Units to buy (default 1, max 10).",
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"package_code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_quote(package_code, quantity, promo_code)
Price an order (package_code, quantity, optional promo code) exactly as checkout would: returns subtotal, discount, and the final total in USD cents, plus the promo status. Purely informational — no order is created.
입력 스키마
{
"type": "object",
"properties": {
"package_code": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"description": "The plan's package_code from search_plans."
},
"quantity": {
"description": "Units to buy (default 1, max 10).",
"type": "integer",
"minimum": 1,
"maximum": 10
},
"promo_code": {
"description": "Optional promo code to apply.",
"type": "string",
"maxLength": 64
}
},
"required": [
"package_code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}커뮤니티
증거