io.github.malkreide/swiss-culture-mcp
PYPI · SWISS-CULTURE-MCP · SCANNED SEP 20
BAK cultural heritage, ISOS, living traditions, RSS
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 Security50
- Malware scan not yet available for this package.Unverified
- 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
- 2 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 Usability79
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2136 tokens (~164/item across 13 items; 10 tools + 3 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 Management77
- Stability observed for 23 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 12 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/swiss-culture-mcp server?
io.github.malkreide/swiss-culture-mcp runs locally as a PyPI package, launched with uvx swiss-culture-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 · swiss-culture-mcp
claude mcp add malkreide-swiss-culture-mcp -- uvx swiss-culture-mcp
{
"mcpServers": {
"malkreide-swiss-culture-mcp": {
"command": "uvx",
"args": [
"swiss-culture-mcp"
]
}
}
} {
"servers": {
"malkreide-swiss-culture-mcp": {
"command": "uvx",
"args": [
"swiss-culture-mcp"
]
}
}
} codex mcp add malkreide-swiss-culture-mcp -- uvx swiss-culture-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"malkreide-swiss-culture-mcp": {
"type": "local",
"command": [
"uvx",
"swiss-culture-mcp"
],
"enabled": true
}
}
} openclaw mcp add malkreide-swiss-culture-mcp --command uvx --arg swiss-culture-mcp
mcp_servers:
malkreide-swiss-culture-mcp:
command: "uvx"
args: ["swiss-culture-mcp"] {
"McpServers": {
"malkreide-swiss-culture-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"swiss-culture-mcp"
]
}
}
} assistant mcp add malkreide-swiss-culture-mcp -t stdio -c uvx -a swiss-culture-mcp
{
"mcpServers": {
"malkreide-swiss-culture-mcp": {
"command": "uvx",
"args": [
"swiss-culture-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 −19
- Malware scan: pass → unverified ▼ security
- Stability: pass → 0.77 functional
- 19 Sept 26 +16
- Stability: 0.97 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Malware scan: unverified → pass ▲ security
- Stability: 0.97 → pass security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Package version: 1.1.4 → 1.2.0 functional
- 17 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- 15 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 14 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 13 Sept 26 −3
- Stability: pass → 0.80 functional
- 12 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- Stability: 0.97 → pass security
- 11 Sept 26 −15
- Malware scan: pass → unverified ▼ security
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/swiss-culture-mcp@1.2.0
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 |
|---|---|
| Stale | 1 |
| 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 →
bak_get_isos_detail ~190
Ruft vollständige Details eines ISOS-Ortsbildes anhand der Feature-ID ab. Die Feature-ID erhält man aus den Resultaten von bak_search_isos oder bak_isos_by_kanton. Liefert alle verfügbaren Attribute des Objekts inkl. direktem Link zur GISOS-Dokumentationsseite des BAK. Args: params (IsosDetailInput): Parameter mit: - feature_id (str): geo.admin.ch Feature-ID Returns: str: JSON mit vollständigen Objekt-Attributen: - feature_id, isos_nummer, name, kantone, siedlungskategorie - teil_name, teil_nummer (falls vorhanden) - gisos_url: Link zur detaillierten BAK-Dokumentation - koordinaten: Lage im Schweizer Koordinatensystem (LV03)
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
bak_get_kulturpreise ~188
Ruft Informationen zu Schweizer Kulturpreisen ab. Kombiniert aktuelle Preisträger-Meldungen aus dem BAK-RSS-Feed mit strukturierten Informationen zu den wichtigsten Kulturpreisen. Preise umfassen: Schweizer Filmpreis, Grand Prix Literatur, Grand Prix Design, Grand Prix Musik, Prix Meret Oppenheim und weitere. Args: params (KulturpreiseInput): Parameter mit: - sparte (str, optional): 'Film', 'Literatur', 'Design', 'Musik' etc. - limit (int): Maximale Anzahl Resultate Returns: str: JSON mit: - aktuelle_preise: Preisträger aus aktuellem/letztem Jahr (aus RSS) - preisuebersicht: Statische Übersicht aller BAK-Kulturpreise mit Links
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
bak_get_news ~186
Ruft aktuelle Medienmitteilungen des Bundesamts für Kultur (BAK) ab. Datenquelle ist der offizielle RSS-Feed des News Service Bund (NSB). Enthält Meldungen zu Kulturpreisen, Kulturpolitik, Bundesinventaren, Filmförderung, Kulturgütertransfer und weiteren BAK-Themen. Args: params (NewsInput): Parameter mit: - limit (int): Anzahl Meldungen (Standard: 10, max. 50) - keyword (str, optional): Stichwort zur Filterung (z.B. 'Filmpreis') Returns: str: JSON mit Medienmitteilungen, je mit: - title: Titel der Meldung - description: Kurzbeschreibung - pubDate: Datum der Meldung - link: URL zur vollständigen Meldung
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
bak_get_opendata ~179
Listet Open-Data-Datensätze des Bundesamts für Kultur auf opendata.swiss auf. Gibt Metadaten zu BAK-Datensätzen zurück, inkl. verfügbare Formate (WMS, WFS, API, HTML) und Download-URLs. Relevant für GIS-Integration, Datenanalysen und weiterführende Auswertungen. Args: params (OpendataInput): Parameter mit: - query (str, optional): Suchbegriff für Datensätze Returns: str: JSON mit Datensatz-Metadaten, je mit: - name, title, beschreibung - formate: Verfügbare Dateiformate - ressourcen: URLs für Direktzugriff - organisation: BAK
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
bak_get_tradition_detail ~254
Ruft die Detailbeschreibung einer lebendigen Tradition vom BAK-Inventar ab. Holt die offizielle Beschreibung einer Tradition von lebendige-traditionen.ch. Den Slug erhält man aus bak_list_traditions oder als bekannte Kurzbezeichnung. Bekannte Slugs (Auswahl): - 'fasnacht-basel' → Basler Fasnacht - 'schwingen' → Schwingen - 'alphorn--und-buechelspiel' → Alphorn- und Büchelspiel - 'sgrafitto' → Sgrafitto-Technik (GR) - 'winzerfest-vevey' → Fête des Vignerons - 'appenzeller-silvesterklaus' → Appenzeller Silvesterklaus Args: params (TraditionDetailInput): Parameter mit: - slug (str): URL-Slug der Tradition Returns: str: JSON mit: - titel: Offizieller Name der Tradition - beschreibung: Volltext-Beschreibung - kantone_mention: Im Text erwähnte Kantone (heuristisch) - url: Direktlink zur BAK-Seite
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
bak_isos_by_kanton ~256
Listet alle ISOS-Ortsbilder eines Schweizer Kantons auf. Gibt alle im Bundesinventar erfassten schützenswerten Ortsbilder des angegebenen Kantons zurück. Kantonskürzel-Format: ZH, BE, GR etc. Args: params (IsosKantonInput): Parameter mit: - kanton (str): Kantonskürzel (z.B. 'ZH', 'GR', 'VS') - limit (int): Maximale Anzahl (Standard: 50, max. 500) Returns: str: JSON mit ISOS-Objekten des Kantons, sortiert nach Name, mit: - kanton_name: Vollständiger Kantonsname - count: Anzahl zurückgegebener Objekte (durch `limit` begrenzt) - total_in_kanton: Ortsbilder des Kantons im Bundesinventar, gezählt nach ISOS-Nummer. Nicht nach Features: Die Quelle liefert je Ortsbild mehrere, in GR bis zu 51. - results: Liste mit feature_id, isos_nummer, name, siedlungskategorie
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
bak_isos_by_kategorie ~184
Filtert ISOS-Ortsbilder nach Siedlungskategorie (optional kombiniert mit Kanton). Ermöglicht die Suche nach spezifischen Siedlungstypen im ISOS-Inventar. Kategorien: 'Stadt', 'Kleinstadt/Flecken', 'Dorf', 'Weiler/Einzelsiedlung', 'Spezialfall'. Optional kann die Suche auf einen Kanton eingeschränkt werden. Args: params (IsosKategorieInput): Parameter mit: - kategorie (str): Siedlungskategorie - kanton (str, optional): Kantonskürzel zur Einschränkung - limit (int): Max. Resultate (Standard: 50) Returns: str: JSON mit gefilterten ISOS-Objekten.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
bak_isos_statistics ~140
Gibt Übersichtsstatistiken zum ISOS-Bundesinventar zurück. Zeigt Anzahl ISOS-Objekte pro Kanton sowie Informationen über das Inventar. Nützlich für einen schnellen Überblick über den Umfang des Bundesinventars der schützenswerten Ortsbilder der Schweiz. Returns: str: JSON mit: - total: Geschätzte Gesamtzahl ISOS-Objekte - per_kanton: Objekte pro Kanton (aus repräsentativer Stichprobe) - kategorien: Überblick über Siedlungskategorien - quellen: Informationen zu Datenquellen und weiterführenden Links
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
bak_list_traditions ~178
Listet lebendige Traditionen der Schweiz vom offiziellen BAK-Inventar auf. Die «Liste der lebendigen Traditionen der Schweiz» umfasst 228 Einträge (Stand 2023) des immateriellen Kulturerbes: Bräuche, Feste, Handwerk, Musik, Sprache und weiteres. Optional nach Anfangsbuchstabe filtern. Args: params (TraditionListInput): Parameter mit: - buchstabe (str, optional): Anfangsbuchstabe filtern (A–Z) Returns: str: JSON mit Liste der Traditionen, je mit: - name: Bezeichnung der Tradition - slug: URL-Slug für bak_get_tradition_detail - url: Direktlink zur BAK-Seite
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
bak_search_isos ~242
Sucht ISOS-Ortsbilder (Bundesinventar der schützenswerten Ortsbilder der Schweiz) nach Ortsname. Das ISOS ist das nationale Inventar bedeutender Ortsbilder der Schweiz. Es umfasst Städte, Kleinstädte, Dörfer und Weiler von nationaler Bedeutung. Die Daten stammen vom Bundesamt für Kultur (BAK) und werden via geo.admin.ch bereitgestellt. Args: params (IsosSearchInput): Suchparameter mit: - query (str): Ortsname oder Teilname - limit (int): Maximale Anzahl Resultate (Standard: 20) Returns: str: JSON mit Liste der gefundenen ISOS-Objekte, je mit: - feature_id: ID für bak_get_isos_detail - isos_nummer: ISOS-Inventarnummer - name: Ortsname - kantone: Liste der Kantonskürzel - siedlungskategorie: Stadt/Dorf/etc. - gisos_url: Link zur GISOS-Detailseite des BAK
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the io.github.malkreide/swiss-culture-mcp server?
io.github.malkreide/swiss-culture-mcp is listed in the public MCP registry as io.github.malkreide/swiss-culture-mcp. BAK cultural heritage, ISOS, living traditions, RSS. This page covers its PyPI package (swiss-culture-mcp).
Is the io.github.malkreide/swiss-culture-mcp server safe to use?
io.github.malkreide/swiss-culture-mcp scores 65 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/swiss-culture-mcp server expose?
io.github.malkreide/swiss-culture-mcp exposes 10 tools: bak_search_isos, bak_isos_by_kanton, bak_get_isos_detail, bak_isos_by_kategorie, bak_isos_statistics, and 5 more. Their descriptions and schemas cost roughly 1,997 tokens of context every time the server is loaded.
Is the io.github.malkreide/swiss-culture-mcp server still maintained?
io.github.malkreide/swiss-culture-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/swiss-culture-mcp server under?
io.github.malkreide/swiss-culture-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.