Weather
Weather from Open-Meteo with GeoNames place resolve (no LLM, no geocoding tool). Tools: now, forecast (profiles), hourly, ERA5 history, air quality/pollen, marine waves/SST for seas and wind for lakes, multi-place compare, heuristic flags. Successful data tools cost 1 credit; weather_status is free. Attribution: Open-Meteo, CC BY 4.0.
Service id: weather
Version: 0.1.0
Status: available
Canonical payloads: https://mcp.glc-rag.hu/guide/weather/payload · markdown · docs://weather/payload
Authentication
MCP endpoint: https://mcp.glc-rag.hu/mcp (streamable HTTP)
Agents (recommended): self-register with account_type=agent to get an
auto-approved token — see https://mcp.glc-rag.hu/guide/agent.
Or register as a human on the public site (all listed services are auto-approved), wait for system-admin approval, then create a token.
Authorization: Bearer mcp_...
Cursor mcp.json example:
{
"mcpServers": {
"weather": {
"url": "https://mcp.glc-rag.hu/mcp",
"headers": {
"Authorization": "Bearer mcp_YOUR_TOKEN"
}
}
}
}
Tools
weather_status
Weather service health, cache stats, and Open-Meteo quota usage.
Input schema:
{
"type": "object",
"properties": {},
"additionalProperties": false
}
Examples:
{}
weather_now — Current conditions
Current weather at a place (GeoNames resolve). Temperature, wind, precipitation, WMO text (hu+en). 1 credit.
Input schema:
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "City, lake, IATA, or country name (GeoNames)"
},
"geoname_id": {
"type": "integer"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"country_code": {
"type": "string",
"description": "ISO2 filter for name resolve"
},
"language": {
"type": "string",
"enum": [
"hu",
"en"
],
"default": "hu",
"description": "Preferred weather_text language; both hu and en are always returned"
}
},
"additionalProperties": false
}
Examples:
{
"place": "Budapest"
}
{
"place": "BUD"
}
{
"geoname_id": 3054643
}
weather_forecast — Daily forecast
1–16 day forecast (default 7). Profiles add fields (travel/agro/solar/winter). Optional compact hourly (max 48). 1 credit.
Input schema:
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "City, lake, IATA, or country name (GeoNames)"
},
"geoname_id": {
"type": "integer"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"country_code": {
"type": "string",
"description": "ISO2 filter for name resolve"
},
"language": {
"type": "string",
"enum": [
"hu",
"en"
],
"default": "hu",
"description": "Preferred weather_text language; both hu and en are always returned"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 16,
"default": 7
},
"profile": {
"type": "string",
"enum": [
"default",
"travel",
"agro",
"solar",
"winter"
],
"default": "default"
},
"include_hourly": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}
Examples:
{
"place": "Szeged",
"days": 7
}
{
"place": "Wien",
"profile": "travel"
}
weather_hourly — Hourly forecast
Next 6–48 hours (default 24) of compact weather. 1 credit.
Input schema:
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "City, lake, IATA, or country name (GeoNames)"
},
"geoname_id": {
"type": "integer"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"country_code": {
"type": "string",
"description": "ISO2 filter for name resolve"
},
"language": {
"type": "string",
"enum": [
"hu",
"en"
],
"default": "hu",
"description": "Preferred weather_text language; both hu and en are always returned"
},
"hours": {
"type": "integer",
"minimum": 6,
"maximum": 48,
"default": 24
}
},
"additionalProperties": false
}
Examples:
{
"place": "Debrecen",
"hours": 12
}
weather_history — ERA5 archive
Historical weather 1940–present. start_date+end_date, max 31 days. 1 credit.
Input schema:
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "City, lake, IATA, or country name (GeoNames)"
},
"geoname_id": {
"type": "integer"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"country_code": {
"type": "string",
"description": "ISO2 filter for name resolve"
},
"language": {
"type": "string",
"enum": [
"hu",
"en"
],
"default": "hu",
"description": "Preferred weather_text language; both hu and en are always returned"
},
"start_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"end_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"hourly": {
"type": "boolean",
"default": false
}
},
"required": [
"start_date",
"end_date"
],
"additionalProperties": false
}
Examples:
{
"place": "Debrecen",
"start_date": "2020-03-15",
"end_date": "2020-03-16"
}
weather_air — Air quality and pollen
European/US AQI, PM2.5/PM10, O3, NO2, grass/birch/alder pollen, UV. 1 credit.
Input schema:
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "City, lake, IATA, or country name (GeoNames)"
},
"geoname_id": {
"type": "integer"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"country_code": {
"type": "string",
"description": "ISO2 filter for name resolve"
},
"forecast_days": {
"type": "integer",
"minimum": 1,
"maximum": 7,
"default": 5
}
},
"additionalProperties": false
}
Examples:
{
"place": "Budapest"
}
weather_marine — Waves and water
Marine/lake conditions. Seas (Adriatic): waves + SST. Lakes (Balaton): wind; waves/SST only if ocean grid ≤25 km. Inland cities without a nearby lake/coast error (no Adriatic for Budapest). 1 credit.
Input schema:
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "City, lake, IATA, or country name (GeoNames)"
},
"geoname_id": {
"type": "integer"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"country_code": {
"type": "string",
"description": "ISO2 filter for name resolve"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 7,
"default": 3
},
"include_hourly": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}
Examples:
{
"place": "Adria"
}
{
"place": "Balaton"
}
{
"place": "Split"
}
weather_compare — Compare places or dates
Compare 2–5 places (forecast) OR two dates at one place (history). Still 1 credit.
Input schema:
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "City, lake, IATA, or country name (GeoNames)"
},
"geoname_id": {
"type": "integer"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"country_code": {
"type": "string",
"description": "ISO2 filter for name resolve"
},
"places": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 5
},
"dates": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 2,
"description": "Two YYYY-MM-DD dates at the same place"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 7,
"default": 3
},
"language": {
"type": "string",
"enum": [
"hu",
"en"
],
"default": "hu",
"description": "Preferred weather_text language; both hu and en are always returned"
}
},
"additionalProperties": false
}
Examples:
{
"places": [
"Budapest",
"Wien"
]
}
{
"place": "Budapest",
"dates": [
"2024-06-01",
"2025-06-01"
]
}
weather_flags — Heuristic weather flags
Derived flags (frost, heat, heavy_rain, thunderstorm, high_wind, high_uv, poor_air, high_pollen; marine: high_wave, strong_onshore_wind). Not official warnings. 1 credit.
Input schema:
{
"type": "object",
"properties": {
"place": {
"type": "string",
"description": "City, lake, IATA, or country name (GeoNames)"
},
"geoname_id": {
"type": "integer"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"country_code": {
"type": "string",
"description": "ISO2 filter for name resolve"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 7,
"default": 3
}
},
"additionalProperties": false
}
Examples:
{
"place": "Budapest"
}
Usage notes
Pass place (Budapest, Balaton, BUD, HU), geoname_id, or latitude+longitude. Do not pick a weather model — best_match is used. For lakes, weather_marine returns wind even when wave/SST is unavailable (ocean grid too far). Flags are not official warnings. Compare either 2–5 places or two dates at one location (still 1 credit).
Errors / limits
Unresolved place or missing water body → {error, is_error} (0 credits). Open-Meteo 429/5xx or daily quota → is_error (0 credits). Lake without a nearby marine cell → success with wave_available=false (1 credit).
Agent discovery
- Agent registration:
https://mcp.glc-rag.hu/guide/agent - Markdown:
https://mcp.glc-rag.hu/guide/weather.md - Index:
https://mcp.glc-rag.hu/llms.txt - MCP resource:
docs://weather