Zotero MCP について
Zotero MCPは、対応するAIクライアントからZoteroライブラリを読み書きするMCPサーバーです。文献検索やメタデータ取得に加え、コレクション管理、BibTeXのインポート、重複項目の統合に対応します。
主な機能
- 01条件を指定したアイテム検索
- 02メタデータ取得とBibTeX出力
- 03アイテムの作成と更新
- 04コレクションとタグの管理
- 05BibTeXエントリーのインポート
- 06重複項目の検索と統合
活用シーン
- 01コレクション、種類、タグで論文を検索
- 02DOIから文献をライブラリに追加
- 03BibTeXをコレクションにインポート
- 04重複レコードを検索して統合
MCP 対応
Zoteroの検索、読み取り、書き込み、コレクション管理、重複処理をツールとしてMCPクライアントに公開します。Zotero Web APIを使用し、APIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
zotero-mcp
Zotero 用の読み書き対応 MCP サーバーです。AI アシスタントから Zotero ライブラリを管理するための、書き込みを完全にサポートする MCP サーバーです。
Claude Code/Desktop や、MCP 対応のあらゆるクライアントから、アイテムの作成、コレクションの管理、重複の検索と統合、BibTeX のインポートができます。
Zotero Web API を使用します(API キーが必要です)。キーは https://www.zotero.org/settings/keys で取得できます。
機能
検索と読み取り
| ツール | 説明 |
|---|---|
search_items | コレクション、種類、タグで絞り込める全文検索 |
get_item | 1 件のアイテムの詳細なメタデータまたは BibTeX エクスポート |
get_collections | 階層とアイテム数を含むすべてのコレクションの一覧 |
get_collection_items | 特定のコレクション内のアイテム一覧 |
find_duplicates | タイトル/DOI による重複検索、またはライブラリ全体のスキャン |
get_tags | アイテム数を含むすべてのタグの一覧 |
書き込み
| ツール | 説明 |
|---|---|
create_item | フィールドデータからアイテムを作成 |
create_item_from_doi | DOI からアイテムを作成(Zotero translator と CrossRef を使用してメタデータを自動入力) |
import_bibtex | BibTeX エントリをコレクションにインポート |
update_item | バージョン競合保護付きでアイテムのフィールドを更新 |
コレクション
| ツール | 説明 |
|---|---|
create_collection | コレクションを作成(親コレクションは任意) |
add_to_collections | アイテムを複数のコレクションに一度に追加 |
remove_from_collection | アイテムをコレクションから削除(アイテム自体は削除されません) |
管理
| ツール | 説明 |
|---|---|
merge_duplicates | 重複アイテムを統合:メタデータ、タグ、コレクションを残すアイテムに移し、残りを削除 |
delete_item | アイテムを削除 |
インストール
Python 3.11 以降と uv が必要です。
# Clone the repo
git clone https://github.com/BirdInTheTree/zotero-mcp.git
cd zotero-mcp
uv sync
使い方
Claude Code
claude mcp add zotero \
-e ZOTERO_API_KEY=your-key \
-e ZOTERO_USER_ID=your-user-id \
-- uv run --directory /path/to/zotero-mcp python -m zotero_mcp
Claude Desktop
Claude Desktop の設定(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json)に追加します。
{
"mcpServers": {
"zotero": {
"command": "uv",
"args": ["run", "--directory", "/path/to/zotero-mcp", "python", "-m", "zotero_mcp"],
"env": {
"ZOTERO_API_KEY": "your-key",
"ZOTERO_USER_ID": "your-user-id"
}
}
}
}
設定
| 変数 | 必須 | 説明 |
|---|---|---|
ZOTERO_API_KEY | はい | Zotero Web API キー |
ZOTERO_USER_ID | はい | Zotero ユーザー ID |
API キーは https://www.zotero.org/settings/keys で取得できます。ユーザー ID は同じページに表示されています。
使用例
接続したら、AI アシスタントに次のようなことを尋ねられます。
- 「Zotero で論文を検索して……」
- 「……という名前の新しいコレクションを作成して」
- 「この BibTeX をコレクションにインポートして」
- 「ライブラリ内の重複アイテムを見つけて統合して」
- 「この論文を両方のコレクションに追加して」
- 「DOI 10.1234/example を調べてライブラリに追加して」
開発
# Install with dev dependencies
uv sync --dev
# Run tests
uv run pytest tests/ -v
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。