{
  "id": "lookup.ip",
  "object": "tool",
  "name": "IP lookup",
  "summary": "Location, network and privacy flags.",
  "description": "Looks up IP addresses with ipinfo: city, region, country, coordinates, timezone, ASN and organisation, plus VPN, proxy, Tor and hosting flags when the plan includes them. Up to 100 at once.",
  "category": "lookup",
  "hosted_by": "ipinfo",
  "runtime": "partner",
  "side_effects": false,
  "status": "live",
  "credits": 3,
  "price": "$0.0030",
  "providers": [
    {
      "id": "ipinfo",
      "name": "IPinfo",
      "price": "$0.0030"
    }
  ],
  "mcp_name": "lookup_ip",
  "input_schema": {
    "type": "object",
    "properties": {
      "ips": {
        "minItems": 1,
        "maxItems": 100,
        "type": "array",
        "items": {
          "anyOf": [
            {
              "type": "string",
              "format": "ipv4",
              "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"
            },
            {
              "type": "string",
              "format": "ipv6",
              "pattern": "^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"
            }
          ]
        },
        "description": "IPv4 or IPv6 addresses"
      }
    },
    "required": [
      "ips"
    ]
  },
  "kind": "tool"
}