Skip to main content
Glama
malkreide

swiss-academic-libraries-mcp

by malkreide

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
library_infoA

Übersicht aller verfügbaren Datenquellen und Tools dieses MCP-Servers.

Empfohlen als Einstiegspunkt: zeigt alle vier Bibliotheksquellen, die verfügbaren Tools mit kurzen Beschreibungen und Beispielanfragen. Kein Netzwerkzugriff erforderlich.

Returns: str: Markdown-Dokumentation mit Datenquellen, Tool-Übersicht und Beispielen.

swisscovery_searchA

Durchsucht den swisscovery-Gesamtkatalog (500+ Schweizer Bibliotheken) via SRU.

Unterstützt einfache Volltextsuche und CQL-Feldsuche:

  • Volltextsuche: "Volksschule Zürich"

  • Titelsuche: title = "Bildungsreform"

  • Autorensuche: creator = "Pestalozzi"

  • Schlagwortsuche: subject = "Pädagogik"

  • Kombiniert: title = "Schule" AND creator = "Pestalozzi"

Args: params (SwisscoverySearchInput): Suchparameter: - query (str): CQL-Suchanfrage - max_records (int): Maximale Ergebnisanzahl (1–50, Standard: 10) - start_record (int): Startposition für Pagination (Standard: 1) - response_format (str): 'markdown' oder 'json'

Returns: str: Formatierte Liste der Treffer mit Titel, Autor, Erscheinungsinfo, Sprache, ISBN/ISSN, MMS-ID und swisscovery-Link. Bei JSON: vollständiges MARC-geparsertes Dict pro Eintrag. Enthält Gesamttrefferanzahl und next_record_position für Pagination.

swisscovery_get_recordA

Ruft einen einzelnen Titel aus swisscovery via MMS-ID ab.

Die MMS-ID wird aus den Ergebnissen von swisscovery_search (Feld 'mms_id') entnommen.

Args: params (SwisscoveryGetRecordInput): Input mit: - mms_id (str): MMS-ID des Titels (z.B. '991134165199705501')

Returns: str: Detaillierter MARC-Eintrag als Markdown inkl. aller verfügbaren Felder: Titel, Autor, Erscheinungsinfo, Umfang, Sprache, ISBN/ISSN, Schlagworte, Abstract, URLs und swisscovery-Permalink.

erara_list_recordsA

Listet digitalisierte historische Druckwerke aus e-rara (OAI-PMH).

e-rara enthält über 250'000 digitalisierte Werke aus Schweizer Bibliotheken, darunter historische Bücher, Karten, Flugblätter und Einblattdrucke.

Verfügbare Sammlungen (set_spec) mit erara_list_collections abrufen. Bekannte Sets: 'zut' (ETH-Bibliothek), 'bau_1' (UB Basel), 'bge_g' (BGE Genf), 'stibi' (Stiftsbibliothek St. Gallen).

Args: params (OaiSearchInput): Filterparameter: - from_date (str): Startdatum YYYY-MM-DD (optional) - until_date (str): Enddatum YYYY-MM-DD (optional) - set_spec (str): Sammlung/Bibliothek (optional) - resumption_token (str): Pagination-Token (optional) - response_format (str): 'markdown' oder 'json'

Returns: str: Liste der Einträge mit Titel, Autor, Datum, Verlag, Typ, URL. Enthält resumption_token für weitere Seiten und Gesamtanzahl.

erara_get_recordA

Ruft ein einzelnes digitalisiertes Druckwerk aus e-rara ab.

Die OAI-Identifier stammen aus den Ergebnissen von erara_list_records. Format: 'oai:www.e-rara.ch:{id}' (z.B. 'oai:www.e-rara.ch:29725195')

Args: params (OaiGetRecordInput): Input mit: - oai_identifier (str): OAI-Identifier des Werks - response_format (str): 'markdown' oder 'json'

Returns: str: Vollständige Dublin-Core-Metadaten: Titel, Autor(en), Datum, Verlag, Typ, Themen, Beschreibung, Relationen und Digitalisat-URL.

erara_list_collectionsA

Listet alle in e-rara vertretenen Bibliotheken und Sammlungen auf.

Die Set-Bezeichner (spec) können als set_spec in erara_list_records verwendet werden, um die Suche auf eine bestimmte Bibliothek einzuschränken.

Args: params (ListCollectionsInput): Input mit: - filter_name (str): Filter nach Bibliotheksname (optional)

Returns: str: Tabellarische Übersicht aller Sammlungen mit Set-Bezeichner und Name.

eperiodica_list_recordsA

Listet digitalisierte Zeitschriftenartikel und Periodika aus e-periodica (OAI-PMH).

e-periodica bietet Zugriff auf über 1 Million digitalisierte Artikel aus Schweizer Zeitschriften (1750–heute), darunter Fachzeitschriften, Kulturzeitschriften und historische Periodika.

OAI-Identifier-Format: 'oai:agora.ch:{zeitschrift}:{jahr}:{heft}::{seite}'

Args: params (OaiSearchInput): Filterparameter: - from_date (str): Startdatum YYYY-MM-DD (optional) - until_date (str): Enddatum YYYY-MM-DD (optional) - set_spec (str): Zeitschriften-Set (optional) - resumption_token (str): Pagination-Token (optional) - response_format (str): 'markdown' oder 'json'

Returns: str: Liste der Artikel mit Titel, Autor(en), Datum, Quelle/Zeitschrift, URL. Enthält resumption_token und Gesamtanzahl für Pagination.

eperiodica_get_recordA

Ruft einen einzelnen Zeitschriftenartikel aus e-periodica ab.

Die OAI-Identifier stammen aus den Ergebnissen von eperiodica_list_records. Format: 'oai:agora.ch:{zeitschrift}:{jahr}:{heft}::{seite}'

Args: params (OaiGetRecordInput): Input mit: - oai_identifier (str): OAI-Identifier des Artikels - response_format (str): 'markdown' oder 'json'

Returns: str: Vollständige Dublin-Core-Metadaten: Titel, Autor(en), Datum, Quelle, Themen, Beschreibung, Sprache und Digitalisat-URL.

emanuscripta_list_recordsA

Listet digitalisierte Handschriften und Archivalien aus e-manuscripta (OAI-PMH).

e-manuscripta bietet Zugriff auf digitalisierte Handschriften, Nachlässe, Briefe und andere Archivmaterialien aus Schweizer Bibliotheken und Archiven. Darunter Bestände der ETH-Bibliothek, ZB Zürich, UB Basel u.a.

Verfügbare Sammlungen mit emanuscripta_list_collections() abrufen.

Args: params (OaiSearchInput): Filterparameter: - from_date (str): Startdatum YYYY-MM-DD (optional) - until_date (str): Enddatum YYYY-MM-DD (optional) - set_spec (str): Sammlung/Archiv (optional) - resumption_token (str): Pagination-Token (optional) - response_format (str): 'markdown' oder 'json'

Returns: str: Liste der Objekte mit Titel, Autor(en), Datum, Sammlung, Typ, URL. Enthält resumption_token und Gesamtanzahl für Pagination.

emanuscripta_get_recordA

Ruft ein einzelnes Handschriften-Objekt aus e-manuscripta ab.

Die OAI-Identifier stammen aus den Ergebnissen von emanuscripta_list_records. Format: 'oai:www.e-manuscripta.ch:{id}'

Args: params (OaiGetRecordInput): Input mit: - oai_identifier (str): OAI-Identifier des Objekts - response_format (str): 'markdown' oder 'json'

Returns: str: Vollständige Dublin-Core-Metadaten: Titel, Autor(en), Datum, Sammlung/Archiv, Typ, Themen, Beschreibung, Relationen und URL.

emanuscripta_list_collectionsA

Listet alle in e-manuscripta vertretenen Archive und Sammlungen auf.

Die Set-Bezeichner können als set_spec in emanuscripta_list_records verwendet werden.

Args: params (ListCollectionsInput): Input mit: - filter_name (str): Filter nach Sammlungsname (optional)

Returns: str: Tabellarische Übersicht aller Sammlungen mit Set-Bezeichner und Name.

oa_law_searchA

Durchsucht frei zugängliche schweizerische rechtswissenschaftliche Beiträge.

Quellen: sui generis (OA-Rechtszeitschrift), ex/ante (peer-reviewt, mehrsprachig) und Repositorium.ch (Fachrepositorium Schweizer Recht). Geliefert werden ausschliesslich Metadaten (Titel, Autorschaft, Jahr, Lizenz, DOI, Link, Abstract falls vorhanden) — kein Volltext.

Das Feld license ist immer gesetzt; fehlt eine maschinenlesbare Lizenz, steht dort "unknown" (Open Access heisst frei lesbar, nicht zwingend frei weiterverwendbar). Sprache wird geführt, aber nur gefiltert, wenn language ausdrücklich gesetzt ist.

Args: params (OaLawSearchInput): query, source, language, year_from, year_to, peer_reviewed, max_records, response_format.

Returns: str: Trefferliste mit Titel, Autorschaft, Jahr, Lizenz, DOI und Link, inklusive Quellen-Status (nicht erreichbare Quellen werden ausgewiesen).

oa_law_getA

Ruft einen einzelnen OA-Rechtsbeitrag über DOI oder auflösbare URL ab.

Identifier stammen aus den oa_law_search-Ergebnissen (DOI oder Link). Geliefert werden Metadaten inkl. Lizenz — kein Volltext.

Args: params (OaLawGetInput): identifier (DOI oder URL), response_format.

Returns: str: Detailmetadaten des Beitrags oder ein Hinweis, wenn nichts gefunden wurde.

resolve_doiA

Löst eine DOI über Crossref zu vollständigen Publikationsmetadaten auf.

Beantwortet «was ist das überhaupt?» für eine DOI und liefert die Brücke zur nationalen Ebene: Titel, ISSN, ISBN und Autor:innen kommen als saubere Top-Level-Felder zurück. Damit lässt sich direkt in swisscovery prüfen, ob eine Schweizer Bibliothek den Titel führt — z.B. swisscovery_search(query="<ISSN>") oder mit Titel/Autor:in kombiniert.

Stark bei internationaler Forschungsliteratur; für deutschsprachige CH-Bildungspublikationen ist Crossref schwach (siehe Known findings).

Args: params (ResolveDoiInput): doi (blank oder als URL), response_format.

Returns: str: Metadaten inkl. Lizenz und auflösbarem Link, oder ein Hinweis, wenn die DOI bei Crossref nicht auflösbar ist. Enthält einen konkreten Vorschlag zur Weitersuche in swisscovery.

search_publicationsA

Durchsucht die internationale Forschungsliteratur über Crossref (bibliografisch).

Liefert pro Treffer Titel, Autor:innen, Jahr, Typ, ISSN/ISBN, Lizenz und DOI. Jeder Treffer trägt eine DOI, die sich mit resolve_doi vertiefen und mit ISSN/ISBN/Titel in swisscovery gegen den Schweizer Bestand prüfen lässt.

Wichtige Einschränkung: Crossref ist stark bei internationaler Forschungsliteratur, aber schwach bei deutschsprachiger CH-Bildungs- literatur (z.B. Lehrplan-21-Umfeld). Für CH-Bildungspublikationen ist swisscovery_search oder oa_law_search die bessere Wahl.

Args: params (SearchPublicationsInput): query, year_from, year_to, limit, response_format.

Returns: str: Trefferliste mit DOI je Eintrag, oder ein Hinweis bei null Treffern.

search_preprintsA

Durchsucht Preprints auf arXiv (Naturwissenschaften, Informatik, Mathematik u.a.).

Beantwortet «gibt es davon eine frühe/offene Fassung?». Die Anfrage wird automatisch als exakte Phrase gesucht — du musst keine arXiv-Syntax kennen (arXiv würde Leerzeichen sonst als OR interpretieren). Wo arXiv eine verknüpfte Journal-DOI führt, ist sie im Feld doi enthalten und lässt sich mit resolve_doi zur peer-reviewten Fassung auflösen — die sich wiederum in swisscovery gegen den Schweizer Bestand prüfen lässt.

Args: params (SearchPreprintsInput): query, category (optional, z.B. 'cs.CL'), limit, response_format.

Returns: str: Trefferliste mit arXiv-ID, Kategorie, Datum, ggf. Journal-DOI und Abstract, oder ein Hinweis bei null Treffern.

Prompts

Interactive templates invoked by user choice

NameDescription
research-workflowStrukturierter Recherche-Workflow für ein Thema über alle Quellen.
education-researchBildungsrecherche-Workflow für den Schulamt-Kontext.
doi-to-swiss-shelfVerbindet die internationale (DOI/Preprint) mit der nationalen Ebene (swisscovery).

Resources

Contextual data attached and managed by the client

NameDescription
get_sourcesStrukturierte Übersicht aller Datenquellen als JSON-Ressource. Konsumiert die SOURCES-Konstante (Single Source of Truth, F-10). Felder 'label' und 'content' werden in der JSON-Resource unterdrückt — sie sind rein für die Markdown-Darstellung in library_info.
get_oa_legal_sourcesÜbersicht der OA-Rechtsliteratur-Quellen (deklarative Registry) als JSON. Führt die Quellen-Metadaten der oa_law_*-Tools auf. Der Supabase-Anon-Key (Repositorium) wird bewusst unterdrückt — er ist rein lesend und öffentlich, gehört aber nicht in eine Übersichts-Ressource.
get_intl_metadata_sourcesÜbersicht der internationalen Metadatenquellen (Crossref, arXiv) als JSON. Attribution steht pro Quelle (unterschiedliche Nennungsbedingungen). Beide Quellen sind ohne API-Key zugänglich; Crossref nutzt einen polite pool, der per Env-Var CROSSREF_MAILTO adressiert wird.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/malkreide/swiss-academic-libraries-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server