zotero-mcp: Die Zotero-Bibliothek als Werkzeugoberfläche für Claude, ChatGPT und Cursor
Zotero MCP: Verbindet Ihre Zotero-Forschungsbibliothek über das Model Context Protocol mit Claude und anderen KI-Assistenten, um Artikel zu diskutieren, Zusammenfassungen zu erhalten, Zitate zu analysieren und mehr.
Auf einen Blick
- Was ist das?
- Der Python-Server zotero-mcp-server legt eine Zotero-Bibliothek hinter MCP-Werkzeuge. Einordnung der drei Zugriffsarten, der Extras semantic, pdf und scite sowie der Kontextkosten von 13.448 Token.
- Für wen ist es gedacht?
- zotero-mcp lohnt sich für alle, die ihre Zotero-Bibliothek aus Claude, ChatGPT oder Cursor heraus durchsuchen und bearbeiten wollen und einen eigenen MCP-Server betreiben können. Weniger geeignet ist es für reine Leser, weil der lokale Modus ohne API-Schlüssel nur liest und Schreiboperationen die Web-API voraussetzen.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 1 Tag.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Python, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Was zotero-mcp zwischen Zotero und Claude, ChatGPT oder Cursor schaltet
zotero-mcp ist ein in Python geschriebener Server, der eine Zotero-Bibliothek über das Model Context Protocol für KI-Clients zugänglich macht. Das README nennt als kompatible Clients ChatGPT, Claude, Cherry Studio, Chorus und Cursor. Auf PyPI heißt das Paket zotero-mcp-server, die MCP-Kennung im Kopf der README lautet io.github.54yyyu/zotero-mcp.
Der Server registriert Werkzeuge, mit denen ein Modell in der Bibliothek sucht, Metadaten abruft, PDF-Anmerkungen ausliest und Einträge anlegt. Damit wandert ein Teil der Arbeit am Literaturarchiv vom Zotero-Fenster in das Chatfenster, ohne dass Zotero selbst angefasst wird.
Aus dem README geht hervor, dass der Server drei Zugriffsarten kennt: die lokale API ohne Schlüssel, die Web-API und einen Hybridmodus. Diese Aufteilung zieht sich durch die gesamte Konfiguration und entscheidet darüber, welche Operationen überhaupt verfügbar sind.
uv tool install zotero-mcp-server: Basisinstallation und die Extras semantic, pdf, scite, all
Die Installation läuft laut README über uv: uv tool install zotero-mcp-server, anschließend zotero-mcp setup. Dieselbe Kombination ist für pip und pipx dokumentiert, also pip install zotero-mcp-server oder pipx install zotero-mcp-server, jeweils gefolgt von zotero-mcp setup, das Claude Desktop automatisch konfiguriert.
Die Basisinstallation bringt Suche, Metadatenabruf, Anmerkungen und Schreiboperationen mit, zieht aber keine Machine-Learning-Abhängigkeiten. Schwere Teile stecken in vier Extras: semantic ergänzt ChromaDB und sentence-transformers samt OpenAI- und Gemini-Embeddings, pdf bringt PyMuPDF für PDF-Gliederungen und EPUB-Anmerkungen, scite schaltet Zitationszählungen und Retraktionsprüfungen frei, all installiert alles zusammen.
Aktualisiert wird mit zotero-mcp update, wobei die Konfiguration erhalten bleibt; zotero-mcp update --check-only prüft lediglich. Wer das Terminal scheut, findet im README einen Verweis auf das Community-Paket ehawkin/zotero-mcp-setup mit macOS-Installationsdatei und Ein-Klick-Skripten.
ZOTERO_LOCAL, ZOTERO_LIBRARY_TYPE und der Hybridmodus in zotero-mcp
Für den lokalen Zugriff muss in Zotero die Option aktiviert sein, die anderen Anwendungen auf dem Rechner die Kommunikation mit Zotero erlaubt. Dieser Weg braucht keinen API-Schlüssel, ist laut README aber nur lesend nutzbar.
Schreiboperationen laufen über die Web-API und verlangen einen API-Schlüssel sowie eine Bibliotheks-ID. Wer beides kombiniert, landet im Hybridmodus: Mit ZOTERO_LOCAL=true plus Schlüssel und Bibliotheks-ID liest der Server lokal und schreibt über das Web. Reiner Fernzugriff wird mit zotero-mcp setup --no-local --api-key SCHLUESSEL --library-id ID eingerichtet.
Daneben nennt das README Umgebungsvariablen für Gruppenbibliotheken, namentlich ZOTERO_LIBRARY_TYPE, sowie WebDAV-Zugangsdaten für das Herunterladen von Anhängen. Ein Hinweis führt leicht zu Fehlsuchen: Werte aus der Shell-Umgebung überschreiben die Einträge in den Client-Konfigurationsdateien.
update-db, --fulltext und semantic_search.extraction in ~/.config/zotero-mcp/config.json
Die semantische Suche steckt hinter dem semantic-Extra und arbeitet mit Vektorähnlichkeit über die gesamte Bibliothek. Als Einbettungsmodelle nennt das README ein lokales Standardmodell namens all-MiniLM-L6-v2, dazu OpenAI, Gemini und Ollama. Konfiguriert wird sie während zotero-mcp setup oder gezielt mit zotero-mcp setup --semantic-config-only.
Den Index baut zotero-mcp update-db. Standardmäßig werden nur Metadaten erfasst, --fulltext nimmt den Volltext mit und ist langsamer. Weitere Flags sind --force-rebuild, --db-path und --openai-batch, letzteres schickt Einbettungen über die OpenAI Batch API.
Die Extraktionsparameter liegen in ~/.config/zotero-mcp/config.json unter semantic_search.extraction, mit Schlüsseln wie pdf_max_pages und attachment_priority. Das README weist ausdrücklich darauf hin, dass ein höherer Wert bei pdf_max_pages die Trefferabdeckung nicht über das Tokenlimit des Einbettungsmodells hinaus erweitert.
ZOTERO_MCP_TOOLSETS und die 13.448 Token für 38 Werkzeuge
Jedes registrierte Werkzeug wandert laut README bei jeder Anfrage mit ins Kontextfenster, bevor der Nutzer überhaupt etwas tippt. Für ein Standardprofil mit 38 Werkzeugen beziffert das README diese Fixkosten auf 13.448 Token.
Um gegenzusteuern, bündelt zotero-mcp optionale Funktionen in Werkzeugsätzen, gesteuert über ZOTERO_MCP_TOOLSETS. Zum Standardprofil gehören die Kernwerkzeuge sowie libraries, search-admin und pdf-geometry. Gruppen wie scite, duplicates, discovery, feeds, relations und chatgpt-connector sind standardmäßig aus oder werden je nach Transport automatisch aktiviert. Ein abgeschaltetes Werkzeug existiert dann tatsächlich nicht, es wird nicht bloß versteckt.
Zusätzlich bietet das README den Weg über eine Agentenfähigkeit: zotero-mcp install-skill erkennt die vorhandenen Harnesses und legt eine Fähigkeit ab, die im Frontmatter 98 Token kostet und beim Auslösen 1.368 Token erreicht. Nachgerechnet werden kann das mit python scripts/measure_context_cost.py. Das README grenzt die Zahl selbst ein: Sie erfasst nur die festen Kontextkosten, nicht Trefferquote oder Rückfragen.
zotero-cli: Aliase s, g, ann, coll und --json für Pipelines
zotero-cli ist der eigenständige Terminal-Client im selben Paket. Er nutzt dieselbe Konfiguration wie der MCP-Server, verlangt aber keinen Assistenten, und deckt Suche, Metadatenabruf, Notizen, Anmerkungen, das Hinzufügen von Einträgen, Sammlungsverwaltung und Duplikaterkennung ab.
Für die Stapelverarbeitung gibt es bei jedem Befehl --json, für die Handarbeit kurze Aliase: s für Suche, g für Abruf, ann für Anmerkungen, coll für Sammlungen. Damit lässt sich die Bibliothek aus Skripten ansprechen, ohne dass ein Modell dazwischen sitzt.
Zur Qualitätssicherung listet das README Unit-Tests, ausgeführt mit uv run pytest tests/, mit einer angegebenen Zahl von 294 Tests. Ergänzend existiert ein Live-Integrationsplan mit 45 Punkten unter docs/integration-test-plan.md, der dafür gedacht ist, ihn Claude in Claude Desktop zu übergeben.
v0.11.0, v0.10.0 und v0.9.1: was die Releasefolge über das Tempo verrät
Die drei jüngsten Releases heißen v0.11.0 vom 25. August 2026, v0.10.0 vom 24. August 2026 und v0.9.1 vom 6. August 2026. Zwischen v0.10.0 und v0.11.0 liegt ein einziger Tag, was auf eine schnelle Korrektur oder eine eng begrenzte Ergänzung hindeutet; die Inhalte der einzelnen Versionen führt die README an dieser Stelle nicht auf.
Die Metadaten zum Zeitpunkt des Abrufs: Python, MIT, 4.828 Sterne, 382 Forks, 55 offene Issues, letzter Push am 25. August 2026, Standard-Branch main. Bei diesem Veröffentlichungstempo ist die Zahl der offenen Issues überschaubar.
Die Versionsnummer selbst ist der deutlichste Hinweis auf den Reifegrad. Bei 0.11.0 kann sich die Werkzeugliste zwischen zwei Releases ändern, und die README behält sich Werkzeugsätze vor, die je nach Transport automatisch zu- oder abgeschaltet werden. Wer zotero-mcp in einen festen Arbeitsablauf einbaut, sollte die eingesetzte Version mitschreiben.
urschrei/pyzotero statt zotero-mcp: wo die Werkzeuge enden
Die nächste Alternative ist urschrei/pyzotero, ein Python-Client für die Zotero-Web-API. Er liefert Bibliothekszugriff als Programmbibliothek: Wer ihn nutzt, schreibt eigenen Code gegen die API und trägt die Verantwortung für Suche, Paginierung und Datenmodell selbst. zotero-mcp liefert stattdessen eine beschreibbare Werkzeugoberfläche, die ein Modell direkt aufrufen kann, inklusive semantischer Suche und der Duplikaterkennung mit Trockenlauf.
Gegenüber pyzotero gewinnt man bei zotero-mcp die Anschlussfähigkeit an MCP-Clients und den zotero-cli-Pfad für Skripte. Man gibt dafür die Stabilität einer reinen Bibliotheksschnittstelle ab und zahlt die Kontextkosten der Werkzeugschemata.
Für einen abgetrennten Probelauf empfiehlt sich eine Kopie der Bibliothek: Dort zotero-mcp setup ausführen, danach mit zotero-cli drei bekannte Titel suchen und die Treffer mit der Zotero-Suche vergleichen. Erst wenn die Treffer stimmen, sollten Schreiboperationen über die Web-API freigegeben werden.
Redaktionelles Fazit
zotero-mcp lohnt sich für alle, die ihre Zotero-Bibliothek aus Claude, ChatGPT oder Cursor heraus durchsuchen und bearbeiten wollen und einen eigenen MCP-Server betreiben können. Weniger geeignet ist es für reine Leser, weil der lokale Modus ohne API-Schlüssel nur liest und Schreiboperationen die Web-API voraussetzen. Geprüft werden sollten zuerst das aktive Werkzeugprofil über ZOTERO_MCP_TOOLSETS und ein Lauf von zotero-cli gegen drei bekannte Titel, bevor Schreibzugriffe freigegeben werden.
Community-Notizen