```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 unkn