meteoswiss-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Bind address | 127.0.0.1 |
| MCP_PORT | No | Port for HTTP transport | 8000 |
| MCP_API_KEY | No | API key for authentication (requests need X-API-Key or Authorization: Bearer header) | |
| MCP_LOG_LEVEL | No | Log level: DEBUG, INFO, WARNING, ERROR | INFO |
| MCP_TRANSPORT | No | Transport mode: stdio or streamable-http | stdio |
| MCP_CACHE_ENABLED | No | Set to 0 to disable caching | 1 |
| OTEL_SERVICE_NAME | No | OpenTelemetry service name | meteoswiss_mcp |
| MCP_ALLOW_ANY_HOST | No | Set to 1 to allow binding to 0.0.0.0 (required for container/cloud) | |
| MCP_CACHE_TTL_STAC | No | TTL in seconds for STAC SMN observations cache | 300 |
| MCP_STATELESS_HTTP | No | Set to 1 to enable stateless mode (each request opens new session) | 0 |
| MCP_ALLOWED_ORIGINS | No | Comma-separated list of allowed CORS origins (empty = CORS disabled) | |
| MCP_WARNINGS_API_URL | No | URL of structured MeteoSwiss warnings API | |
| MCP_CACHE_TTL_OPENDATA | No | TTL in seconds for opendata.swiss catalog cache | 3600 |
| MCP_CACHE_TTL_WARNINGS | No | TTL in seconds for warnings API cache | 300 |
| MCP_CACHE_TTL_GEOCODING | No | TTL in seconds for geocoding lookups cache | 3600 |
| MCP_CACHE_TTL_OPEN_METEO | No | TTL in seconds for ICON forecasts cache | 600 |
| MCP_CLIMATE_NORMALS_PATH | No | Path to JSON file with additional climate normals | |
| OTEL_EXPORTER_OTLP_ENDPOINT | No | OpenTelemetry OTLP HTTP endpoint | |
| MCP_CLIMATE_NORMALS_URL_TEMPLATE | No | URL template for runtime lookup of climate normals |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| meteo_stationsA | <use_case> Liefert eine Übersicht der SwissMetNet (SMN)-Messstationen, die in diesem Server eingebettet sind. Nützlich, um Stationskürzel für meteo_current oder meteo_climate_normals zu finden. </use_case> <important_notes>
Schul-Tipp: Station REH (Zürich/Affoltern) ist die nächste SMN-Station zum Schulhaus Leutschenbach. Args: params (StationsInput): - canton: Kantonskürzel (z.B. 'ZH') – leer = alle - response_format: 'markdown' oder 'json' Returns: str: Stationsliste mit Kürzel, Name, Kanton, Koordinaten und Höhe. |
| meteo_currentA | <use_case> Aktuelle 10-Minuten-Wettermesswerte einer SwissMetNet-Station abrufen (Temperatur, Niederschlag, Sonnenschein, Wind, Feuchte, Druck). </use_case> <important_notes>
Args: params (CurrentInput): - station: SMN-Kürzel, z.B. 'KLO', 'SMA', 'REH', 'BER' - response_format: 'markdown' oder 'json' Returns: str: Aktuelle Messwerte mit Zeitstempel, oder Fallback mit Direktlinks. |
| meteo_forecastA | <use_case> 1-16 Tage Wetterprognose für einen Ortsnamen oder Koordinaten — basierend auf dem MeteoSwiss-ICON-Modell (1-2 km Auflösung). Liefert Tageswerte (Temperatur Min/Max, Niederschlag, Wind, UV, Sonnenstunden, WMO-Code) und optional Stundenwerte. </use_case> <important_notes>
Args: params (ForecastInput): - location: Ortsname (geokodiert) ODER lat/lon direkt - days: Prognosetage (1–16, Standard: 7) - hourly: True für Stundenwerte - response_format: 'markdown' oder 'json' Returns: str: Tages- (und optional Stunden-)Prognose mit Wettercode und Planung. |
| meteo_school_checkA | <use_case> Aggregiert Geocoding + 7-Tage-Forecast + Schwellenwert-Check zu einer Ampel-Bewertung (🟢/🟡/🔴) für Schulveranstaltungen im Freien. Ein Tool-Call ersetzt die Kombi meteo_forecast + manuelle Bewertung. </use_case> <important_notes> Schwellenwerte:
Args: params (SchoolCheckInput): - location: Ort (geokodiert), z.B. 'Zürich Oerlikon' - date: Optional – spezifischer Tag (YYYY-MM-DD) - activity: Art der Aktivität ('Sporttag', 'Schulreise', etc.) Returns: str: Ampel-Bewertung für die nächsten 7 Tage (oder Einzeltag). |
| meteo_climate_normalsA | <use_case> Monatliche 30-Jahres-Klimanormwerte (Temperatur ∅, Niederschlag, Sonnenstunden) für eine MeteoSwiss-Station. Referenz für «typisches Wetter» — Schuljahresplanung, Veranstaltungs-Budgetierung, Vergleich mit aktuellen Messwerten. </use_case> <important_notes>
Args: params (ClimateNormalsInput): - station: SMN-Kürzel (z.B. 'KLO', 'SMA', 'BER') - response_format: 'markdown' oder 'json' Returns: str: Monatliche Klimanormwerte-Tabelle 1991–2020. |
| meteo_warningsA | <use_case> Aktuelle MeteoSwiss-Wetterwarnungen (Gewitter, Starkregen, Sturm, Schnee, Hitze, Frost, ...) auflisten. Liefert die offizielle Warnkarte
<important_notes>
Args: params (WarningsInput): - canton: Kantonskürzel zum Filtern (z.B. 'ZH') - response_format: 'markdown' oder 'json' Returns: str: Links zu aktuellen MeteoSwiss-Warnungen und Warnkarte. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_stations_resource | Vollständige eingebettete SMN-Stationsliste als JSON-Ressource. |
| get_school_thresholds_resource | Schwellenwerte für die Schuleignungs-Ampel (meteo_school_check). |
| get_wmo_codes_resource | WMO-Wettercodes mit deutschen Beschreibungen. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/malkreide/meteoswiss-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server