Environment
Data source: Open-Meteo, NWS
MCP Protocol
Endpoint
https://context.gnist.ai/mcp/open-meteo/
claude_desktop_config.json
{
"mcpServers": {
"gnist-open-meteo": {
"url": "https://context.gnist.ai/mcp/open-meteo/",
"headers": {
"Gnist-API-Key": "YOUR_API_KEY"
}
}
}
}
Shell
curl -X POST "https://context.gnist.ai/mcp/open-meteo/" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "geocode_location", "arguments": {"name": "example"}}}'
REST API
API Root
https://context.gnist.ai/rest/open-meteo/
8 endpoints available:
GET /rest/open-meteo/geocode_locationGET /rest/open-meteo/get_current_weatherGET /rest/open-meteo/get_weather_forecastGET /rest/open-meteo/get_alertsGET /rest/open-meteo/get_historical_weatherGET /rest/open-meteo/get_air_qualityGET /rest/open-meteo/get_marine_forecastGET /rest/open-meteo/report_feedback
Shell
curl "https://context.gnist.ai/rest/open-meteo/geocode_location?name=example" \ -H "Gnist-API-Key: YOUR_API_KEY"
Python
import httpx
resp = httpx.get(
"https://context.gnist.ai/rest/open-meteo/geocode_location",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
params={
"name": "example"
},
)
print(resp.json())
Command Line
Command
gc open-meteo
CLI documentation will be available when the GnistAI SDK is published.
Install
pip install gnistai
Available Tools (8)
geocode_locationSearch for a city or place name and return matching coordinates.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | required | City or place name to search for (e.g. "Oslo", "New York", "Tokyo"). |
count | integer | optional | Maximum number of results to return (1-100). Default 5. (default: 5) |
language | string | optional | Response language as ISO 639-1 code (e.g. 'en', 'de', 'fr'). Default 'en'. (default: "en") |
get_current_weatherGet current weather conditions at a location.
| Parameter | Type | Required | Description |
|---|---|---|---|
lat | number | required | Latitude of the location (-90 to 90). |
lon | number | required | Longitude of the location (-180 to 180). |
units | string | optional | Unit system: "metric" (C, m/s, mm) or "imperial" (F, mph, inch). (default: "metric") |
get_weather_forecastGet hourly weather forecast for a location.
| Parameter | Type | Required | Description |
|---|---|---|---|
lat | number | required | Latitude of the location (-90 to 90). |
lon | number | required | Longitude of the location (-180 to 180). |
hours | integer | optional | Number of hours to forecast (1-168, default 24). (default: 24) |
units | string | optional | Unit system: "metric" (C, m/s, mm) or "imperial" (F, mph, inch). (default: "metric") |
get_alertsGet active severe weather alerts for a location.
| Parameter | Type | Required | Description |
|---|---|---|---|
lat | number | required | Latitude of the location (-90 to 90). |
lon | number | required | Longitude of the location (-180 to 180). |
get_historical_weatherGet historical weather data for a location and date range.
| Parameter | Type | Required | Description |
|---|---|---|---|
lat | number | required | Latitude of the location (-90 to 90). |
lon | number | required | Longitude of the location (-180 to 180). |
start_date | string | required | Start of the date range, format YYYY-MM-DD (earliest: 1940-01-01). |
end_date | string | required | End of the date range, format YYYY-MM-DD (latest: ~5 days ago). |
units | string | optional | Unit system: "metric" (C, m/s, mm) or "imperial" (F, mph, inch). (default: "metric") |
get_air_qualityGet air quality forecast for a location.
| Parameter | Type | Required | Description |
|---|---|---|---|
lat | number | required | Latitude of the location (-90 to 90). |
lon | number | required | Longitude of the location (-180 to 180). |
hours | integer | optional | Number of hours to forecast (1-120, default 24). (default: 24) |
get_marine_forecastGet marine/ocean forecast for a coastal location.
| Parameter | Type | Required | Description |
|---|---|---|---|
lat | number | required | Latitude of the coastal location (-90 to 90). |
lon | number | required | Longitude of the coastal location (-180 to 180). |
hours | integer | optional | Number of hours to forecast (1-168, default 24). (default: 24) |
report_feedbackReport a bug, feature request, or general feedback for this data source.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |