プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。Google でログインするとレビューを書けます。プロトタイプ · 30分ごとに更新
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Swiss Environment MCP

作者:malkreideバージョン 0.7.0i★ 1iパソコンで動く
レジストリ名io.github.malkreide/swiss-environment-mcp

インストール方法

What it does

BAFU environmental data, NABEL air quality, hydrology

  • Connects パソコンで動く
  • Account or key No key needed
  • Category その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

チェック 3/3 合格 · あなたのパソコンで動きます · ✓ コマンド確認済み 2026年11月13日

まず:どの AI を使っていますか?

使っているアプリを選ぶと、下に手順が表示されます。

Claude につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. パソコン版 Claude アプリの設定ファイルを開く

    SettingsDeveloperEdit Config

  3. この設定を貼り付けて保存

    {
      "mcpServers": {
        "swiss-environment": {
          "command": "uvx",
          "args": [
            "swiss-environment-mcp"
          ]
        }
      }
    }
  4. Claude を終了してもう一度開く

  5. 試してみる

    Swiss Environment MCP を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude が Swiss Environment MCP を使っていると言うか、回答に Swiss Environment MCP のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

ChatGPT はまだ Swiss Environment MCP につなげません

Swiss Environment MCP はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません

代わりにできること

A · Swiss Environment MCP につなげるアプリを使う

  • 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
  • 先にパソコンへ Python (uv) を入れてください(1 回だけ)
  • 先にパソコンへ Python (uv) を入れてください(1 回だけ)
  • 先にパソコンへ Python (uv) を入れてください(1 回だけ)

B · その他 の中で ChatGPT につなげる別のサーバー

同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました

Claude Code につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. ターミナルを開く

    Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く

  3. このコマンドを貼り付けて Enter

    claude mcp add --scope user swiss-environment -- uvx swiss-environment-mcp
  4. Claude Code で /mcp と入力

    Swiss Environment MCP が一覧にあり、接続済みと表示されれば OK です

  5. 試してみる

    Swiss Environment MCP を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude Code が Swiss Environment MCP を使っていると言うか、回答に Swiss Environment MCP のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Cursor につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. このボタンで Cursor を開く

    Cursor で開く

    Cursor がインストールの確認をするので Install を押します

  3. Cursor の AI チャットを Agent モードで開く

  4. 試してみる

    Swiss Environment MCP を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Cursor が Swiss Environment MCP を使っていると言うか、回答に Swiss Environment MCP のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

VS Code につなげますが、先に準備が必要です

先にパソコンへ Python (uv) を入れてください(1 回だけ)

  1. Python (uv) を入れる

    1 回だけ。Python (uv) が必要なすべてのサーバーで使えます

    Python (uv) のダウンロードページを開く ↗

  2. このボタンで VS Code を開く

    VS Code で開く

    VS Code がインストールの確認をするので Install を押します

  3. VS Code の AI チャットを Agent モードで開く

  4. 試してみる

    Swiss Environment MCP を使って、私に何ができるか教えて、1 つやってみせて

    ✓ VS Code が Swiss Environment MCP を使っていると言うか、回答に Swiss Environment MCP のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください

MCP を使えるアプリをすべて見る →

JSON 設定は下の「開発者向け」にあります

つまずいたら?Swiss Environment MCP を使っている人に聞いてみましょう💬 ディスカッション →
開発者向け:ターミナルのコマンドと JSON 設定

パソコンにインストール

Claude Code

claude mcp add --scope user swiss-environment -- uvx swiss-environment-mcp

Claude Desktop (claude_desktop_config.json)

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

Cursor (~/.cursor/mcp.json)

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

VS Code (mcp.json)

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

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

ひと目でわかる

週あたりのダウンロードi
35/週
接続方法
パソコンで動く
最新バージョンi
0.7.0
カテゴリi
その他
レジストリ公開日i
2026年9月20日
コードの最終更新i
2026年11月2日
作者
malkreide
パッケージ
pypi: swiss-environment-mcp
ウェブサイト
github.com
レジストリでの状態
有効

使えるアプリ

このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。

パソコン上で動かせるアプリ

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

すべてのアプリと長所・短所 →

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月13日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント malkreide で確認済みです

  • ✓ 合格

    今もメンテナンスされている

    コードの最終更新:11 日前

  • ✓ 合格

    ライセンスがある

    MITを使用

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

話し合い

質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。

まだ投稿はありません。最初の質問や共有をどうぞ。

ここの投稿は利用者によるもので、PopNx チームのものではありません。

Google でログインして投稿

ユーザーレビュー

まだレビューはありません

Google でログインしてレビューを書く

その他のほかのサーバーとの比較i

  • このカテゴリのほかの19675件のうち86%よりスターが多い
  • このカテゴリのほかの19675件のうち44%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの19675件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Swiss Environment MCPは安全ですか?

当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は11 日前、最新バージョン(0.7.0)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:World Monitor, Claude Flow, Windmill

同じカテゴリのほかの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.

作者:koala73広く使われている★ 9.1万今日更新

クラウドで動く✓ 提供元 · worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

作者:ruvnet広く使われている↓ 1.4万/週★ 8.2万14 か月前更新

パソコンで動く

Windmill

Run Windmill scripts and flows and manage jobs, schedules, resources and variables.

作者:windmill-labs広く使われている★ 1.9万昨日更新

クラウドで動く

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

🇨🇭 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

冒頭だけを表示しています。続きはリポジトリで読めます