{"openapi":"3.0.3","info":{"title":"Gnist Context — GeoNames","description":"Geographical database — place names, coordinates, populations, and administrative divisions.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/geonames/`\n- **Toolkit page:** `/toolkits/geonames`\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/geonames/search_cities":{"post":{"tags":["Geography"],"summary":"search_cities","description":"Search for cities by name.\n\nArgs:\n    query: City name or partial name to search for.\n    country_code: Optional ISO-3166 country code to restrict the search (e.g. 'NO', 'US').\n    limit: Maximum number of results (default 10).\n\nReturns:\n    Dictionary with 'data' list of matching cities, each with name, country_code,\n    latitude, longitude, population, timezone, and geonameid.","operationId":"geonames_search_cities","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":{"query":{"type":"string"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"limit":{"default":10,"type":"integer"}},"required":["query"],"type":"object"}}}}}},"/rest/geonames/get_city":{"post":{"tags":["Geography"],"summary":"get_city","description":"Get a city by its GeoNames ID.\n\nArgs:\n    geonameid: The GeoNames ID of the city.\n\nReturns:\n    Dictionary with city details, or an error if not found.","operationId":"geonames_get_city","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":{"geonameid":{"type":"integer"}},"required":["geonameid"],"type":"object"}}}}}},"/rest/geonames/get_countries":{"post":{"tags":["Geography"],"summary":"get_countries","description":"List all countries.\n\nReturns:\n    Dictionary with 'data' list of all countries, each with iso_code, country_name,\n    capital, population, continent, currency_code, and languages.","operationId":"geonames_get_countries","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":[]}]}},"/rest/geonames/get_country":{"post":{"tags":["Geography"],"summary":"get_country","description":"Get a country by its ISO-3166 code.\n\nArgs:\n    iso_code: Two-letter ISO-3166 country code (e.g. 'NO', 'US', 'DE').\n\nReturns:\n    Dictionary with country details, or an error if not found.","operationId":"geonames_get_country","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":{"iso_code":{"type":"string"}},"required":["iso_code"],"type":"object"}}}}}},"/rest/geonames/search_timezones":{"post":{"tags":["Geography"],"summary":"search_timezones","description":"Search for timezones by ID or filter by country.\n\nArgs:\n    query: Optional partial timezone ID to search for (e.g. 'Europe').\n    country_code: Optional ISO-3166 country code to filter by (e.g. 'NO').\n    limit: Maximum number of results (default 10).\n\nReturns:\n    Dictionary with 'data' list of matching timezones, each with timezone_id,\n    country_code, gmt_offset_jan, dst_offset_jul, and raw_offset.","operationId":"geonames_search_timezones","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":false,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"query":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"limit":{"default":10,"type":"integer"}},"type":"object"}}}}}},"/rest/geonames/get_timezone":{"post":{"tags":["Geography"],"summary":"get_timezone","description":"Get a timezone by its IANA timezone ID.\n\nArgs:\n    timezone_id: IANA timezone ID (e.g. 'Europe/Oslo', 'America/New_York').\n\nReturns:\n    Dictionary with timezone details, or an error if not found.","operationId":"geonames_get_timezone","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":{"timezone_id":{"type":"string"}},"required":["timezone_id"],"type":"object"}}}}}},"/rest/geonames/report_feedback":{"post":{"tags":["Geography"],"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":"geonames_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":"Geography","description":"Data sources: Geography"}],"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."}}}}