io.github.malkreide/wsl-envidat-mcp
PYPI · WSL-ENVIDAT-MCP · SCANNED SEP 20
WSL / EnviDat environmental research datasets via CKAN
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 1 of 33 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability67
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1591 tokens (~159/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management80
- Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the io.github.malkreide/wsl-envidat-mcp server?
io.github.malkreide/wsl-envidat-mcp runs locally as a PyPI package, launched with uvx wsl-envidat-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · wsl-envidat-mcp
claude mcp add malkreide-wsl-envidat-mcp -- uvx wsl-envidat-mcp
{
"mcpServers": {
"malkreide-wsl-envidat-mcp": {
"command": "uvx",
"args": [
"wsl-envidat-mcp"
]
}
}
} {
"servers": {
"malkreide-wsl-envidat-mcp": {
"command": "uvx",
"args": [
"wsl-envidat-mcp"
]
}
}
} codex mcp add malkreide-wsl-envidat-mcp -- uvx wsl-envidat-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"malkreide-wsl-envidat-mcp": {
"type": "local",
"command": [
"uvx",
"wsl-envidat-mcp"
],
"enabled": true
}
}
} openclaw mcp add malkreide-wsl-envidat-mcp --command uvx --arg wsl-envidat-mcp
mcp_servers:
malkreide-wsl-envidat-mcp:
command: "uvx"
args: ["wsl-envidat-mcp"] {
"McpServers": {
"malkreide-wsl-envidat-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"wsl-envidat-mcp"
]
}
}
} assistant mcp add malkreide-wsl-envidat-mcp -t stdio -c uvx -a wsl-envidat-mcp
{
"mcpServers": {
"malkreide-wsl-envidat-mcp": {
"command": "uvx",
"args": [
"wsl-envidat-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +12
- Stability: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Malware scan: unverified → pass ▲ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: excellent → good functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Stability: pass → 0.80 functional
- Package version: 0.2.5 → 0.3.1 functional
- Package version: 0.2.5 → 0.3.0 functional
- 19 Sept 26 +1
- Stability: 0.97 → pass security
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 14 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 12 Sept 26 −3
- Stability: pass → 0.77 functional
- 11 Sept 26 +1
- Stability: 0.97 → pass security
- 9 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/wsl-envidat-mcp@0.3.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 33 packages
| Packages resolved | 33 |
|---|---|
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
wsl_catalog_stats EnviDat Katalog-Übersicht ~106
Gibt eine Übersicht über den EnviDat-Katalog zurück: Domänen, Organisationen, Datenmenge. Nützlich als Einstiegspunkt: zeigt was im Katalog verfügbar ist, welche WSL-Forschungsdomänen besonders viele Datensätze haben, und wie der Katalog strukturiert ist. Returns: CallToolResult: Lesbare Uebersicht im Textkanal, dazu die Zahlen als `structuredContent` nach `CatalogStats`.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| domains | array | – | Naeherungswerte je Domaene. |
| license | string | – | Lizenzlage; die genaue Lizenz steht je Datensatz. |
| organization_count | integer | – | Anzahl Forschungseinheiten. |
| portal | string | – | URL des EnviDat-Portals. |
| provenance | string | – | Herkunftsart: 'live_api' = direkt bei der Quelle abgefragt. |
| retrieved_at | string | – | Abrufzeitpunkt (UTC, ISO 8601). |
| source | string | – | Datenquelle dieses Resultats. |
| top_organizations | array | – | Die sechs groessten Einheiten. |
| total_datasets | integer | – | Datensaetze im Katalog. |
No examples provided.
wsl_get_avalanche_data SLF Lawinen- & Schneedaten ~140
Lawinen- und Schneedaten vom WSL-Institut fuer Schnee- und Lawinenforschung (SLF). Enthält u.a.: - Tödliche Lawinenunfälle in der Schweiz seit 1936/37 - Langjährige Schneemessreihen (Station Stillberg Davos, 2090 m) - Meteorologische Langzeitdaten Hochgebirge - Schneephysik-Forschungsdaten Args: params (SimpleQueryInput): Anzahl Ergebnisse und Format Returns: CallToolResult: Lawinen- und Schneedatensätze des SLF
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| datasets | array | – | Die Treffer. |
| license | string | – | Lizenzlage; die genaue Lizenz steht je Datensatz. |
| provenance | string | – | Herkunftsart: 'live_api' = direkt bei der Quelle abgefragt. |
| retrieved_at | string | – | Abrufzeitpunkt (UTC, ISO 8601). |
| shown | integer | – | Davon in diesem Resultat enthalten. |
| source | string | – | Datenquelle dieses Resultats. |
| suggested_tags | array | – | ARCH-003: verwandte Tags bei leerem Resultat. Im Textkanal stehen sie seit jeher als Prosa; hier stehen sie als Liste. |
| total_found | integer | – | Gesamtzahl der Treffer in der Quelle. |
No examples provided.
wsl_get_dataset EnviDat Datensatz-Details ~168
Gibt vollständige Metadaten und Ressourcen (Download-URLs) eines EnviDat-Datensatzes zurück. <use_case>Detail-Ansicht eines konkreten Datensatzes mit DOI, Lizenz, Autoren, Download-Links und räumlicher Ausdehnung. Folge-Schritt nach wsl_search.</use_case> <important_notes>id_or_slug ist entweder die UUID oder der URL-Slug aus dem Suchergebnis (Feld 'name'). Liefert auch nicht-öffentliche Resource-Metadaten wenn vorhanden.</important_notes> <example>id_or_slug='fatal-avalanche-accidents-in-switzerland-since-1936-37' → vollständige Lawinen-Datenbankbeschreibung mit CSV-Download-Link.</example>
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| authors | – | – | Autorenangabe der Quelle. |
| created | string | – | Erstellt (YYYY-MM-DD). |
| doi | – | – | DOI ohne Praefix, wenn vergeben. |
| license | – | – | Lizenz. |
| modified | string | – | Letzte Aenderung (YYYY-MM-DD). |
| name | – | – | Slug (URL-Name). |
| notes | string | – | Vollstaendige Beschreibung. |
| org | – | – | Titel der Forschungseinheit. |
| provenance | string | – | Herkunftsart: 'live_api' = direkt bei der Quelle abgefragt. |
| publication_year | – | – | Publikationsjahr. |
| resources | array | – | Herunterladbare Dateien. |
| retrieved_at | string | – | Abrufzeitpunkt (UTC, ISO 8601). |
| source | string | – | Datenquelle dieses Resultats. |
| spatial | – | – | Raeumliche Ausdehnung, GeoJSON als String wie von der Quelle geliefert. |
| tags | array | – | Schlagwoerter. |
| title | – | – | Titel. |
| url | string | – | Permalink auf dem EnviDat-Portal. |
No examples provided.
wsl_get_forest_data WSL Walddaten & Forstinventar ~162
Gibt Datensätze zum Schweizer Wald zurück, inkl. Landesforstinventar LFI. Enthält u.a.: - Schweizerisches Landesforstinventar (LFI) – Waldzustand, Vorräte, Biodiversität - Sanasilva-Programm (Waldschadensmonitoring seit 1983) - Langzeitforschungsflächen LWF - Walddynamik und Waldentwicklung seit 1840 - Borkenkäfer-Monitoring - Bodenlösung und Nährstoffhaushalt im Wald Args: params (SimpleQueryInput): Anzahl Ergebnisse und Format Returns: CallToolResult: Walddatensätze der WSL
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| datasets | array | – | Die Treffer. |
| license | string | – | Lizenzlage; die genaue Lizenz steht je Datensatz. |
| provenance | string | – | Herkunftsart: 'live_api' = direkt bei der Quelle abgefragt. |
| retrieved_at | string | – | Abrufzeitpunkt (UTC, ISO 8601). |
| shown | integer | – | Davon in diesem Resultat enthalten. |
| source | string | – | Datenquelle dieses Resultats. |
| suggested_tags | array | – | ARCH-003: verwandte Tags bei leerem Resultat. Im Textkanal stehen sie seit jeher als Prosa; hier stehen sie als Liste. |
| total_found | integer | – | Gesamtzahl der Treffer in der Quelle. |
No examples provided.
wsl_get_naturgefahren_data WSL Naturgefahren-Daten ~165
Gibt Datensätze zu Naturgefahren in der Schweiz zurück. Enthält u.a.: - Tödliche Lawinenunfälle seit 1936/37 - Murgang- und Rutschungsereignisse - Steinschlag- und Felssturzdaten - Schwemmkegel-Morphologie - Sedimenttransport in Gebirgsbächen - Hochwasserereignisse Relevant für: Raumplanung, Schulhausstandort-Bewertungen, Katastrophenschutz, Klimafolgenabschätzung. Args: params (SimpleQueryInput): Anzahl Ergebnisse und Format Returns: CallToolResult: Naturgefahren-Datensätze der WSL
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| datasets | array | – | Die Treffer. |
| license | string | – | Lizenzlage; die genaue Lizenz steht je Datensatz. |
| provenance | string | – | Herkunftsart: 'live_api' = direkt bei der Quelle abgefragt. |
| retrieved_at | string | – | Abrufzeitpunkt (UTC, ISO 8601). |
| shown | integer | – | Davon in diesem Resultat enthalten. |
| source | string | – | Datenquelle dieses Resultats. |
| suggested_tags | array | – | ARCH-003: verwandte Tags bei leerem Resultat. Im Textkanal stehen sie seit jeher als Prosa; hier stehen sie als Liste. |
| total_found | integer | – | Gesamtzahl der Treffer in der Quelle. |
No examples provided.
wsl_get_organization WSL-Forschungseinheit Details ~149
Gibt Details einer WSL-Forschungseinheit inklusive ihrer Datensätze zurück. Liefert Beschreibung, Kontakt und Datensatz-Übersicht einer Organisation. Das SLF (Institut für Schnee- und Lawinenforschung) ist als 'slf' abrufbar. Args: params (GetOrganizationInput): Mit: - name (str): Organisations-Slug (z.B. 'wsl', 'slf') - include_datasets (bool): Datensätze mitausgeben Returns: CallToolResult: Lesbare Details im Textkanal, dazu die Einheit als `structuredContent` nach `OrganizationDetail`.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| datasets | array | – | Datensaetze der Einheit. Der Textkanal zeigt hoechstens zehn; hier steht, was die Quelle geliefert hat. |
| description | string | – | Beschreibung. |
| license | string | – | Lizenzlage; die genaue Lizenz steht je Datensatz. |
| name | – | – | Slug der Einheit. |
| package_count | integer | – | Anzahl Datensaetze insgesamt. |
| provenance | string | – | Herkunftsart: 'live_api' = direkt bei der Quelle abgefragt. |
| retrieved_at | string | – | Abrufzeitpunkt (UTC, ISO 8601). |
| source | string | – | Datenquelle dieses Resultats. |
| title | – | – | Ausgeschriebener Name. |
No examples provided.
wsl_get_recent_datasets Neuste EnviDat Datensätze ~92
Gibt die zuletzt publizierten oder aktualisierten EnviDat-Datensätze zurück. Nützlich für regelmässige Monitoring-Workflows und um neue WSL-Forschungsdaten zu entdecken. Args: params (GetRecentDatasetsInput): Mit limit und response_format Returns: CallToolResult: Zuletzt aktualisierte Datensätze
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| datasets | array | – | Die Treffer. |
| license | string | – | Lizenzlage; die genaue Lizenz steht je Datensatz. |
| provenance | string | – | Herkunftsart: 'live_api' = direkt bei der Quelle abgefragt. |
| retrieved_at | string | – | Abrufzeitpunkt (UTC, ISO 8601). |
| shown | integer | – | Davon in diesem Resultat enthalten. |
| source | string | – | Datenquelle dieses Resultats. |
| suggested_tags | array | – | ARCH-003: verwandte Tags bei leerem Resultat. Im Textkanal stehen sie seit jeher als Prosa; hier stehen sie als Liste. |
| total_found | integer | – | Gesamtzahl der Treffer in der Quelle. |
No examples provided.
wsl_list_organizations WSL-Forschungseinheiten auflisten ~107
Listet alle WSL-Forschungseinheiten und deren Datensatz-Anzahl auf. Gibt einen Überblick über die Forschungsgruppen der WSL, die Daten auf EnviDat publiziert haben. Nützlich zur Identifikation relevanter Organisationen für nachfolgende Abfragen mit wsl_get_organization. Returns: CallToolResult: Lesbare Liste im Textkanal, dazu die Einheiten als `structuredContent` nach `OrganizationListOutput`.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| license | string | – | Lizenzlage; die genaue Lizenz steht je Datensatz. |
| organizations | array | – | Die Einheiten, nach Datensatzzahl absteigend. |
| provenance | string | – | Herkunftsart: 'live_api' = direkt bei der Quelle abgefragt. |
| retrieved_at | string | – | Abrufzeitpunkt (UTC, ISO 8601). |
| source | string | – | Datenquelle dieses Resultats. |
| total | integer | – | Anzahl Forschungseinheiten. |
No examples provided.
wsl_list_tags EnviDat Tags/Schlagwörter auflisten ~133
Listet verfügbare Schlagwörter (Tags) im EnviDat-Katalog auf. Nützlich um herauszufinden, welche Suchbegriffe in wsl_search präzise Ergebnisse liefern. Unterstützt Präfix-Suche. Args: params (ListTagsInput): Mit: - query (str): Optionaler Suchbegriff für Tags - limit (int): Maximale Anzahl Tags Returns: CallToolResult: Lesbare Tag-Liste im Textkanal, dazu die Tags als `structuredContent` nach `TagListOutput`.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| license | string | – | Lizenzlage; die genaue Lizenz steht je Datensatz. |
| provenance | string | – | Herkunftsart: 'live_api' = direkt bei der Quelle abgefragt. |
| query | – | – | Das angefragte Praefix, falls gesetzt. |
| retrieved_at | string | – | Abrufzeitpunkt (UTC, ISO 8601). |
| shown | integer | – | Davon nach `limit` enthalten. |
| source | string | – | Datenquelle dieses Resultats. |
| tags | array | – | Die Schlagwoerter. |
| total | integer | – | Wie viele Tags die Quelle zurueckgab. |
No examples provided.
wsl_search EnviDat Suche ~248
Unifizierte Suche im EnviDat-Katalog der WSL (Eidg. Forschungsanstalt für Wald, Schnee und Landschaft). Kombiniert frei wählbar Stichwort, kuratierte Forschungsdomäne, Organisation und Bounding-Box. <use_case>Schweizer Umweltforschung, Schulhaus-Umgebungsanalysen, Klimafolgen-Recherche, kantonale Umweltberichte, Lawinendaten, Waldzustand, Biodiversität, Naturgefahren.</use_case> <important_notes>Mindestens einer der Filter (query/domain/organization/bbox) muss gesetzt sein. Solr-Syntax ist möglich, 'OR' ist aber Stopwort. Bei leerem Resultat liefert das Tool verwandte Tags als Vorschlag.</important_notes> <example>query='snow avalanche' → SLF-Lawinendaten. domain='wald' → kuratierte LFI-/Sanasilva-Suche. bbox=[8.35,47.15,8.98,47.72] → Kanton Zürich. query='forest', organization='wsl' → WSL-Walddatensätze.</example>
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| datasets | array | – | Die Treffer. |
| license | string | – | Lizenzlage; die genaue Lizenz steht je Datensatz. |
| provenance | string | – | Herkunftsart: 'live_api' = direkt bei der Quelle abgefragt. |
| retrieved_at | string | – | Abrufzeitpunkt (UTC, ISO 8601). |
| shown | integer | – | Davon in diesem Resultat enthalten. |
| source | string | – | Datenquelle dieses Resultats. |
| suggested_tags | array | – | ARCH-003: verwandte Tags bei leerem Resultat. Im Textkanal stehen sie seit jeher als Prosa; hier stehen sie als Liste. |
| total_found | integer | – | Gesamtzahl der Treffer in der Quelle. |
No examples provided.
What is the io.github.malkreide/wsl-envidat-mcp server?
io.github.malkreide/wsl-envidat-mcp is listed in the public MCP registry as io.github.malkreide/wsl-envidat-mcp. WSL / EnviDat environmental research datasets via CKAN. This page covers its PyPI package (wsl-envidat-mcp).
Is the io.github.malkreide/wsl-envidat-mcp server safe to use?
io.github.malkreide/wsl-envidat-mcp scores 79 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.malkreide/wsl-envidat-mcp server expose?
io.github.malkreide/wsl-envidat-mcp exposes 10 tools: wsl_search, wsl_get_dataset, wsl_list_organizations, wsl_get_organization, wsl_list_tags, and 5 more. Their descriptions and schemas cost roughly 1,470 tokens of context every time the server is loaded.
Is the io.github.malkreide/wsl-envidat-mcp server still maintained?
io.github.malkreide/wsl-envidat-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.malkreide/wsl-envidat-mcp server under?
io.github.malkreide/wsl-envidat-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.