← Back to search

io.github.malkreide/eth-library-mcp

malkreide Scanned 10d ago

ETH Library Discovery and Persons APIs

C
67.6 / 100

Versions

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

Tools 6

eth_search_resources
annotations: none low

Durchsucht den Katalog der ETH-Bibliothek mit über 30 Millionen Ressourcen. Nutzt die Discovery API (api.library.ethz.ch/discovery/v1/resources). Unterstützt Freitextsuche, Feldsuche, Facetten-Filter und Pagination. FID-003: Ein leeres Ergebnis ist eine Aussage über den Bestand, keine Einladung zum Raten. Kommt nichts zurück, steht der nächste Suchversuch im Feld `hint` der strukturierten Antwort; er gehört ausgeführt, bevor Abwesenheit gemeldet wird. Eine geratene Angabe darf nie an die Stelle eines fehlenden Treffers treten.

ctx string params SearchResourcesInput
eth_get_resource
annotations: none low

Ruft eine einzelne Ressource der ETH-Bibliothek anhand ihrer MMS-ID ab. FID-003: Kennt die Quelle die MMS-ID nicht, kommt ein leeres Ergebnis mit `hint` — keine geratenen Angaben zu einem Datensatz, der nicht geliefert wurde. Ein Fehlschlag (401, 404, Zeitüberschreitung) kommt dagegen als `isError` und ist keine Aussage über den Bestand.

ctx string params GetResourceInput
eth_search_archive
annotations: none low

Durchsucht ein spezifisches Archiv oder eine Sammlung der ETH-Bibliothek. FID-003: Ein leeres Ergebnis nennt im Feld `hint` den nächsten Versuch — das Archiv ist ein Filter, und der Bestand ausserhalb davon ist damit nicht geprüft. Keine geratene Angabe an die Stelle eines fehlenden Treffers setzen.

ctx string params SearchArchiveInput
eth_search_by_type
annotations: none low

Sucht Ressourcen eines bestimmten Typs (Karten, Bilder, Archive, etc.). FID-003: Ein leeres Ergebnis nennt im Feld `hint` den nächsten Versuch — der Typfilter ist eine Einschränkung, und was ausserhalb davon liegt, ist damit nicht geprüft. Keine geratene Angabe an die Stelle eines fehlenden Treffers setzen.

ctx string params SearchByTypeInput
eth_search_education
annotations: none low

Kuratierte Suche nach bildungsrelevanten Ressourcen in der ETH-Bibliothek. FID-003: Ein leeres Ergebnis nennt im Feld `hint` den nächsten Versuch. Eine geratene Literaturangabe darf nie an die Stelle eines fehlenden Treffers treten — auch dann nicht, wenn der Titel plausibel klingt.

ctx string params SearchEducationInput
eth_library_info
annotations: none low

Gibt eine Übersicht über den ETH Library MCP Server zurück.

Permissions 4

network medium
Server uses network capabilities via: httpx, urllib
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib, shutil, tempfile
shell high
Server uses shell capabilities via: subprocess
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 32

low
Tool 'eth_search_resources' has no annotations annotation_checker · 100%
low
Tool 'eth_get_resource' has no annotations annotation_checker · 100%
low
Tool 'eth_search_archive' has no annotations annotation_checker · 100%
low
Tool 'eth_search_by_type' has no annotations annotation_checker · 100%
low
Tool 'eth_search_education' has no annotations annotation_checker · 100%
low
Tool 'eth_library_info' 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%
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: eth_search_resources manifest_parser · 90%
info
Tool: eth_get_resource manifest_parser · 90%
info
Tool: eth_search_archive manifest_parser · 90%
info
Tool: eth_search_by_type manifest_parser · 90%
info
Tool: eth_search_education manifest_parser · 90%
info
Tool: eth_library_info manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (5) 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 · 90%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
No dependency files found for SBOM generation sbom_generator · 100%
high
Generic API Key Assignment found in malkreide-eth-library-mcp-d0328f1/audits/2026-09-19T171257-Z-eth-library-mcp/audit-report.md secret_scanner · 75%
high
Generic API Key Assignment found in malkreide-eth-library-mcp-d0328f1/audits/2026-09-19T171257-Z-eth-library-mcp/findings/ARCH-005.md secret_scanner · 75%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%