Zotero 用モデルコンテキストプロトコルサーバー
このプロジェクトは、 Zotero用のモデルコンテキストプロトコル(MCP)を実装したPythonサーバーです。これにより、AIアシスタント内でZoteroライブラリにアクセスできるようになります。MCPクライアントで使用するために、Zoteroとの小規模ながらも最大限の利便性を備えたインタラクション群を実装することを目的としています。
特徴
この MCP サーバーは次のツールを提供します。
zotero_search_items
: テキストクエリを使用して Zotero ライブラリ内のアイテムを検索しますzotero_item_metadata
: 特定の Zotero アイテムに関する詳細なメタデータ情報を取得しますzotero_item_fulltext
: 特定の Zotero アイテム(PDF コンテンツなど)の全文を取得します。
これらは、任意の MCP クライアントまたはMCP Inspectorを通じて検出およびアクセスできます。
各ツールは Zotero アイテムからの関連情報を含むフォーマットされたテキストを返します。Claude などの AI アシスタントはそれらを順番に使用してアイテムを検索し、そのメタデータまたはテキスト コンテンツを取得できます。
インストール
このサーバーは、 Zoteroデスクトップアプリケーションが提供するローカルAPI 、またはZotero Web APIを介して実行できます。ローカルAPIはレスポンスが若干速くなりますが、APIが有効になっている同じコンピューター上でZoteroアプリが動作している必要があります。ローカルAPIを有効にするには、以下の手順を実行してください。
- Zoteroを開き、「Zotero設定」を開きます
- 「詳細設定」タブで、「このコンピューター上の他のアプリケーションが Zotero と通信できるようにする」というボックスにチェックを入れます。
[!重要] ライブラリ内のアイテムの全コンテンツを取得できるローカルAPIの
/fulltext
エンドポイントにアクセスするには、 Zoteroベータビルド(2025年3月30日時点)をインストールする必要があります。7.1がリリースされると、この状況は解消されます。詳しくはhttps://github.com/zotero/zotero/pull/5004をご覧ください。ベータビルドをインストールしたくない場合は、Web APIをご利用ください。
Zotero Web API を使用するには、API キーを作成し、Zotero アカウント設定でライブラリ ID (通常はユーザー ID) を見つける必要があります ( https://www.zotero.org/settings/keys) 。
利用可能な構成オプションは次のとおりです。
ZOTERO_LOCAL=true
: ローカルの Zotero API を使用する (デフォルト: false、下記の注記を参照)ZOTERO_API_KEY
: Zotero API キー (ローカル API では必要ありません)ZOTERO_LIBRARY_ID
: Zotero ライブラリ ID (ユーザー ライブラリの場合はユーザー ID。ローカル API では必要ありません)ZOTERO_LIBRARY_TYPE
: ライブラリの種類(ユーザーまたはグループ、デフォルト: ユーザー)
ローカル Zotero API を使用したuvx
これを Claude Desktop およびuvx
を使用した直接の Python インストールで使用するには、 mcpServers
構成に以下を追加します。
--update
フラグはオプションで、新しいバージョンが利用可能になった際に最新のバージョンをプルします。uvx がインストールuvx
れていない場合は、代わりにpipx run
を使用するか、このリポジトリをローカルにクローンして、以下の開発手順を実行してください。
Zotero Web API を使用した Docker
この MCP サーバーを Docker コンテナで実行する場合は、API キーとライブラリ ID を挿入して次の構成を使用できます。
新しいバージョンにアップデートするには、 docker pull ghcr.io/kujenga/zotero-mcp:main
を実行してください。dockerベースのインストールを使用してローカルのZotero APIと通信することも可能ですが、ZoteroアプリケーションのローカルAPIインターフェースへのネットワーク接続を確保するために、上記のコマンドを変更する必要があります。
発達
プロジェクトに変更を加えたり貢献したりするための情報。
- このリポジトリをクローンする
uv sync
を実行して、 uvで依存関係をインストールします。- 上記の環境変数を含む
.env
ファイルをプロジェクトルートに作成します。
ローカル開発用にMCP Inspectorを起動します。
Claude Desktopに対してローカルリポジトリをテストするには、このディレクトリ内のシェルでecho $PWD/.venv/bin/zotero-mcp
を実行し、Claude Desktop構成で以下を設定します。
テストの実行
テスト スイートを実行するには:
Docker開発
次のコマンドでコンテナ イメージをビルドします。
MCP インスペクターを使用してコンテナをテストするには、次のコマンドを実行します。
関連ドキュメント
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
このサーバーは、モデル コンテキスト プロトコルを通じてユーザーが Zotero ライブラリと対話できるようにし、アイテムの検索、メタデータの取得、自然言語クエリを使用した全文へのアクセスを行うツールを提供します。
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 -11PythonApache 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 -1058PythonMIT License