MCP server for WSL/EnviDat environmental research data — forest, avalanches, biodiversity, Switzerland
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http
verified
reported
listed in the official MCP registry counts 8 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
wsl_catalog_stats
-
wsl_get_avalanche_data
-
wsl_get_forest_data
-
wsl_get_naturgefahren_data
-
wsl_get_organization
-
wsl_get_recent_datasets
-
wsl_list_organizations
-
wsl_list_tags
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 5184c79 · analyzer v33 · 1w ago
danger signals1
- suspicious endpoint 169.254.169.254 (cloud metadata) malkreide-wsl-envidat-mcp-5184c79/tests/test_unit_security.py :46
"http://169.254.169.254/latest/meta-data/",
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 16
filesystem 11
- fs (weak) malkreide-wsl-envidat-mcp-5184c79/scripts/check_version_sync.py :35
from pathlib import Path - fs (weak) malkreide-wsl-envidat-mcp-5184c79/scripts/classify_live_run.py :55
from pathlib import Path - fs (weak) malkreide-wsl-envidat-mcp-5184c79/scripts/record_fixtures.py :27
from pathlib import Path - fs (weak) malkreide-wsl-envidat-mcp-5184c79/tests/conftest.py :10
from pathlib import Path - fs (weak) malkreide-wsl-envidat-mcp-5184c79/tests/fixture_data.py :15
from pathlib import Path - fs (weak) malkreide-wsl-envidat-mcp-5184c79/tests/test_20_szenarien.py :18
from pathlib import Path - fs (weak) malkreide-wsl-envidat-mcp-5184c79/tests/test_classify_live_run.py :21
from pathlib import Path - fs (weak) malkreide-wsl-envidat-mcp-5184c79/tests/test_integration.py :15
from pathlib import Path - fs (weak) malkreide-wsl-envidat-mcp-5184c79/tests/test_response_shape.py :20
from pathlib import Path - fs (weak) malkreide-wsl-envidat-mcp-5184c79/tests/test_unit_security.py :14
from pathlib import Path - fs (weak) malkreide-wsl-envidat-mcp-5184c79/tests/test_unit_tools.py :13
from pathlib import Path
network 6
- net (weak) malkreide-wsl-envidat-mcp-5184c79/scripts/record_fixtures.py :30
import httpx - net malkreide-wsl-envidat-mcp-5184c79/src/wsl_envidat_mcp/api_client.py :13
from urllib.parse import urlparse - net (weak) malkreide-wsl-envidat-mcp-5184c79/tests/conftest.py :13
import httpx - net (weak) malkreide-wsl-envidat-mcp-5184c79/tests/test_response_shape.py :23
import httpx - net (weak) malkreide-wsl-envidat-mcp-5184c79/tests/test_unit_security.py :16
import httpx - net (weak) malkreide-wsl-envidat-mcp-5184c79/tests/test_unit_tools.py :16
import httpx
tool registrations 8
- wsl_list_organizations malkreide-wsl-envidat-mcp-5184c79/src/wsl_envidat_mcp/server.py :560
- wsl_get_organization malkreide-wsl-envidat-mcp-5184c79/src/wsl_envidat_mcp/server.py :609
- wsl_list_tags malkreide-wsl-envidat-mcp-5184c79/src/wsl_envidat_mcp/server.py :669
- wsl_get_recent_datasets malkreide-wsl-envidat-mcp-5184c79/src/wsl_envidat_mcp/server.py :708
- wsl_get_avalanche_data malkreide-wsl-envidat-mcp-5184c79/src/wsl_envidat_mcp/server.py :748
- wsl_get_forest_data malkreide-wsl-envidat-mcp-5184c79/src/wsl_envidat_mcp/server.py :798
- wsl_get_naturgefahren_data malkreide-wsl-envidat-mcp-5184c79/src/wsl_envidat_mcp/server.py :846
- wsl_catalog_stats malkreide-wsl-envidat-mcp-5184c79/src/wsl_envidat_mcp/server.py :897
declared dependencies 8
- mcp@>=2.0.0,<3
- httpx@>=0.27.0
- pydantic@>=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