/ ディレクトリ / プレイグラウンド / zotero-mcp
● コミュニティ cookjohn ⚡ 即起動

zotero-mcp

作者 cookjohn · cookjohn/zotero-mcp

Claude に Zotero ライブラリの検索、保存済み PDF の読み取り、文献引用を行わせることができます。ローカル Zotero プラグインとして実行されるため、何もマシンの外に出ません。

zotero-mcp は Zotero プラグイン(スタンドアロンサーバーではありません)で、ポート 23120 で Streamable HTTP を通じて約 20 個の MCP ツールを公開します。検索、セマンティックマッチング、アノテーション取得、ローカルライブラリへの書き込み操作に対応しています。Zotero 内にシップされているため、PDF を再度アップロードする必要はありません。

なぜ使うのか

主な機能

ライブデモ

実際の動作

zotero.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "zotero": {
      "command": "npx",
      "args": [
        "-y",
        "zotero-mcp"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "zotero": {
      "command": "npx",
      "args": [
        "-y",
        "zotero-mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "zotero": {
      "command": "npx",
      "args": [
        "-y",
        "zotero-mcp"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "zotero": {
      "command": "npx",
      "args": [
        "-y",
        "zotero-mcp"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "zotero",
      "command": "npx",
      "args": [
        "-y",
        "zotero-mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "zotero": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "zotero-mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add zotero -- npx -y zotero-mcp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: zotero-mcp

Zotero ライブラリから文献レビューを作成する方法

👤 研究者、博士課程学生、分析家 ⏱ ~45 min intermediate

使うタイミング: Zotero で特定のトピックに関する 50 以上の論文を集めており、それらを一貫したレビューに統合する必要があります。

前提条件
  • zotero-mcp プラグインがインストールされた Zotero デスクトップ — リリースから .xpi をダウンロードし、Tools → Add-ons → Install from file で実行します。
  • PDF がアタッチされてインデックスされている — 検索が空の場合は、右クリック → Rebuild Full-Text Index を実行してください。
フロー
  1. レビューのスコープを決定する
    Zotero コレクション 'Agentic AI' をセマンティック検索して、ツール選択戦略に関する論文を探してください。上位 15 件を返してください。✓ コピーしました
    → タイトル、著者、年、要約スニペット付きのランク付きリスト
  2. 論文ごとに重要な主張を抽出する
    その 15 件それぞれについて、全文を読み、(a)主要な主張、(b)方法論、(c)データセットまたは設定を抽出してください。✓ コピーしました
    → ソート可能な構造化テーブル
  3. 引用を含めて統合する
    これらを手法でクラスタリングした 3 ページのレビューを作成してください。すべての主張を (Author, Year) スタイルの Zotero アイテムキーで引用してください。✓ コピーしました
    → 括弧付き引用がライブラリにマッピングされた草稿

結果: あなたが実際に所有している論文に基づいた初期草稿レビューであり、すべての主張が Zotero アイテムにトレーサブルです。

注意点
  • 全文検索が何も返さない — Zotero はテキストレイヤー PDF のみをインデックスします。画像 PDF に対してはまず OCR を実行してください。
  • 引用が幻覚化される — すべての引用の横に Zotero アイテムキー(例:ABCD1234)を要求してください。これをベリファイヤーに貼り付けることができます。
組み合わせ: arxiv

Zotero コレクション全体のハイライトを要約する

👤 熱心な読者、ナレッジワーカー ⏱ ~20 min beginner

使うタイミング: 30 冊の本や論文にわたってハイライトを付け、テーマ別の要約が必要です。

フロー
  1. 色またはタグでアノテーションを取得する
    コレクション 'Product Strategy' の黄色いハイライトを検索してください。ハイライトされたテキストと親アイテムを返してください。✓ コピーしました
    → ソースでグループ化されたハイライトのリスト
  2. テーマにクラスタリングする
    ハイライトを 5~7 個のテーマにクラスタリングしてください。各テーマについて、ソースアイテムを含めた 2 文の統合を提供してください。✓ コピーしました
    → 引用付きテーマ別ノート

結果: 散在したハイライトが個人的なナレッジベースノートに変換されます。

組み合わせ: anytype

新しく追加された Zotero 論文を自動タグ付けしアノテーションする

👤 ライブラリ管理者 ⏱ ~15 min intermediate

使うタイミング: 論文を 'Unsorted' コレクションにドロップし、週ごとに分類したい場合。

フロー
  1. 'Unsorted' に今週追加されたアイテムをリストアップする
    過去 7 日間に 'Unsorted' コレクションに追加された Zotero アイテムをリストアップしてください。✓ コピーしました
    → 新しいアイテムのインボックス
  2. アイテムごとにタグと 1 行の要約を生成する
    それぞれについて、要約に基づいて 3~5 個のタグと 1 行の要約を提案し、書き込みツールを使用して適用してください。✓ コピーしました
    → アイテムがタグ付けされ、要約がノート添付として保存されます。

結果: 一貫したタグ付けを持つ自己維持型の Zotero ライブラリ。

注意点
  • 書き込みツールはライブラリを不可逆的に変更します — アンドゥはありません。 — まずテストコレクションに対して実行するか、書き込みを有効にする前に zotero.sqlite をバックアップしてください。

組み合わせ

他のMCPと組み合わせて10倍の力を

zotero + arxiv

Arxiv ファーストの探索、その後 Zotero への自動保存により読み取り

検索拡張エージェントに関する最近の arxiv 論文 10 件を探し、まだ持っていないものを 'Agents' Zotero コレクションに追加してください。✓ コピーしました
zotero + anytype

文献ノートは Anytype に保管され、ソース PDF は Zotero に保管されます。

'Agents' コレクションの上位 10 論文について、論文ごとに要約と Zotero アイテムキーへのバックリンク付きの Anytype ページを作成してください。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
search_library query: str, filters?: { collection, tag, itemType } ライブラリ全体のテキスト/メタデータ検索 0 — ローカル DB
search_fulltext query: str PDF 本文内での検索(インデックス済みテキストレイヤーのみ) 0
semantic_search query: str, top_k?: int キーワードではなくコンセプトレベルのマッチ 0 — ローカルエンベディング
search_annotations color?, tag?, query? ハイライト/ノートを取得する 0
get_item_details item_key: str 検索結果から参照を展開する 0
get_content item_key or attachment_key フルペーパーを Claude に与える 0

コストと制限

運用コスト

APIクォータ
なし — 完全ローカル
呼び出しあたりのトークン
PDF 全体の取得で 30k 以上のトークンに達する可能性があります。フィードする前にチャンクに分割してください。
金額
無料(Zotero は無料。プラグインは MIT)
ヒント
get_content で PDF 全体を返すのではなく、search_fulltext でスニペットを返すことをお勧めします。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: なし — プラグインは Zotero 内で実行され、127.0.0.1:23120 でローカル HTTP を使用します。
データ送信先: 読み取りモードではなし。書き込みは zotero.sqlite をローカルで変更します。

トラブルシューティング

よくあるエラーと対処法

MCP クライアントがポート 23120 に接続できません

Zotero → Preferences → Zotero MCP Plugin を開き、'Enable server' がチェックされ、ポートがブロックされていないことを確認してください。

確認: curl http://127.0.0.1:23120/health
全文検索が空を返す

PDF にはテキストレイヤーがありません。アイテムを右クリック → Reindex Item、または Zotero の組み込み OCR を使用して OCR を実行してください。

書き込み操作が禁止されています

プラグイン設定で書き込みモードを有効にしてください — 安全性のためデフォルトではオフです。

代替案

zotero-mcp 他との比較

代替案代わりに使う場面トレードオフ
Official Zotero Web APIリモートサーバーからクラウド同期アクセスが必要な場合API キーが必要です。レート制限があります。セマンティック検索がありません。
Readwise MCPハイライトが Zotero ではなく Readwise に保管されている場合クラウドベースで、サブスクリプションが必要です。

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る