132 lines
2.8 KiB
JSON
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"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|