{"openapi":"3.0.3","info":{"title":"Gnist Context — IP Geolocation","description":"IP address geolocation — country, city, coordinates, ISP, and timezone from any IP.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/ip-geolocation/`\n- **Toolkit page:** `/toolkits/ip-geolocation`\n- **Full API spec:** `/api/openapi.json`\n- **Get an API key:** `/signup`","version":"1.0.0","contact":{"name":"GnistAI","url":"https://gnist.ai"}},"servers":[{"url":"https://context.gnist.ai","description":"Production"}],"paths":{"/rest/ip-geolocation/geolocate_ip":{"post":{"tags":["Utilities"],"summary":"geolocate_ip","description":"Look up the geographic location of an IP address.\n\nReturns country, region, city, coordinates, timezone, ISP, and organization.\n\nArgs:\n    ip: IPv4 or IPv6 address to look up (e.g. \"8.8.8.8\", \"2001:4860:4860::8888\").","operationId":"ip_geolocation_geolocate_ip","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"ip":{"type":"string"}},"required":["ip"],"type":"object"}}}}}},"/rest/ip-geolocation/geolocate_ip_batch":{"post":{"tags":["Utilities"],"summary":"geolocate_ip_batch","description":"Look up geographic locations for multiple IP addresses at once.\n\nMore efficient than individual lookups when you have several IPs.\nMaximum 100 IPs per request.\n\nArgs:\n    ips: Comma-separated IP addresses (e.g. \"8.8.8.8,1.1.1.1,208.67.222.222\").","operationId":"ip_geolocation_geolocate_ip_batch","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"ips":{"type":"string"}},"required":["ips"],"type":"object"}}}}}},"/rest/ip-geolocation/report_feedback":{"post":{"tags":["Utilities"],"summary":"report_feedback","description":"Report a bug, feature request, or general feedback for this data source.\n\nUse this when something doesn't work as expected, when you'd like\na new feature, or when you have suggestions for improvement.\n\nArgs:\n    feedback: Describe the issue or suggestion.\n    feedback_type: One of 'bug', 'feature_request', or 'general'.","operationId":"ip_geolocation_report_feedback","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"feedback":{"type":"string"},"feedback_type":{"default":"general","type":"string"}},"required":["feedback"],"type":"object"}}}}}}},"tags":[{"name":"Utilities","description":"Data sources: Utilities"}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"gnist-api-key","description":"API key passed via request header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"gnist_api_key","description":"API key passed via query parameter."}}}}