{
  "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"
        }
      }
    ]
  }
}
