Files
crank/examples/mcp-smoke/graphql-countries.operation.json
T
2026-04-05 22:40:52 +03:00

132 lines
2.8 KiB
JSON

{
"name": "country_lookup_countries",
"display_name": "Lookup Country",
"category": "geo",
"protocol": "graphql",
"target": {
"kind": "graphql",
"endpoint": "https://countries.trevorblades.com/",
"operation_type": "query",
"operation_name": "GetCountry",
"query_template": "query GetCountry($code: ID!) { country(code: $code) { code name capital emoji currency languages { code name } } }",
"response_path": "$.response.body.data.country"
},
"input_schema": {
"type": "object",
"required": true,
"fields": {
"code": {
"type": "string",
"required": true
}
}
},
"output_schema": {
"type": "object",
"required": true,
"fields": {
"code": {
"type": "string",
"required": true
},
"name": {
"type": "string",
"required": true
},
"capital": {
"type": "string",
"required": false
},
"emoji": {
"type": "string",
"required": true
},
"currency": {
"type": "string",
"required": false
},
"languages": {
"type": "array",
"required": true,
"items": {
"type": "object",
"required": true,
"fields": {
"code": {
"type": "string",
"required": true
},
"name": {
"type": "string",
"required": true
}
}
}
}
}
},
"input_mapping": {
"rules": [
{
"source": "$.mcp.code",
"target": "$.request.variables.code",
"required": true
}
]
},
"output_mapping": {
"rules": [
{
"source": "$.response.data.code",
"target": "$.output.code",
"required": true
},
{
"source": "$.response.data.name",
"target": "$.output.name",
"required": true
},
{
"source": "$.response.data.capital",
"target": "$.output.capital",
"required": false
},
{
"source": "$.response.data.emoji",
"target": "$.output.emoji",
"required": true
},
{
"source": "$.response.data.currency",
"target": "$.output.currency",
"required": false
},
{
"source": "$.response.data.languages",
"target": "$.output.languages",
"required": true
}
]
},
"execution_config": {
"timeout_ms": 10000,
"headers": {}
},
"tool_description": {
"title": "Lookup Country",
"description": "Fetch country metadata from the public Countries GraphQL API.",
"tags": [
"graphql",
"geo",
"smoke"
],
"examples": [
{
"input": {
"code": "BR"
}
}
]
}
}