1. はじめに
論文や技術ブログを書くとき、「主張に対して適切な参考文献を素早く見つけて引用する」ことは、想像以上に時間を消費します。
- 「この主張、誰の論文で示されていたっけ?」と Google Scholar を延々と検索する
- LLM に文章生成を任せると、存在しない論文や誤った著者をハルシネーションで生成する
- 引用フォーマット(BibTeX, APA, IEEE …)を手作業で整える
これらは執筆そのものではなく「参照管理」に消える時間です。
本記事では、文献管理ツールの定番 Zotero を Model Context Protocol (MCP) 経由で Cursor から直接呼び出し、自分の Zotero ライブラリ内の論文だけを根拠に LLM が引用候補を提案してくれる ワークフローを紹介します。検索空間が「全インターネット」から「自分が読んで保存した論文」に絞り込まれるため、ハルシネーションが激減し、引用の意思決定が圧倒的にスムーズになります。
2. Zotero とは
Zotero は、研究者・学生の間で広く使われている無料のオープンソース文献管理ソフトウェアです。
- ブラウザ拡張機能でワンクリックで論文・ウェブ記事をライブラリに保存
- PDF 本文の自動ダウンロードとフルテキスト検索
- BibTeX / BibLaTeX / CSL-JSON など多様な形式へのエクスポート
- Word / LibreOffice / Google Docs プラグインによる引用挿入
- タグ・コレクションによる柔軟な整理
つまり「自分専用の精選された論文データベース」を手元に構築できるツールです。本記事では、この資産を LLM から活用することがポイントになります。
3. Zotero MCP とは
Zotero MCP は、Zotero ライブラリを Model Context Protocol サーバとして公開するためのオープンソース実装です。
MCP は Anthropic が提唱したオープン規格で、LLM クライアント(Cursor / Claude Desktop / ChatGPT など)と外部データソースを標準化されたインターフェースで接続できます。Zotero MCP を使うと、Cursor の中から以下のような操作が可能になります。
- 自分の Zotero ライブラリ全体に対するセマンティック検索(埋め込みベース)
- タグ・コレクション・著者名による絞り込み検索
- 論文のメタデータ・アブストラクト・全文の取得
- 注釈(ハイライト・コメント)やノートの参照
要するに、「Cursor のチャットが、あなたの Zotero ライブラリを読める」 状態になります。
セットアップ方法は公式ドキュメントを参照してください:Zotero MCP - GitHub。Cursor への登録は mcp.json に Zotero MCP のエンドポイントを記述するだけで完了します。
4. Zotero MCP を使った論文執筆ワークフロー
実際の執筆フローを示します。ポイントは 「検索空間の絞り込み」 と 「人間による最終判断」 の二つです。
Step 1. 主張を書く
まずは引用を気にせず、自分の主張やストーリーラインを Cursor のエディタに書き出します。
近年、地震波形のための自己教師あり学習が注目されている。
特に、マスク化された時系列予測タスクは下流タスクの精度を改善することが示されている。
Step 2. Cursor に「Zotero から根拠を探して」と依頼する
Cursor のチャットで、自分のライブラリを根拠に引用候補を探させます。
上記の段落について、私の Zotero ライブラリから関連する論文を 5 件提案してください。各候補について、タイトル・著者・年・なぜこの段落に関連するかを示してください。
ここで重要なのは、LLM が参照するのは「あなたが過去に読んで Zotero に保存した論文」だけ という点です。Web 全体を検索させる場合と比べて、次のメリットがあります。
- すでに自分が読んだ/信頼している文献に絞れる
- 分野・トピックが自分の研究領域に自然と限定される
- 「読んでいない論文を引用してしまう」事故を防げる
- ハルシネーション(存在しない論文の生成)が起きにくい
つまり、Zotero ライブラリそのものが LLM のための「ドメイン特化型の検索インデックス」として機能する わけです。
Step 3. 候補を人間がレビューして「採用する論文」を決める
これが最も重要なステップです。LLM はあくまで 候補を提示するだけ で、どの論文を引用するかは 必ず人間が決定 します。
- 候補リストの中からタイトルとアブストラクトを Cursor 上で確認
- 必要なら Zotero MCP に全文取得を依頼し、該当箇所を読む
- 主張と本当に整合するか、文脈に合うかを自分で判断
- 採用する論文を 1〜数件選び、Cursor に「この論文を引用する形に書き直して」と依頼
LLM に丸投げせず、最終判断は研究者である自分が握る。これは研究倫理上も、論文の品質を担保する上でも譲ってはいけない一線です。Zotero MCP のワークフローは、この「人間の判断」を奪うのではなく、判断の前段にある「候補集めと整理」だけを効率化するように設計されています。
Step 4. BibTeX を生成して原稿に組み込む
採用が決まったら、Cursor から Zotero MCP 経由でメタデータを取り出し、BibTeX エントリを生成して references.bib に追記します。著者名や年の手入力ミスを避けられるのも実務上の大きな利点です。
5. まとめ
本記事では、Cursor から Zotero を Zotero MCP 経由で呼び出し、論文執筆を加速するワークフローを紹介しました。
- Zotero ライブラリは「自分専用に厳選された論文データベース」である
- Zotero MCP はそれを LLM クライアントに公開し、検索・参照可能にする
- Cursor から呼び出すことで、検索空間が自分のライブラリに絞り込まれ、ハルシネーションが起きにくくなる
- 重要なのは、最終的に どの論文を引用するかは人間が決める こと
- LLM はあくまで「候補の提案役」「整形の補助役」に徹する
「文献を探す時間」を削り、「読む・考える・書く時間」を増やす。Zotero MCP + Cursor は、研究者・技術者の執筆作業を地に足のついた形で支えてくれる組み合わせです。ぜひ自分のライブラリで試してみてください。
参考リンク
- Zotero 公式: https://www.zotero.org/
- Zotero MCP (GitHub): https://github.com/54yyyu/zotero-mcp
- Cursor 公式: https://www.cursor.com/
- Model Context Protocol: https://modelcontextprotocol.io/