← Back to search

io.github.malkreide/swiss-cultural-heritage-mcp

malkreide Scanned 25d ago

Heritage inventories, monument lists, archaeological registers

C
68.5 / 100

Versions

0.3.3latest
first seen Jun 30, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 11

heritage_search_artists
annotations: none low

Sucht Schweizer Künstler·innen in den SIKART-Daten (~17'000 Einträge). SIKART (Lexikon zur Kunst in der Schweiz, herausgegeben vom Schweizerischen Institut für Kunstwissenschaft SIK-ISEA) dokumentiert historische und zeitgenössische Kunstschaffende mit biografischen Grunddaten. Die Suche läuft als CKAN-DataStore-Volltextsuche über alle Felder; mehrere Begriffe werden UND-verknüpft. Liefert die exakte Suche keine Treffer, wird automatisch breiter mit dem spezifischsten Begriff gesucht und das Resultat als `match_type: fuzzy` markiert (ARCH-003); bleibt es leer, `match_type: none`. Args: params (ArtistSearchInput): - query (str | None): Name, Beruf oder Stichwort (z. B. 'Hodler') - region (str | None): Geburts-/Sterbeort oder Kanton (z. B. 'Basel') - limit (int): Max. Ergebnisse (Standard: 20) - offset (int): Paginierungs-Offset - response_format: 'markdown' oder 'json' Returns: str: Liste gefundener Künstler·innen mit Name, Lebensdaten, Kanton, Kurzbiografie.

params ArtistSearchInput
heritage_get_artist
annotations: none low

Ruft den vollständigen SIKART-Datensatz zu einer Künstler·in ab. Args: params (ArtistDetailInput): - artist_id (str): SIKART-ID (HAUPTNR aus heritage_search_artists) - response_format: 'markdown' oder 'json' Returns: str: Vollständiges Profil mit Lebensdaten, Orten, Kurzbiografie und Links.

params ArtistDetailInput
heritage_search_museum_datasets
annotations: none low

Sucht Datensätze des Schweizerischen Nationalmuseums (SNM) auf opendata.swiss. Das SNM publiziert Sammlungsdaten als Open Data: Numismatik (~100'000 Münzen), Siegelsammlung (~80'000 Objekte), Spezialsammlungen und weitere. Bei 0 exakten Treffern wird die Solr-Suche automatisch gelockert (OR-verknüpfte Präfix-Wildcards) und das Resultat als `match_type: fuzzy` markiert (ARCH-003). Args: params (MuseumSearchInput): - query (str | None): Suchbegriff über Titel/Beschreibung - collection (str | None): Sammlungsfilter (z. B. 'numismatik') - limit / offset: Paginierung - response_format: 'markdown' oder 'json' Returns: str: Liste verfügbarer SNM-Datensätze mit Titel, Beschreibung und Download-URLs (CSV, XLSX, JSON).

params MuseumSearchInput
heritage_browse_collection
annotations: none low

Durchsucht Objekte innerhalb eines SNM-Sammlungsdatensatzes via CKAN DataStore. Voraussetzung: Resource-ID aus `heritage_search_museum_datasets`. Args: params (CollectionBrowseInput): - resource_id (str): CKAN Resource-ID (aus heritage_search_museum_datasets) - query (str | None): Suchbegriff (z. B. 'Zürich', 'Karl der Grosse', 'Gold') - limit / offset: Paginierung - response_format: 'markdown' oder 'json' Returns: str: Liste von Sammlungsobjekten mit verfügbaren Feldern.

params CollectionBrowseInput
heritage_search_helveticat
annotations: none low

Durchsucht die Schweizerische Nationalbibliothek (Helveticat) via OAI-PMH. Args: params (HelvticatSearchInput): - query (str | None): Clientseitige Filterung (Titel, Autor) - set_spec (str | None): OAI-Set-ID (aus heritage_list_nb_collections) - from_date (str | None): Datum von (YYYY oder YYYY-MM-DD) - until_date (str | None): Datum bis (YYYY oder YYYY-MM-DD) - limit (int): Max. Ergebnisse 1–50 (Standard: 10) - response_format: 'markdown' oder 'json' Returns: str: Liste von Publikationen mit Titel, Autor, Jahr, Schlagwörtern und Identifier.

params HelvticatSearchInput
heritage_list_nb_collections
annotations: none low

Listet verfügbare Sammlungen/Sets der Nationalbibliothek auf (OAI-PMH ListSets). Args: params (NbCollectionsInput | None): - response_format: 'markdown' (Standard) oder 'json' Returns: str: Liste aller OAI-PMH Sets mit Bezeichner (setSpec) und Name.

params string
heritage_get_publication
annotations: none low

Ruft vollständige Dublin-Core-Metadaten einer Publikation der NB ab. Args: params (PublicationDetailInput): - identifier (str): OAI-ID aus heritage_search_helveticat - response_format: 'markdown' oder 'json' Returns: str: Vollständige DC-Metadaten (Titel, Autor, Verlag, Sprache, Rechte, etc.).

params PublicationDetailInput
heritage_cross_search
annotations: none low

Durchsucht SIK-ISEA, SNM und NB gleichzeitig nach einem Begriff. Fächert auf drei Upstreams auf (i. d. R. > 2 s). Sofern der Client einen Progress-Token gesendet hat, wird nach jeder abgeschlossenen Quelle `ctx.report_progress()` gemeldet; fehlgeschlagene Quellen werden zusätzlich über `ctx.warning()` als strukturierte Warnung signalisiert (SDK-003), statt nur als Text im Ergebnis zu erscheinen. Args: params (CrossSearchInput): - query (str): Suchbegriff - sources (list[str]): ['sik_isea', 'snm', 'nb'] (Standard: alle) - limit_per_source (int): Max. Ergebnisse je Quelle (Standard: 5) - response_format: 'markdown' (Standard) oder 'json' ctx (Context): Vom MCP-SDK injiziert (Progress/Logging); bei direkten Aufrufen ohne Request `None`. Returns: ResultEnvelope | str: Aggregierte Ergebnisse aus allen gewählten Quellen.

ctx Context params CrossSearchInput
search_heritage
annotations: none low

Durchsucht Schweizer Gedächtnisinstitutionen (Memobase, Dodis) föderiert. Föderierte Fassade über zwei Quellen mit offenen, standardisierten Schnittstellen: **Memobase** (audiovisuelles Kulturerbe, Linked-Open-Data-API) und **Dodis** (Diplomatische Dokumente der Schweiz, JSON-REST/Solr). Bei ``collection='all'`` wird parallel gesucht; fällt eine Quelle aus, liefern die übrigen trotzdem (die Fehlerquelle wird im ``meta.errors`` und — sofern ein Progress-Token vorliegt — via ``ctx.warning`` gemeldet). Jeder Treffer trägt **Quelle, Permalink und Lizenz**, wobei Metadaten- und Digitalisat-Lizenz getrennt ausgewiesen werden (sie fallen bei diesen Quellen auseinander). Es werden nur Metadaten und Links geliefert — keine geschützten Volltexte. ``date_from``/``date_to``/``media_type`` werden **clientseitig** auf die je Quelle abgerufene Seite angewandt (die Upstreams bieten hierfür keine verlässlichen Serverfilter); die Trefferzahl kann dadurch kleiner als ``limit`` sein — ggf. ``offset`` erhöhen. Args: params (HeritageSearchInput): - query (str): Suchbegriff - collection: 'memobase' | 'dodis' | 'all' - date_from/date_to: Jahr-Filter (clientseitig) - media_type (str): Typ-Filter (clientseitig) - limit/offset: Paginierung pro Quelle - response_format: 'markdown' oder 'json' ctx (Context): vom MCP-SDK injiziert (Progress/Warnungen); bei direktem Aufruf ``None``. Returns: ResultEnvelope | str: Aggregierte, normalisierte Treffer inkl. Provenienz.

ctx Context params HeritageSearchInput
get_heritage_item
annotations: none low

Ruft die vollständigen Metadaten eines Objekts aus Memobase oder Dodis ab. Liefert Metadaten, Permalink und Lizenz (Metadaten- und Digitalisat-/Dokument- recht getrennt). Geschützte Volltexte (Dodis-Transkriptionen) werden **nicht** reproduziert — dafür verweist die Antwort auf den Permalink. Args: params (HeritageItemInput): - collection: 'memobase' oder 'dodis' - item_id (str): Objekt-ID aus search_heritage - response_format: 'markdown' oder 'json' Returns: ResultEnvelope | str: Objekt-Metadaten inkl. Provenienz und Lizenz.

params HeritageItemInput
list_heritage_collections
annotations: none low

Listet die Gedächtnisinstitutionen der föderierten Fassade und ihren Status auf. Discovery-Tool für ``search_heritage`` / ``get_heritage_item``: welche ``collection``-Werte gibt es, welches Protokoll, welche Auth, welche Lizenz (Metadaten vs. Digitalisat)? Auch die geprüften, aber bewusst nicht angebundenen Quellen (Bundesarchiv, Landesmuseum) werden mit Grund ausgewiesen. Args: params (HeritageCollectionsInput | None): - response_format: 'markdown' (Standard) oder 'json' Returns: ResultEnvelope | str: Sammlungen mit Status, Protokoll, Auth und Lizenzen.

params string

Permissions 3

env_vars low
Server uses env_vars capabilities via: os.getenv()
network medium
Server uses network capabilities via: httpx
filesystem low
Server uses filesystem capabilities via: os, pathlib

Scan Findings 39

low
Tool 'heritage_search_artists' has no annotations annotation_checker · 100%
low
Tool 'heritage_get_artist' has no annotations annotation_checker · 100%
low
Tool 'heritage_search_museum_datasets' has no annotations annotation_checker · 100%
low
Tool 'heritage_browse_collection' has no annotations annotation_checker · 100%
low
Tool 'heritage_search_helveticat' has no annotations annotation_checker · 100%
low
Tool 'heritage_list_nb_collections' has no annotations annotation_checker · 100%
low
Tool 'heritage_get_publication' has no annotations annotation_checker · 100%
low
Tool 'heritage_cross_search' has no annotations annotation_checker · 100%
low
Tool 'search_heritage' has no annotations annotation_checker · 100%
low
Tool 'get_heritage_item' has no annotations annotation_checker · 100%
low
Tool 'list_heritage_collections' has no annotations annotation_checker · 100%
high
Remote transport without authentication auth_checker · 70%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: httpx@0.27.0,<1.0.0 (GHSA-h8pj-cxx2-jfg2) dependency_analyzer · 95%
medium
Vulnerable dependency: httpx@0.27.0,<1.0.0 (PYSEC-2022-183) dependency_analyzer · 95%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
Vulnerable dependency: pydantic@2.0.0,<3.0.0 (GHSA-5jqp-qgf6-3pvh) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0.0,<3.0.0 (GHSA-mr82-8j83-vxmv) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0.0,<3.0.0 (PYSEC-2021-47) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0.0,<3.0.0 (PYSEC-2026-1812) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: heritage_search_artists manifest_parser · 90%
info
Tool: heritage_get_artist manifest_parser · 90%
info
Tool: heritage_search_museum_datasets manifest_parser · 90%
info
Tool: heritage_browse_collection manifest_parser · 90%
info
Tool: heritage_search_helveticat manifest_parser · 90%
info
Tool: heritage_list_nb_collections manifest_parser · 90%
info
Tool: heritage_get_publication manifest_parser · 90%
info
Tool: heritage_cross_search manifest_parser · 90%
info
Tool: search_heritage manifest_parser · 90%
info
Tool: get_heritage_item manifest_parser · 90%
info
Tool: list_heritage_collections manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (2) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 70%
low
Permission: env_vars access detected permission_analyzer · 90%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%