Skip to main content
Glama

Zotero MCP Server

by kujenga

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を有効にするには、以下の手順を実行してください。

  1. Zoteroを開き、「Zotero設定」を開きます
  2. 「詳細設定」タブで、「このコンピューター上の他のアプリケーションが 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構成に以下を追加します。

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

--updateフラグはオプションで、新しいバージョンが利用可能になった際に最新のバージョンをプルします。uvx がインストールuvxれていない場合は、代わりにpipx runを使用するか、このリポジトリをローカルにクローンして、以下の開発手順を実行してください。

Zotero Web API を使用した Docker

この MCP サーバーを Docker コンテナで実行する場合は、API キーとライブラリ ID を挿入して次の構成を使用できます。

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

新しいバージョンにアップデートするには、 docker pull ghcr.io/kujenga/zotero-mcp:mainを実行してください。dockerベースのインストールを使用してローカルのZotero APIと通信することも可能ですが、ZoteroアプリケーションのローカルAPIインターフェースへのネットワーク接続を確保するために、上記のコマンドを変更する必要があります。

発達

プロジェクトに変更を加えたり貢献したりするための情報。

  1. このリポジトリをクローンする
  2. uv syncを実行して、 uvで依存関係をインストールします。
  3. 上記の環境変数を含む.envファイルをプロジェクトルートに作成します。

ローカル開発用にMCP Inspectorを起動します。

npx @modelcontextprotocol/inspector uv run zotero-mcp

Claude Desktopに対してローカルリポジトリをテストするには、このディレクトリ内のシェルでecho $PWD/.venv/bin/zotero-mcpを実行し、Claude Desktop構成で以下を設定します。

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

テストの実行

テスト スイートを実行するには:

uv run pytest

Docker開発

次のコマンドでコンテナ イメージをビルドします。

docker build . -t zotero-mcp:local

MCP インスペクターを使用してコンテナをテストするには、次のコマンドを実行します。

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

関連ドキュメント

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.

このサーバーは、モデル コンテキスト プロトコルを通じてユーザーが Zotero ライブラリと対話できるようにし、アイテムの検索、メタデータの取得、自然言語クエリを使用した全文へのアクセスを行うツールを提供します。

  1. 特徴
    1. インストール
      1. ローカル Zotero API を使用したuvx
      2. Zotero Web API を使用した Docker
    2. 発達
      1. テストの実行
      2. Docker開発
    3. 関連ドキュメント

      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 -
        11
        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
        58
        Python
        MIT License

      View all related MCP servers

      MCP directory API

      We provide all the information about MCP servers via our MCP API.

      curl -X GET 'https://glama.ai/api/mcp/v1/servers/kujenga/zotero-mcp'

      If you have feedback or need assistance with the MCP directory API, please join our Discord server