Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Swiss Environment MCP

von malkreideVersion 0.7.0i★ –iLäuft auf deinem Computer
Name in der Registryio.github.malkreide/swiss-environment-mcp

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

BAFU environmental data, NABEL air quality, hydrology

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Sonstiges

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
  • Die Registry nennt keinen Schlüssel zum Eintragen.

Du brauchst

  • PyPIuv für Python installiert (für den Befehl uvx)

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "swiss-environment": {
      "command": "uvx",
      "args": [
        "swiss-environment-mcp"
      ]
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add swiss-environment -- uvx swiss-environment-mcp

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "swiss-environment": {
      "command": "uvx",
      "args": [
        "swiss-environment-mcp"
      ]
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "swiss-environment": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "swiss-environment-mcp"
      ]
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 9. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto malkreide bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Im Vergleich mit anderen in Sonstigesi

  • Mehr Sterne als 0 % der anderen 18677 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 48 % der anderen 18677 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 18677 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Swiss Environment MCP sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.7.0) kam vor 2 Monaten in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Agilitycms MCP

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

von formulahendryAm Anfang↓ 66/Wo.★ 440Aktualisiert vor 14 Monaten

Läuft auf deinem Computer

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

von desktop-commanderWachsend★ 211Aktualisiert vor 4 Tagen

Läuft in der Cloud✓ desktopcommander.app

Agilitycms MCP

An MCP server that provides access to Agility CMS. See https://mcp.agilitycms.com for more details.

von agilityAm AnfangAktualisiert heute

Läuft in der Cloud✓ agilitycms.com

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

🇨🇭 Part of the [Swiss Public Data MCP Portfolio](https://github.com/malkreide)

🌿 swiss-environment-mcp

MCP server connecting AI models to Swiss environmental data from BAFU – air quality, hydrology, natural hazards, wildfire danger and open environmental datasets.

🇩🇪 Deutsche Version


Overview

swiss-environment-mcp gives AI assistants like Claude direct access to real-time environmental data from Swiss federal authorities – no API keys required. Air quality readings from the national NABEL monitoring network, hydrological gauging stations, natural hazard bulletins, and the full BAFU dataset catalogue are all accessible through a single standardised MCP interface.

The server covers four thematic clusters: air quality (NABEL), hydrology, natural hazards, and the BAFU open data catalogue. Each cluster maps to a group of purpose-built tools that translate raw agency data into clean JSON responses.

Anchor demo query: *"What is the current air quality at the NABEL station Zürich-Kaserne – and does it comply with WHO 2021 guidelines?"* → More use cases by audience →


Features

  • 🌬️ Air quality monitoring – 16 NABEL stations, NO₂/O₃/PM10/PM2.5/SO₂/CO, Swiss LRV + WHO 2021 limit checks
  • 💧 Hydrology – water levels, flow rates, temperatures across Swiss gauging stations
  • 🚨 Flood warnings – active alerts filtered by danger level and canton
  • 🏔️ Natural hazard bulletin – SLF/BAFU bulletin in DE/FR/IT/EN, region-specific warnings
  • 🔥 Wildfire danger – canton- and region-level fire danger index
  • ❄️ Snow & avalanches (SLF) – snow depth, new snow per IMIS station; avalanche danger levels (EAWS)
  • 🦌 Hunting statistics – cull & game-loss figures per species, canton and year (federal hunting statistics)
  • 📦 BAFU open data catalogue – search and retrieve environmental datasets via CKAN
  • 🔑 No authentication required – all data sources are publicly accessible
  • ☁️ Dual transport – stdio for Claude Desktop, Streamable HTTP/SSE for cloud deployment

Prerequisites

  • Python 3.11+
  • No API keys needed – all endpoints are publicly accessible without authentication

Installation

# Clone the repository

git clone https://github.com/malkreide/swiss-environment-mcp.git cd swiss-environment-mcp

Install

pip install -e .

Or with uvx (no permanent installation):

uvx swiss-environment-mcp

Or via pip:

pip install swiss-environment-mcp

Quickstart

# Start the server (stdio mode for Claude Desktop)

swiss-environment-mcp

Try it immediately in Claude Desktop:

*"What is the current air quality at NABEL station Zürich-Kaserne?"*

*"Are there any active flood warnings in Switzerland right now?"*

*"What is the wildfire danger level in Canton Valais?"*


Configuration

Claude Desktop

Minimal (recommended):

{

"mcpServers": { "swiss-environment": { "command": "uvx", "args": ["swiss-environment-mcp"], "env": {} } } }

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

After saving, restart Claude Desktop completely.

Cloud Deployment (SSE for browser access)

For use via claude.ai in the browser (e.g. on managed workstations without local software):

Render.com (recommended):

  1. Push/fork the repository to GitHub
  2. On render.com: New Web Service → connect GitHub repo
  3. Render detects render.yaml automatically
  4. In claude.ai under Settings → MCP Servers, add: https://your-app.onrender.com/sse

Docker:

docker build -t swiss-environment-mcp .

docker run -p 8000:8000 swiss-environment-mcp

💡 *"stdio for the developer laptop, SSE for the browser."*


Available Tools

All tools share the stable env_ name prefix — a deliberate namespace choice so that the server's tools are recognisable and unlikely to collide when several MCP servers are mounted together. Tool definitions (name, description, input schema) are pinned via tool-snapshot.json; changes require a CHANGELOG entry (see CONTRIBUTING).

Tool budget (21 tools, 7 clusters) — exhausted. Every tool maps to a distinct user question, not to a REST endpoint — there is no CRUD/endpoint mirroring, and the anchor queries are each answerable in a single call. The count sits above the ≤12 rule of thumb because the server deliberately spans seven environmental domains (air, water, hazards, snow, hunting, catalogue, aircraft noise), each needing a list/detail pair or a domain-specific action. Further consolidation was considered and rejected: the *_stations/*_current pairs (NABEL, hydro, snow) serve genuinely different intents (discovery vs. reading a known station) and collapsing them would overload a single tool's parameters.

This is the ceiling. With the aircraft-noise cluster the server's tool budget is spent: any further data source belongs in a separate *-mcp server, not here. The next addition would instead trigger a review of whether some listings should migrate to MCP resources rather than tools.

🌬️ Air Quality / NABEL (3 tools)
ToolDescriptionData Source
env_nabel_stationsList all 16 NABEL monitoring stations with location type and cantonNABEL / BAFU
env_nabel_currentCurrent air quality data for a station (NO₂, O₃, PM10, PM2.5, SO₂, CO)NABEL / BAFU
env_air_limits_checkCompare a measurement against Swiss LRV limits and WHO 2021 guidelinesBuilt-in
💧 Hydrology (5 tools)
ToolDescriptionData Source
env_hydro_stationsFilter hydrological gauging stations by water body (canton filter unavailable — see notes)LINDAS SPARQL
env_hydro_currentCurrent water level, flow rate and temperature at a stationLINDAS SPARQL
env_hydro_historyLatest LINDAS value plus the access path for real time series ⚠️LINDAS SPARQL
env_flood_warningsActive flood warnings filtered by danger level (nationwide — canton filter not applied)LINDAS SPARQL
env_bathing_waterBathing water quality (E.coli, enterococci) per bathing site — multi-year time seriesLINDAS SPARQL (data cube ubd0104)
🏔️ Natural Hazards (3 tools)
ToolDescriptionData Source
env_hazard_overviewRouter: points to the dedicated live hazard tools + official portals (no network call — the aggregate naturgefahren.ch API was discontinued)local
env_hazard_regionsRouter: maps a hazard type (flood/avalanche/wildfire/snow) to the right live tool + portal (no network call)local
env_wildfire_dangerWildfire danger index by canton and regionwaldbrandgefahr.ch
❄️ Snow & Avalanches / SLF (3 tools)
ToolDescriptionData Source
env_snow_stationsList automatic SLF/IMIS snow measurement stations (by canton)measurement-api.slf.ch
env_snow_currentCurrent snow depth (HS) and 24 h new snow (HN_1D) per station, in cmmeasurement-api.slf.ch
env_avalanche_bulletinAvalanche danger levels (EAWS 1–5) per warning region, seasonalaws.slf.ch
🦌 Hunting & Wildlife (2 tools)
ToolDescriptionData Source
env_hunting_speciesList the 36 species tracked by the federal hunting statistics (with codes)jagdstatistik.ch (embedded)
env_hunting_statsCull / game-loss / population figures per species, canton and year (2015–2024)jagdstatistik.ch
📊 Environmental Data Catalogue (2 tools)
ToolDescriptionData Source
env_bafu_datasetsSearch BAFU datasets on opendata.swiss (CKAN API)opendata.swiss
env_bafu_dataset_detailFull metadata and download URLs for a specific datasetopendata.swiss
✈️ Aircraft Noise / BAZL noise cadastre (3 tools)
ToolDescriptionData Source
env_noise_aircraft_atAircraft noise exposure at an LV95 point — resolves the overlapping noise contours and returns a dB bracket with the highest value as an upper boundapi3.geo.admin.ch (BAZL)
env_noise_aircraft_registersWhich airfields have a published cadastre, with validity dates, dB range and the official plan (PDF) — the provenance toolapi3.geo.admin.ch (BAZL)
env_noise_limits_checkCompare a rating level against the LSV exposure limit values (planning value / immission limit / alarm value) by sensitivity level ES I–IVBuilt-in (SR 814.41, Annex 5)

⚖️ Legal notice — carried in every response of these three tools. The noise

cadastre is an *orientation aid*. Legally binding information on construction

projects is issued by the competent cantonal office or by the FOCA (BAZL).

These tools do not replace a building permit clarification.

Coordinates must be LV95 (EPSG:2056, metres: E ≈ 2'480'000–2'840'000, N ≈ 1'070'000–1'300'000). WGS84 degrees such as 8.54 / 47.37 are rejected fail-fast with a conversion hint — this is the single most common LLM error with Swiss geodata. Convert via swisstopo REFRAME or convert_coordinates in swisstopo-mcp.

The contours are lines, not areas. The cadastre publishes MultiLineString isolines, so identify performs a *proximity* query within a search radius — not a point-in-polygon test. env_noise_aircraft_at therefore returns a bracket («the point lies between the 61 dB and the 62 dB contour») with the highest value as a stated upper bound, never an interpolated point value. The search radius is reported in every response; enlarging it inflates the result (at one Kloten point: 100 m → 61–62 dB, but 500 m → 58–75 dB, because the 75 dB runway contour sits 1.5 km away).

Anchor demo query

**"Is the planned school site inside an aircraft-noise zone with building

restrictions — and at which dB level?"**

Cross-server flow: resolve an address or EGID via swiss-housing-mcp → convert to an LV95 coordinate → env_noise_aircraft_at(east=…, north=…, period="day") → feed the resulting level_db into env_noise_limits_check(level_db=…, sensitivity_level="II", period="day") for the legal classification.

swiss-housing-mcp  →  address / EGID  →  LV95 E/N

↓ env_noise_aircraft_at → 62 dB (upper bound, LBK Zürich, valid from 03.07.2015) ↓ env_noise_limits_check → immission limit ES II (60 dB) exceeded by 2 dB

Example Use Cases
QueryTool
*"Air quality at Zürich-Kaserne right now?"*env_nabel_current
*"Does 45 µg/m³ NO₂ exceed the Swiss limit?"*env_air_limits_check
*"Current water level of the Limmat in Zurich?"*env_hydro_current

| *"Is the water quality at Strandbad Küsnacht

Nur der Anfang wird gezeigt; den Rest findest du im Repo

PopNx fragen