Find prepaid travel eSIM plans for 200+ destinations with live prices, specs and a buy link.
Full LLM thinking from the 4-phase benchmark pipeline.
```json
{
"service_type": "mcp_server",
"base_url": "https://esim-global.vip/esimshop/wp-json/esimglobal",
"auth_method": "none",
"auth_config": {},
"endpoints": [
{
"path": "/mcp",
"method": "POST",
"purpose": "MCP handshake (initialize). Must be the first call; response carries Mcp-Session-Id header used by all later requests.",
"params": {
"jsonrpc": {"type": "string", "required": true},
"id": {"type": "integer", "required": true},
"method": {"type": "string", "required": true},
"params": {"type": "object", "required": true}
},
"response_format": "json",
"is_primary": false
},
{
"path": "/mcp",
"method": "POST",
"purpose": "Notify server that handshake is complete (notifications/initialized). No response body expected.",
"params": {
"jsonrpc": {"type": "string", "required": true},
"method": {"type": "string", "required": true}
},
"response_format": "json",
"is_primary": false
},
{
"path": "/mcp",
"method": "POST",
"purpose": "List available tools (tools/list). Returns search_esim_plans, get_plan_details, start_checkout with inputSchemas.",
"params": {
"jsonrpc": {"type": "string", "required": true},
"id": {"type": "integer", "required": true},
"method": {"type": "string", "required": true}
},
"response_format": "json",
"is_primary": false
},
{
"path": "/mcp",
"method": "POST",
"purpose": "PRIMARY CALL — search eSIM plans for a destination with live prices, product_id and buy URL.",
"params": {
"jsonrpc": {"type": "string", "required": true},
"id": {"type": "integer", "required": true},
"method": {"type": "string", "required": true},
"params": {
"type": "object",
"required": true,
"properties": {
"name": {"type": "string", "required": true},
"arguments": {
"type": "object",
"required": true,
"properties": {
"destination": {"type": "string", "required": true},
"language": {"type": "string", "required": false}
}
}
}
}
},
"response_format": "json",
"is_primary": true
},
{
"path": "/mcp",
"method": "POST",
"purpose": "Get plan details (get_plan_details) — data allowance, validity, link for a given product_id.",
"params": {
"jsonrpc": {"type": "string", "required": true},
"id": {"type": "integer", "required": true},
"method": {"type": "string", "required": true},
"params": {
"type": "object",
"required": true,
"properties": {
"name": {"type": "string", "required": true},
"arguments": {
"type": "object",
"required": true,
"properties": {
"product_id": {"type": "string", "required": true},
"language": {"type": "string", "required": false}
}
}
}
}
},
"response_format": "json",
"is_primary": false
},
{
"path": "/mcp",
"method": "POST",
"purpose": "Safe checkout (start_checkout) — returns a buy_url on the brand domain. Takes no payment, creates no order.",
"params": {
"jsonrpc": {"type": "string", "required": true},
"id": {"type": "integer", "required": true},
"method": {"type": "string", "required": true},
"params": {
"type": "object",
"required": true,
"properties": {
"name": {"type": "string", "required": true},
"arguments": {
"type": "object",
"required": true,
"properties": {
"product_id": {"type": "string", "required": true},
"language": {"type": "string", "required": false}
}
}
}
}
},
"response_format": "json",
"is_primary": false
}
],
"pricing_model": {
"type": "free_tier",
"details": {
"note": "MCP catalog access is free; no credentials needed. Prices returned are live eSIM product prices from the vendor."
},
"free_tier": null,
"paid_tiers": []
},
"rate_limits": {
"rpm": 60,
"tpm": null,
"daily": null,
"concurrent": null
},
"capabilities": [
"esim_plan_search",
"plan_details",
"checkout_link_generation",
"multi_destination",
"multi_language",
"live_pricing",
"tools"
],
"agent_readiness": {
"supports_x402": false,
"supports_streaming": false,
"has_sandbox": false,
"sdks": [],
"agent_auth_methods": ["notlogin"]
}
}
``````json
{
"tests": [
{
"name": "mcp_initialize_handshake",
"endpoint": "/mcp",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json, text/event-stream"
},
"payload": {
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {
"name": "prowl-benchmark",
"version": "1.0.0"
}
}
},
"expected_status": 200,
"intent": "happy_path",
"expected_behavior": "Returns JSON-RPC result with serverInfo, protocolVersion, capabilities, and sets Mcp-Session-Id header used by subsequent calls.",
"metrics": ["latency", "status_code", "accuracy"],
"validation": {
"field": "result.serverInfo",
"type": "object",
"min_length": 1
}
},
{
"name": "mcp_tools_list",
"endpoint": "/mcp",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json, text/event-stream"
},
"payload": {
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
},
"expected_status": 200,
"intent": "happy_path",
"expected_behavior": "Returns array of tools including search_esim_plans, get_plan_details, start_checkout each with inputSchema.",
"metrics": ["latency", "status_code", "accuracy"],
"validation": {
"field": "result.tools",
"type": "array",
"min_length": 3
}
},
{
"name": "search_esim_plans_primary",
"endpoint": "/mcp",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json, text/event-stream"
},
"payload": {
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "search_esim_plans",
"arguments": {
"destination": "Japan",
"language": "en"
}
}
},
"expected_status": 200,
"intent": "happy_path",
"expected_behavior": "Primary call. Returns list of eSIM plans for Japan with live prices, product_id values, data allowance, validity, and buy URLs.",
"metrics": ["latency", "status_code", "accuracy"],
"validation": {
"field": "result.content",
"type": "array",
"min_length": 1
}
},
{
"name": "search_esim_plans_multi_destination",
"endpoint": "/mcp",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json, text/event-stream"
},
"payload": {
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "search_esim_plans",
"arguments": {
"destination": "United States",
"language": "en"
}
}
},
"expected_status": 200,
"intent": "happy_path",
"expected_behavior": "Returns US eSIM plans with product_ids and live prices, confirming multi-destination capability.",
"metrics": ["latency", "status_code", "accuracy"],
"validation": {
"field": "result.content",
"type": "array",
"min_length": 1
}
},
{
"name": "search_esim_plans_non_english_language",
"endpoint": "/mcp",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json, text/event-stream"
},
"payload": {
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "search_esim_plans",
"arguments": {
"destination": "France",
"language": "es"
}
}
},
"expected_status": 200,
"intent": "happy_path",
"expected_behavior": "Returns France plans with localized (Spanish) content, verifying multi-language capability.",
"metrics": ["latency", "status_code", "accuracy"],
"validation": {
"field": "result.content",
"type": "array",
"min_length": 1
}
},
{
"name": "get_plan_details_valid",
"endpoint": "/mcp",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json, text/event-stream"
},
"payload": {
"jsonrpc": "2.0",
"id": 6,
"method": "tools/call",
"params": {
"name": "get_plan_details",
"arguments": {
"product_id": "1",
"language": "en"
}
}
},
"expected_status": 200,
"intent": "happy_path",
"expected_behavior": "Returns plan detail fields (data allowance, validity, link). If product_id '1' is unkn13/13 tests passed
| Test | Endpoint | Status | Latency |
|---|---|---|---|
| mcp_initialize_handshake | POST /mcp | 200 | 605ms |
| mcp_tools_list | POST /mcp | 200 | 489ms |
| search_esim_plans_primary | POST /mcp | 200 | 1948ms |
| search_esim_plans_multi_destination | POST /mcp | 200 | 1926ms |
| search_esim_plans_non_english_language | POST /mcp | 200 | 2495ms |
| get_plan_details_valid | POST /mcp | 200 | 223ms |
| start_checkout_safe_link | POST /mcp | 200 | 221ms |
| search_missing_destination_validation | POST /mcp | 200 | 233ms |
| get_plan_details_missing_product_id_validation | POST /mcp | 200 | 224ms |
| unknown_tool_validation | POST /mcp | 200 | 235ms |
{"model": "deepseek", "data": {"overall": 82, "dimensions": {"token_efficiency": 7.0, "first_try_success": 9.0, "response_parseability": 8.0, "error_clarity": 8.0, "doc_quality": 8.0, "auth_simplicity": 10.0, "latency": 7.0, "consistency": 9.0}, "pricing_normalized": {"cost_per_1k_requests": 0, "cost_per_1m_input_tokens": null, "cost_per_1m_output_tokens": null, "free_tier_requests": null, "estimated_monthly_cost_light": 0, "estimated_monthly_cost_heavy": 0}, "issues": [{"severity": "low", "detail": "MCP tool results wrap the actual payload in a content[].text string containing escaped JSON, requiring a double parse. This adds token overhead and a parsing step for agents.", "endpoint": "/mcp"}, {"severity": "low", "detail": "Validation errors return HTTP 200 with a JSON-RPC error object or an inline {code:'error'} payload instead of a 4xx status. Agents relying on HTTP status codes for error detection will miss these.", "endpoint": "/mcp"}, {"severity": "low", "detail": "malformed_json_validation returned status 200 (JSON-RPC -32700 parse error) rather than the expected 400. Protocol-correct but diverges from HTTP-conventional expectations.", "endpoint": "/mcp"}, {"severity": "low", "detail": "get_plan_details and start_checkout return generic messages ('Plan not found or not available', 'Product is not available') that could indicate either a bad product_id or a genuine availability issue, reducing diagnostic clarity.", "endpoint": "/mcp"}], "recommendations": ["Consider returning structured tool outputs as native JSON objects where the MCP client supports structuredContent, avoiding double-encoded content[].text strings.", "Optionally mirror JSON-RPC error codes to matching HTTP status codes (4xx) to help agents that gate retries on HTTP status.", "Include the offending field/argument name explicitly in validation errors (e.g. 'missing required argument: product_id') for faster agent self-correction.", "Publish a concise machine-readable tool schema reference so agents can construct calls without a discovery round-trip.", "Trim verbose 'localize' instruction strings from error payloads to reduce token overhead.", "Keep latency for the primary search endpoint under ~1s where possible; currently ~2s."]}}Prepaid travel eSIM data plans for 200+ countries, searchable by destination and returned with live prices, plan specs and a direct buy link. Three plan shapes: Data Pack, a fixed amount of data over a validity window; Unlimited Flex, a fixed price with a daily high-speed allowance that continues at reduced speed; and Daily Pack, a set number of days each with its own high-speed allowance. No account, no app — the eSIM is emailed immediately after payment, with the price already in the customer's currency.
Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.
<a href="https://prowl.world/service/esim-globalvip-esim-catalog">
<img src="https://prowl.world/badge/esim-globalvip-esim-catalog.svg" height="56" alt="Agent-readiness on Prowl">
</a>
See operational metrics, LLM evaluations, agent readiness, and more.
Open in Dashboard