Zotero MCP Server

by kujenga

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-Bibliothek
  • zotero_item_metadata : Erhalten Sie detaillierte Metadateninformationen zu einem bestimmten Zotero-Element
  • zotero_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:

  1. Öffnen Sie Zotero und öffnen Sie „Zotero-Einstellungen“
  2. 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:

{ "mcpServers": { "zotero": { "command": "uvx", "args": ["--upgrade", "zotero-mcp"], "env": { "ZOTERO_LOCAL": "true", "ZOTERO_API_KEY": "", "ZOTERO_LIBRARY_ID": "" } } } }

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:

{ "mcpServers": { "zotero": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "ZOTERO_API_KEY=PLACEHOLDER", "-e", "ZOTERO_LIBRARY_ID=PLACEHOLDER", "ghcr.io/kujenga/zotero-mcp:main" ], } } }

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.

  1. Dieses Repository klonen
  2. Installieren Sie Abhängigkeiten mit uv , indem Sie Folgendes ausführen: uv sync
  3. Erstellen Sie im Projektstamm eine .env Datei mit den oben genannten Umgebungsvariablen

Starten Sie den MCP Inspector für die lokale Entwicklung:

npx @modelcontextprotocol/inspector uv run zotero-mcp

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

{ "mcpServers": { "zotero": { "command": "/path/to/zotero-mcp/.venv/bin/zotero-mcp" "env": { // Whatever configuration is desired. } } } }

Ausführen von Tests

So führen Sie die Testsuite aus:

uv run pytest

Docker-Entwicklung

Erstellen Sie das Container-Image mit diesem Befehl:

docker build . -t zotero-mcp:local

Um den Container mit dem MCP-Inspector zu testen, führen Sie den folgenden Befehl aus:

npx @modelcontextprotocol/inspector \ -e ZOTERO_API_KEY=$ZOTERO_API_KEY \ -e ZOTERO_LIBRARY_ID=$ZOTERO_LIBRARY_ID \ docker run --rm -i \ --env ZOTERO_API_KEY \ --env ZOTERO_LIBRARY_ID \ zotero-mcp:local

Relevante Dokumentation

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

  1. Merkmale
    1. Installation
      1. uvx mit lokaler Zotero-API
      2. Docker mit Zotero Web API
    2. Entwicklung
      1. Ausführen von Tests
      2. Docker-Entwicklung
    3. Relevante Dokumentation

      Related MCP Servers

      • -
        security
        A
        license
        -
        quality
        A 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 -
        1
        Python
        MIT License
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        A 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 -
        2
        Python
        Apache 2.0
        • Apple
      • -
        security
        F
        license
        -
        quality
        A 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 -
        14
        Python
        • Linux
        • Apple
      • A
        security
        A
        license
        A
        quality
        Connects 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 -
        10
        12
        Python
        MIT License

      View all related MCP servers

      ID: jknz38ntu4