Integrations
Provides access to your Zotero library, allowing you to search for items, retrieve detailed metadata, and access the full text contents of PDFs and other documents stored in your Zotero collection.
Model Context Protocol-Server für Zotero
Dieses Projekt ist ein Python-Server, der das Model Context Protocol (MCP) für Zotero implementiert und Ihnen Zugriff auf Ihre Zotero-Bibliothek innerhalb von KI-Assistenten ermöglicht. Es soll eine kleine, aber äußerst nützliche Reihe von Interaktionen mit Zotero für die Verwendung mit MCP-Clients implementieren.
Merkmale
Dieser MCP-Server bietet die folgenden Tools:
zotero_search_items
: Suchen Sie mithilfe einer Textabfrage nach Elementen in Ihrer Zotero-Bibliothekzotero_item_metadata
: Erhalten Sie detaillierte Metadateninformationen zu einem bestimmten Zotero-Elementzotero_item_fulltext
: Holen Sie sich den vollständigen Text eines bestimmten Zotero-Elements (z. B. PDF-Inhalte).
Diese können über jeden MCP-Client oder über den MCP Inspector entdeckt und aufgerufen werden.
Jedes Tool gibt formatierten Text mit relevanten Informationen aus Ihren Zotero-Elementen zurück, und KI-Assistenten wie Claude können diese nacheinander verwenden, nach Elementen suchen und dann deren Metadaten oder Textinhalte abrufen.
Installation
Dieser Server kann entweder über eine lokale API der Zotero-Desktopanwendung oder über die Zotero-Web-API ausgeführt werden. Die lokale API kann etwas schneller reagieren, erfordert aber, dass die Zotero-App auf demselben Computer läuft und die API aktiviert ist. Um die lokale API zu aktivieren, führen Sie die folgenden Schritte aus:
- Öffnen Sie Zotero und öffnen Sie „Zotero-Einstellungen“
- Aktivieren Sie auf der Registerkarte „Erweitert“ das Kontrollkästchen „Anderen Anwendungen auf diesem Computer erlauben, mit Zotero zu kommunizieren“.
[!WICHTIG] Für den Zugriff auf den
/fulltext
-Endpunkt der lokalen API, der den vollständigen Inhalt Ihrer Bibliothek abruft, benötigen Sie eine Zotero-Betaversion (Stand: 30.03.2025). Nach Veröffentlichung von Version 7.1 ist dies nicht mehr erforderlich. Weitere Informationen finden Sie unter https://github.com/zotero/zotero/pull/5004 . Wenn Sie dies nicht möchten, verwenden Sie stattdessen die Web-API.
Um die Zotero Web API zu verwenden, müssen Sie einen API-Schlüssel erstellen und Ihre Bibliotheks-ID (normalerweise Ihre Benutzer-ID) in den Einstellungen Ihres Zotero-Kontos hier finden: https://www.zotero.org/settings/keys
Dies sind die verfügbaren Konfigurationsoptionen:
ZOTERO_LOCAL=true
: Benutze die lokale Zotero-API (Standard: false, siehe Hinweis unten)ZOTERO_API_KEY
: Ihr Zotero-API-Schlüssel (für die lokale API nicht erforderlich)ZOTERO_LIBRARY_ID
: Ihre Zotero-Bibliotheks-ID (Ihre Benutzer-ID für Benutzerbibliotheken, für die lokale API nicht erforderlich)ZOTERO_LIBRARY_TYPE
: Der Typ der Bibliothek (Benutzer oder Gruppe, Standard: Benutzer)
uvx
mit lokaler Zotero-API
Um dies mit Claude Desktop und einer direkten Python-Installation mit uvx
zu verwenden, fügen Sie der mcpServers
-Konfiguration Folgendes hinzu:
Das Flag --upgrade
ist optional und lädt die neueste Version herunter, sobald neue verfügbar sind. Wenn Sie uvx
nicht installiert haben, können Sie stattdessen pipx run
verwenden oder dieses Repository lokal klonen und die Anweisungen unter „Entwicklung“ unten befolgen.
Docker mit Zotero Web API
Wenn Sie diesen MCP-Server in einem Docker-Container ausführen möchten, können Sie die folgende Konfiguration verwenden und Ihren API-Schlüssel und Ihre Bibliotheks-ID einfügen:
Um auf eine neuere Version zu aktualisieren, führen Sie docker pull ghcr.io/kujenga/zotero-mcp:main
aus. Sie können auch die Docker-basierte Installation verwenden, um mit der lokalen Zotero-API zu kommunizieren. Dazu müssen Sie jedoch den obigen Befehl anpassen, um sicherzustellen, dass eine Netzwerkverbindung zur lokalen API-Schnittstelle der Zotero-Anwendung besteht.
Entwicklung
Informationen zum Vornehmen von Änderungen und zum Mitwirken am Projekt.
- Dieses Repository klonen
- Installieren Sie Abhängigkeiten mit uv , indem Sie Folgendes ausführen:
uv sync
- Erstellen Sie im Projektstamm eine
.env
Datei mit den oben genannten Umgebungsvariablen
Starten Sie den MCP Inspector für die lokale Entwicklung:
Um das lokale Repository mit Claude Desktop zu testen, führen Sie echo $PWD/.venv/bin/zotero-mcp
in Ihrer Shell in diesem Verzeichnis aus und legen Sie dann Folgendes in Ihrer Claude Desktop-Konfiguration fest
Ausführen von Tests
So führen Sie die Testsuite aus:
Docker-Entwicklung
Erstellen Sie das Container-Image mit diesem Befehl:
Um den Container mit dem MCP-Inspector zu testen, führen Sie den folgenden Befehl aus:
Relevante Dokumentation
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Dieser Server ermöglicht Benutzern die Interaktion mit ihrer Zotero-Bibliothek über das Model Context Protocol und bietet Tools zum Suchen von Elementen, Abrufen von Metadaten und Zugriff auf den Volltext mithilfe von Abfragen in natürlicher Sprache.
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables Large Language Models to seamlessly interact with ClickHouse databases, supporting resource listing, schema retrieval, and query execution.Last updated -1PythonMIT License
- -securityAlicense-qualityA server that enables MCP clients like Anthropic Claude App to interact with local Zotero libraries, allowing users to search papers, manage notes, and access research materials through natural language.Last updated -2PythonApache 2.0
- -securityFlicense-qualityA Model Context Protocol server implementation that provides a standardized interface for interacting with Spiral's language models, offering tools to generate text from prompts, files, or web URLs.Last updated -14Python
- AsecurityAlicenseAqualityConnects your Zotero research library with Claude and other AI assistants via the Model Context Protocol, allowing you to search your library, access content, discuss papers, get summaries, and analyze citations.Last updated -1012PythonMIT License