{"openapi":"3.0.3","info":{"title":"Gnist Context — Open-Meteo (Weather)","description":"Current weather, forecasts, historical data, and severe weather alerts.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/open-meteo/`\n- **Toolkit page:** `/toolkits/open-meteo`\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/open-meteo/geocode_location":{"post":{"tags":["Environment"],"summary":"geocode_location","description":"Search for a city or place name and return matching coordinates.\n\nUse this tool first to convert a place name into latitude/longitude\ncoordinates, then pass those coordinates to the weather, air quality,\nor marine forecast tools.\n\nReturns matching locations with name, coordinates, country, population,\nand timezone.","operationId":"open_meteo_geocode_location","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":{"name":{"description":"City or place name to search for (e.g. \"Oslo\", \"New York\", \"Tokyo\").","type":"string"},"count":{"default":5,"description":"Maximum number of results to return (1-100). Default 5.","type":"integer"},"language":{"default":"en","description":"Response language as ISO 639-1 code (e.g. 'en', 'de', 'fr'). Default 'en'.","type":"string"}},"required":["name"],"type":"object"}}}}}},"/rest/open-meteo/get_current_weather":{"post":{"tags":["Environment"],"summary":"get_current_weather","description":"Get current weather conditions at a location.\n\nReturns current temperature, humidity, wind, precipitation, and description.\nWeather descriptions follow the WMO Weather Interpretation Code standard.","operationId":"open_meteo_get_current_weather","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":{"lat":{"description":"Latitude of the location (-90 to 90).","type":"number"},"lon":{"description":"Longitude of the location (-180 to 180).","type":"number"},"units":{"default":"metric","description":"Unit system: \"metric\" (C, m/s, mm) or \"imperial\" (F, mph, inch).","type":"string"}},"required":["lat","lon"],"type":"object"}}}}}},"/rest/open-meteo/get_weather_forecast":{"post":{"tags":["Environment"],"summary":"get_weather_forecast","description":"Get hourly weather forecast for a location.\n\nReturns hourly forecast entries with temperature, precipitation probability,\nwind, and weather description for each hour. Up to 7 days (168 hours).","operationId":"open_meteo_get_weather_forecast","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":{"lat":{"description":"Latitude of the location (-90 to 90).","type":"number"},"lon":{"description":"Longitude of the location (-180 to 180).","type":"number"},"hours":{"default":24,"description":"Number of hours to forecast (1-168, default 24).","type":"integer"},"units":{"default":"metric","description":"Unit system: \"metric\" (C, m/s, mm) or \"imperial\" (F, mph, inch).","type":"string"}},"required":["lat","lon"],"type":"object"}}}}}},"/rest/open-meteo/get_alerts":{"post":{"tags":["Environment"],"summary":"get_alerts","description":"Get active severe weather alerts for a location.\n\nCurrently covers the United States via the National Weather Service (NWS) API.\nReturns an empty list for non-US coordinates.","operationId":"open_meteo_get_alerts","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":{"lat":{"description":"Latitude of the location (-90 to 90).","type":"number"},"lon":{"description":"Longitude of the location (-180 to 180).","type":"number"}},"required":["lat","lon"],"type":"object"}}}}}},"/rest/open-meteo/get_historical_weather":{"post":{"tags":["Environment"],"summary":"get_historical_weather","description":"Get historical weather data for a location and date range.\n\nDraws from the ERA5 climate reanalysis archive, covering 1940-01-01 to\napproximately 5 days before the current date. Returns daily summaries\nwith max/min/mean temperature, precipitation, and wind speed.","operationId":"open_meteo_get_historical_weather","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":{"lat":{"description":"Latitude of the location (-90 to 90).","type":"number"},"lon":{"description":"Longitude of the location (-180 to 180).","type":"number"},"start_date":{"description":"Start of the date range, format YYYY-MM-DD (earliest: 1940-01-01).","type":"string"},"end_date":{"description":"End of the date range, format YYYY-MM-DD (latest: ~5 days ago).","type":"string"},"units":{"default":"metric","description":"Unit system: \"metric\" (C, m/s, mm) or \"imperial\" (F, mph, inch).","type":"string"}},"required":["lat","lon","start_date","end_date"],"type":"object"}}}}}},"/rest/open-meteo/get_air_quality":{"post":{"tags":["Environment"],"summary":"get_air_quality","description":"Get air quality forecast for a location.\n\nReturns hourly air quality data including European AQI, US AQI, PM2.5,\nPM10, carbon monoxide, nitrogen dioxide, sulphur dioxide, and ozone.\n\nAQI scales:\n- European AQI: 0-20 Good, 20-40 Fair, 40-60 Moderate, 60-80 Poor, 80-100 Very Poor, 100+ Extremely Poor\n- US AQI: 0-50 Good, 51-100 Moderate, 101-150 Unhealthy (sensitive), 151-200 Unhealthy, 201-300 Very Unhealthy","operationId":"open_meteo_get_air_quality","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":{"lat":{"description":"Latitude of the location (-90 to 90).","type":"number"},"lon":{"description":"Longitude of the location (-180 to 180).","type":"number"},"hours":{"default":24,"description":"Number of hours to forecast (1-120, default 24).","type":"integer"}},"required":["lat","lon"],"type":"object"}}}}}},"/rest/open-meteo/get_marine_forecast":{"post":{"tags":["Environment"],"summary":"get_marine_forecast","description":"Get marine/ocean forecast for a coastal location.\n\nReturns hourly wave data including total wave height, direction, and period,\nas well as separate wind-wave and swell components. Best for coastal and\noffshore locations; inland locations may return null values.","operationId":"open_meteo_get_marine_forecast","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":{"lat":{"description":"Latitude of the coastal location (-90 to 90).","type":"number"},"lon":{"description":"Longitude of the coastal location (-180 to 180).","type":"number"},"hours":{"default":24,"description":"Number of hours to forecast (1-168, default 24).","type":"integer"}},"required":["lat","lon"],"type":"object"}}}}}},"/rest/open-meteo/report_feedback":{"post":{"tags":["Environment"],"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":"open_meteo_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":"Environment","description":"Data sources: Environment"}],"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."}}}}