swiss-academic-libraries-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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:
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 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.
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 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
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 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
| Name | Description |
|---|---|
| research-workflow | Strukturierter Recherche-Workflow für ein Thema über alle Quellen. |
| education-research | Bildungsrecherche-Workflow für den Schulamt-Kontext. |
| doi-to-swiss-shelf | Verbindet die internationale (DOI/Preprint) mit der nationalen Ebene (swisscovery). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_sources | Strukturierte Ü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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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