endnote-mcp について
endnote-mcpは、研究者や執筆者向けにEndNoteの文献ライブラリをClaude Desktopへ接続します。文献とPDFをローカルでインデックス化し、検索、引用形式の作成、文献目録の生成、任意のセマンティック検索に対応します。
主な機能
- 01文献メタデータとPDF本文の検索
- 02意味的な類似性による論文検索
- 03PDF添付ファイルの指定ページを読む
- 04引用と文献目録の書式設定
- 05文献をBibTeXとしてエクスポート
- 06ローカルライブラリの差分インデックス作成
活用シーン
- 01文献レコードとPDFを横断して論文を検索
- 02研究執筆中に関連ページを読む
- 03原稿の引用や文献目録を整える
- 04選択した文献をLaTeX用にエクスポート
MCP 対応
MCPサーバーは、インデックス化したEndNoteライブラリの検索、PDFの読み取り、引用形式の作成、文献のエクスポートを行う12個のツールを提供します。Claude DesktopはMCP経由で接続し、文献データはローカルでインデックス化されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
EndNote MCP
EndNote の参考文献ライブラリを Claude AI に接続できます。Claude Desktop の会話から、参考文献の検索、PDF の閲覧、引用の書式設定、関連論文の検索、参考文献一覧の生成をすべて直接行えます。
できること
セットアップすると、Claude に次のような質問ができます。
- 「ライブラリから social capital と Bourdieu を検索して」
- 「組織が不確実性にどのように対処するかについての論文を探して」(セマンティック検索)
- 「論文 #3844 に関連する参考文献を探して」
- 「参考文献 #1234 の APA 形式の引用を教えて」
- 「参考文献 12、45、78、102 の参考文献一覧を作成して」
- 「参考文献 12、45、78 を BibTeX としてエクスポートして」
- 「その Smith et al. の論文の 5~7 ページを読んで」
Claude が検索するのはローカルのライブラリです。通常の会話の範囲を超えて、データがクラウドにアップロードされることはありません。
仕組み
EndNote Library → XML Export → endnote-mcp index → SQLite Database (FTS5 + Embeddings)
↕
Claude Desktop ← MCP Server (12 tools)
参考文献と PDF のテキストは、全文検索機能を備えたローカルの SQLite データベースにインデックス化されます。オプションで AI の埋め込みを利用すると、キーワードだけでなく意味に基づいて論文を見つけるセマンティック検索が可能になります。セマンティック検索の依存関係がインストールされている場合、インデックス作成時に新しい参考文献が自動的に埋め込まれます。Claude は Model Context Protocol (MCP) を介して接続します。
必要条件
- EndNote 20 以降(すべてのエディション)
- Claude Desktop アプリ
以下のバンドルインストーラーには、ほかに必要なものはありません。Python と依存関係は Claude Desktop が管理します。CLI でインストールする場合は、Python 3.10 以降と uv(または pip)も必要です。
インストール(デスクトップバンドル — 推奨)
技術者以外の方向けの最も簡単なインストール方法です。Python もターミナルも必要ありません。
- EndNote からライブラリをエクスポートします。 「File → Export」を選択し、形式として XML を選んで、デスクトップなどに保存します。
- 最新リリースから
endnote-mcp.mcpbをダウンロードします。 .mcpbファイルをダブルクリックします(または Claude Desktop で「Settings → Extensions → Install Extension…」を選択します)。- インストールダイアログで、Claude Desktop に次の場所を指定します。
- 手順 1 で作成した EndNote XML ファイル
- PDF Attachments Folder — 通常は
.enlファイルと同じ場所にある<library>.Data/PDF/、または.enlpパッケージ内のPDF/
- 「Install」をクリックします。Claude Desktop がライブラリのインデックス作成を自動的に開始します。メタデータは数秒で検索可能になり、PDF のテキストとセマンティック埋め込みはバックグラウンドで処理されます。
これで完了です。Claude に*「ライブラリから grounded theory を検索して」*と頼んでみてください。
このバンドルは独自の設定(config-mcpb.yaml)を使用するため、インストールしても既存の CLI の設定には影響しません。どちらも同じデータベースをデフォルトで使用するため、すでに CLI でインデックスを作成済みの場合、バンドルは別のコピーを作成せず、そのインデックスを再利用します。
バンドルを自分でビルドする
メンテナー(またはソースコードを使用する方)は、次のコマンドでビルドできます。
bash scripts/build_mcpb.sh
# → dist/endnote-mcp.mcpb
ビルドされるのは、クロスプラットフォーム対応の単一の .mcpb ファイル(約 36 KB)です。依存関係は、Claude Desktop に同梱されている uv ランタイムを介してインストール時に解決されます。
この形式は以前 DXT と呼ばれ、
.dxt拡張子を使用していましたが、上流で MCPB(MCP Bundles)に名称変更されました。modelcontextprotocol/mcpb を参照してください。
インストール(CLI/PyPI から)
ターミナルを使いますか?この方法では、インデックス作成と埋め込みに使用できる endnote-mcp CLI を利用できます。
1. インストール
# With uv (recommended)
uv tool install endnote-mcp
# Or with pip
pip install endnote-mcp
2. EndNote からライブラリをエクスポートする
EndNote で、File → Export を選択し、形式として XML を選んで、デスクトップなどの使いやすい場所に保存します。
3. セットアップウィザードを実行する
endnote-mcp setup
ウィザードでは、次の操作を行います。
- XML エクスポートと PDF ディレクトリを自動検出します
- 設定を作成します
- ライブラリをインデックス化します
- Claude Desktop を自動的に設定します
4. Claude Desktop を再起動する
Claude Desktop を終了して、再度開きます。MCP コネクターに「EndNote Library」が表示されます。
Claude Code プラグインとエージェントスキル
このリポジトリには、ライブラリの操作方法をエージェントに教えるスキル endnote-library が含まれています。ツールが返したレコードのみを引用すること、PDF 上の位置ではなく印刷されたページからページ番号を取得すること、引用文を一語一句確認すること、草稿の参考文献を1件ずつ検証することを教えます。
Claude Code。 まず CLI をインストールしてライブラリをインデックス化し(上記の手順1~3)、次を実行します。
/plugin install endnote --marketplace gokmengokhan/endnote-mcp
2.1.275 より前の Claude Code では、/plugin marketplace add gokmengokhan/endnote-mcp を実行してから、/plugin install endnote@endnote-mcp を実行します。このプラグインはスキルを追加し、endnote-mcp serve でサーバーを起動するため、このコマンドを PATH に含める必要があります。同じコマンドで claude mcp add を実行してサーバーをすでに追加している場合、Claude Code は一度だけ接続します。別のコマンドやパスを使っている場合は、ツールの重複を避けるため、claude mcp remove endnote で削除してください。
Claude Desktop。 plugin/skills/endnote-library/ フォルダーを ZIP に圧縮し、Customize > Skills からアップロードします。
その他のエージェント。 Agent Skills(SKILL.md フォルダー)を読み取るエージェントでも同じスキルを使用できます。plugin/skills/endnote-library/ をエージェントのスキルディレクトリにコピーしてください。
セマンティック検索(任意)
クエリと異なる用語が使われていても、関連する参考文献を見つける意味ベースの検索を有効にします。たとえば、「不確実な将来に企業がどう備えるか」を検索すると、シナリオプランニングや戦略的先見に関する論文が見つかります。
# Install semantic search dependencies
pip install endnote-mcp[semantic]
# Generate embeddings (~3 min for 4,000 references)
endnote-mcp embed
軽量な all-MiniLM-L6-v2 モデルをローカルで使用します。API キーは不要で、すべてのデータはお使いのマシン内に保持されます。
コマンド
| コマンド | 説明 |
|---|---|
endnote-mcp setup | 対話形式のセットアップウィザード |
endnote-mcp index | 新しい参考文献を追加した後にインデックスを再作成します(増分) |
endnote-mcp index --full | 最初からインデックスをすべて再作成します |
endnote-mcp index --skip-pdfs | メタデータのみをインデックス化します(高速、約1秒) |
endnote-mcp index --embed | インデックスを再作成し、埋め込みを生成します |
endnote-mcp embed | セマンティック検索用の埋め込みを生成します |
endnote-mcp embed --full | すべての埋め込みを最初から再生成します |
endnote-mcp status | インデックスの統計情報を表示します |
endnote-mcp install | Claude Desktop の設定に追加します |
endnote-mcp serve | MCP サーバーを起動します(Claude Desktop が自動的に使用) |
Claude で利用できるツール
| ツール | 説明 |
|---|---|
search_references | 著者、タイトル、年、キーワード、要旨で検索します(BM25 順位付け、DOI リンク付き) |
search_fulltext | PDF の内容を検索し、概念、引用、手法を見つけます |
search_library | 1回の呼び出しでメタデータと PDF をまとめて検索します |
search_semantic | AI 埋め込みを使用して意味で検索します(endnote-mcp[semantic] が必要) |
get_reference_details | 参考文献の完全なメタデータ(要旨、キーワード、DOI など)を取得します |
get_citation | APA 第7版、Harvard、Vancouver、Chicago、IEEE 形式に変換します |
get_bibtex | LaTeX 用の BibTeX エントリーとして参考文献をエクスポートします |
get_bibliography | 複数の参考文献を整形した参考文献一覧を生成します |
find_related | 類似する参考文献を検索します(利用可能な場合は埋め込みを使用) |
read_pdf_section | PDF 添付ファイルの特定ページを読み取ります |
list_references_by_topic | トピックに基づいて広く参考文献を一覧表示します |
rebuild_index | EndNote ライブラリを更新した後にインデックスを再作成します |
新しい参考文献の追加
EndNote ライブラリに新しい参考文献を追加した場合:
- EndNote からXML を再エクスポートします(同じファイルを上書きします)。
- 次のいずれかを実行します。
- ターミナルから
endnote-mcp indexを実行する、または - Claude に「ライブラリのインデックスを再構築して」と依頼する
- ターミナルから
インデックス作成は増分処理です。ライブラリ全体を再処理するのではなく、新しい参考文献と PDF のみを処理します。セマンティック検索がインストールされている場合、新しい参考文献は自動的に埋め込み表現に変換されます。
パフォーマンス
| 操作 | 所要時間(参考文献 4,000 件の場合) |
|---|---|
| メタデータのインデックス作成 | 約 1 秒 |
| PDF の抽出(初回) | PDF 100 件あたり約 1 分 |
| PDF の抽出(増分処理) | 新しい PDF のみ |
| 埋め込み表現の生成 | 約 3 分 |
| キーワード検索 | 50 ミリ秒未満 |
| セマンティック検索 | 200 ミリ秒未満 |
設定
設定は次の場所に保存されます。
- macOS:
~/Library/Application Support/endnote-mcp/config.yaml - Windows:
%APPDATA%/endnote-mcp/config.yaml - Linux:
~/.config/endnote-mcp/config.yaml
endnote_xml: /path/to/your/library.xml
pdf_dir: /path/to/your/Library.Data/PDF
db_path: /path/to/library.db # auto-set by setup
max_pdf_pages: 30 # max pages per read request
search_notes: false # include the EndNote Notes field in searches
Notes フィールド
EndNote のResearch Notes(独自の要約や評価を記録するフィールド)は、デフォルトでインデックス作成と検索の対象になり、キーワードの直下、抄録の上位にランク付けされます。
通常のNotesフィールドもインデックス作成の対象ですが、一致判定からは除外されます。これは、文献管理ソフトがインポート時に、著者の所属、メールアドレス、シソーラス用語などをこのフィールドに格納するためです。search_notes: true を設定すると、検索対象に含められます。この設定はすぐに反映され、再インデックスは不要です。
引用スタイル
組み込みスタイルは 5 種類です。
- APA 第 7 版 —
get_citation(rec_number=42, style="apa7") - Harvard —
style="harvard" - Vancouver —
style="vancouver" - Chicago(著者・日付方式、第 17 版)—
style="chicago" - IEEE —
style="ieee"
get_bibliography を使うと、複数の参考文献をまとめて書式設定し、著者名または年で並べ替えられます。
BibTeX エクスポート
LaTeX で使用する参考文献を BibTeX エントリーとしてエクスポートします。
- Claude に「参考文献 42 と 100 を BibTeX としてエクスポートして」と依頼する
- または、カンマ区切りのレコード番号を指定して
get_bibtexツールを直接使用する
適切なエントリータイプ(@article、@book、@inproceedings など)、引用キー、利用可能なすべてのフィールドを含む完全なエントリーが生成されます。
トラブルシューティング
「No configuration found」 — endnote-mcp setup を実行します。
「XML file not found」 — EndNote から再エクスポートします:File → Export → XML format
「PDF not found」 — 設定の pdf_dir が正しい .Data/PDF ディレクトリを指していることを確認します。
検索結果がない — endnote-mcp index を実行してデータベースを再構築します。
Claude Desktop にツールが表示されない — endnote-mcp install を実行してから、Claude Desktop を再起動します。
「Semantic search is not available」 — pip install endnote-mcp[semantic] を実行し、その後 endnote-mcp embed を実行します。
クライアントに「failed to connect」または CONNECTION_CLOSED と表示される — クライアントは内部エラーを隠しています。echo '' | endnote-mcp serve を実行すると、実際のトレースバックを確認できます(その後に表示される JSON デコードエラーは空の入力によるもので、障害ではありません)。
リリース
公開処理はタグのプッシュ時に .github/workflows/release.yml から実行され、OIDC を使って PyPI と MCP Registry にアップロードします。API トークンはリポジトリに保存されません。
バージョンは 7 か所に記載されており、公開済みの PyPI リリースと完全に一致しない server.json はレジストリに拒否されます。すべての箇所のバージョンを更新し、タグを付ける前に確認してください。
# pyproject.toml, server.json (x2), CITATION.cff, the README citation
# block, mcpb/manifest.json and mcpb/pyproject.toml
python scripts/check_version.py v1.4.12
git commit -am "Bump version to 1.4.12"
git tag v1.4.12 && git push origin main --tags
このソフトウェアの引用
このツールを研究で使用する場合は、次のように引用してください。
Gokmen, G. (2026). EndNote MCP: Connecting EndNote Reference Libraries to Claude AI (Version 1.4.15) [Computer software]. https://doi.org/10.5281/zenodo.18617546
または、GitHub の「Cite this repository」ボタンを使って BibTeX/APA 形式で引用してください。
ライセンス
AGPL-3.0 — 無料で使用、改変、配布できます。詳細は LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。