github Python re-analysis due

malkreide/swiss-environment-mcp

github

MCP server for Swiss environmental data – air quality (NABEL), hydrology, natural hazards (BAFU)

maintainer
malkreide
license
MIT
first seen
2026-06-04
last seen
2026-08-25
releases · 30d
5
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 17 tools
transport stdio · streamable-http · http · sse verified reported listed in the official MCP registry counts 17 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • env_air_limits_check
  • env_bafu_dataset_detail
  • env_bafu_datasets
  • env_flood_warnings
  • env_hazard_overview
  • env_hazard_regions
  • env_hunting_species
  • env_hunting_stats
  • env_hydro_current
  • env_hydro_history
  • env_hydro_stations
  • env_nabel_current
  • env_nabel_stations
  • env_noise_aircraft_at
  • env_noise_aircraft_registers
  • env_noise_limits_check
  • env_wildfire_danger
code evidence vv0.6.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 22

filesystem 5

  • fs (weak) malkreide-swiss-environment-mcp-00a1ee2/scripts/check_version_sync.py :35 from pathlib import Path
  • fs (weak) malkreide-swiss-environment-mcp-00a1ee2/scripts/classify_live_run.py :55 from pathlib import Path
  • fs (weak) malkreide-swiss-environment-mcp-00a1ee2/scripts/tool_snapshot.py :29 from pathlib import Path
  • fs (weak) malkreide-swiss-environment-mcp-00a1ee2/tests/test_classify_live_run.py :21 from pathlib import Path
  • fs (weak) malkreide-swiss-environment-mcp-00a1ee2/tests/test_unit.py :360 with open(os.path.join(os.path.dirname(__file__), "..", "pyproject.toml"), "rb") as fh:

network 9

  • net malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/api_client.py :26 import socket
  • net malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/geoadmin.py :44 import httpx
  • net malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/lindas/client.py :29 import httpx
  • net malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/sparql_client.py :30 import httpx
  • net (weak) malkreide-swiss-environment-mcp-00a1ee2/tests/conftest.py :4 `httpx.AsyncClient`. Unter `pytest-asyncio` mit Standard-Loop-Scope `function`
  • net (weak) malkreide-swiss-environment-mcp-00a1ee2/tests/test_lindas.py :11 import httpx
  • net (weak) malkreide-swiss-environment-mcp-00a1ee2/tests/test_noise.py :16 import httpx
  • net (weak) malkreide-swiss-environment-mcp-00a1ee2/tests/test_retry_policy.py :28 import httpx
  • net (weak) malkreide-swiss-environment-mcp-00a1ee2/tests/test_unit.py :14 import httpx

tool registrations 17

  • env_nabel_stations malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :1026
  • env_nabel_current malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :1094
  • env_air_limits_check malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :1183
  • env_hydro_stations malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :1328
  • env_hydro_current malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :1422
  • env_hydro_history malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :1491
  • env_flood_warnings malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :1563
  • env_hazard_overview malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :1865
  • env_hazard_regions malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :1929
  • env_wildfire_danger malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :1984
  • env_hunting_species malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :2423
  • env_hunting_stats malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :2481
  • env_bafu_datasets malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :2614
  • env_bafu_dataset_detail malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :2724
  • env_noise_aircraft_at malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :2943
  • env_noise_aircraft_registers malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :3076
  • env_noise_limits_check malkreide-swiss-environment-mcp-00a1ee2/src/swiss_environment_mcp/server.py :3196

declared dependencies 12

  • mcp@>=2.0.0,<3
  • httpx@>=0.27.0
  • pydantic@>=2.0.0
  • pydantic-settings@>=2.0.0
  • structlog@>=24.1.0,<27
  • pytest@>=8.0.0
  • pytest-asyncio@>=0.23.0
  • respx@>=0.21.0
  • ruff@>=0.4.0
  • opentelemetry-sdk@>=1.20.0
  • opentelemetry-exporter-otlp-proto-http@>=1.20.0
  • opentelemetry-instrumentation-httpx@>=0.41b0