bibtex-reference-manager-mcp について
学生や研究者向けのオープンソース MCP サーバーで、エクスポートした文献リストを整形、変換、検査できます。貼り付けたテキストをオフラインで処理し、文献管理サービスへの接続や元ファイルの変更は行いません。
主な機能
- 01文献エントリーの解析と正規化
- 02BibTeX、RIS、CSL JSON の相互変換
- 03DOI、キー、タイトルによる重複検出
- 04フィールド、ページ、DOI、年の検査
- 05整理された引用キーの生成
活用シーン
- 01Zotero や Mendeley のエクスポート整理
- 02EndNote RIS から BibTeX への変換
- 03論文提出前の文献リスト検査と重複削除
MCP 対応
MCP サーバーとして、解析、変換、重複検出、Lint、引用キー生成のツールをクライアントに提供します。ローカルで動作し、クライアントから渡されたテキストのみを処理します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 1 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| text | string | はい | テキスト形式の参考文献リスト:BibTeX、RIS、または CSL JSON。 |
| format | enum | いいえ | テキストの形式です。デフォルトは auto で、テキストから形式を判定します。auto | bibtex | ris | csl_json |
詳細
BibTeX Reference Manager MCP
BibTeX Reference Manager MCP は、npm で bibtex-reference-manager-mcp として公開されている、無料のオープンソース MCP サーバーです。BibTeX、RIS、CSL JSON の参考文献リストを整理、変換、重複除去、書式設定するので、壊れた .bib ファイルを手作業で直す必要がなくなります。リストを AI アプリに貼り付けて、エントリーの読み取り、別形式への変換、重複の検索、問題点の指摘、各エントリーへの分かりやすい引用キーの付与を頼めます。
学生を念頭に置いて作られています。LaTeX で論文を執筆していますか?壊れた .bib ファイルの修正、Zotero または Mendeley からのエクスポートの整理、EndNote の RIS ファイルから BibTeX への変換、提出前の論文の参考文献リストの整理を頼めます。
Claude Desktop、Claude Code、Cursor、VS Code Copilot など、MCP に対応したあらゆるアプリで使えます。お使いのコンピューター上で動作し、インターネット接続もログインも不要です。参考文献がコンピューターの外に出ることはありません。
ずっと無料です。アカウントもサブスクリプションも不要です。
インストール
npx を使って npm から直接実行できます。Node.js 20 以降が必要です。詳細はNode のバージョンをご覧ください。ほかにインストールするものはなく、アカウント、API キー、サーバー自体の設定ファイルも不要です。
npx -y bibtex-reference-manager-mcp
これらのプロンプトを試す
まず参考文献リストをチャットに貼り付けるか、ファイルを添付してから、次のように頼んでください。
- "これは references.bib です。問題をエントリーごとに調べて、壊れている箇所を教えてください。"
- "このリストの重複を見つけて、重複を除いた BibTeX ファイルを返してください。"
- "ライブラリからエクスポートしたこれらの RIS エントリーを BibTeX に変換してから、キーを smith2024deep のような形式に変更してください。"
アプリがサーバーを起動できるように、アプリの MCP 設定に追加してください。
いずれも同じ方法で同じサーバーを起動します。異なるのは設定ファイルの保存先だけです。
Claude Desktop
claude_desktop_config.json に次の内容を追加してください。
{
"mcpServers": {
"bibtex": {
"command": "npx",
"args": ["-y", "bibtex-reference-manager-mcp"]
}
}
}
ファイルを保存したら、Claude Desktop を再起動してください。
Claude Code
ターミナルで次を実行してください。
claude mcp add bibtex -- npx -y bibtex-reference-manager-mcp
Cursor
Cursor はプロジェクトフォルダー内の .cursor/mcp.json を読み込みます。すべてのプロジェクトでサーバーを使いたい場合は、ホームフォルダー内の ~/.cursor/mcp.json を読み込みます。
{
"mcpServers": {
"bibtex": {
"type": "stdio",
"command": "npx",
"args": ["-y", "bibtex-reference-manager-mcp"]
}
}
}
VS Code Copilot
ワークスペース内の .vscode/mcp.json に次の内容を追加してください。
{
"servers": {
"bibtex": {
"type": "stdio",
"command": "npx",
"args": ["-y", "bibtex-reference-manager-mcp"]
}
}
}
このサーバーを選ぶ理由
MCP サーバーの中には、参考文献管理サービスのアカウントに接続して、オンライン上のライブラリを読み込むものがあります。このサーバーはそうではありません。貼り付けたテキストを処理するので、用途の異なるツールです。
- アカウント、API キー、インターネット接続は不要です。データが外部に送信されることはありません。
- Zotero や Mendeley には接続しません。ファイルをエクスポートして貼り付けるだけなので、BibTeX、RIS、CSL JSON を出力できるあらゆる参考文献管理ソフトで使えます。
- 処理は AI の推測ではなく、コードによって行われます。変換、重複除去、検査、キーの変更は、常に同じ結果になります。
- 読み取り専用です。ライブラリやファイルを編集することはありません。結果を受け取り、何を残すかは自分で決められます。
オンラインのライブラリを検索したり変更したりするアシスタントが必要な場合は、そのサービスに接続するサーバーが必要です。このサーバーは、エクスポートしたリストを整理するためのものです。
競合比較
ほかの MCP サーバーも参考文献ライブラリに対応しています。ほとんどはオンラインアカウントまたは Web API に接続するため、データがコンピューターの外部に送信され、アカウントまたは API キーが必要です。このサーバーは貼り付けたテキストを処理するため、アカウント、API キー、インターネット接続は不要で、データがどこかに送信されることもありません。
| サーバー | オフラインで動作 | アカウントまたはキーが必要 | ライブラリの最新データを読み取る | 読み取り専用 | 形式 |
|---|---|---|---|---|---|
| BibTeX Reference Manager MCP | はい | いいえ | いいえ | はい | BibTeX, RIS, CSL JSON |
| zotero-mcp | いいえ | はい | はい | いいえ | Zotero, BibTeX |
| mendeley-mcp | いいえ | はい | はい | いいえ | Mendeley, BibTeX |
| bibtex-mcp | いいえ | 任意 | いいえ | はい | BibTeX |
| reference-mcp | いいえ | いいえ | いいえ | はい | BibTeX |
| CrossRef-MCP | いいえ | いいえ | いいえ | はい | BibTeX |
| mcp_doi2bib | いいえ | いいえ | いいえ | はい | BibTeX |
| Local-Zotero-MCP | いいえ | いいえ | はい | はい | Zotero |
| jabref-mcp | いいえ | いいえ | はい | いいえ | BibTeX |
zotero-mcp と mendeley-mcp はオンラインの Zotero または Mendeley ライブラリに接続し、内容を変更できます。bibtex-mcp、reference-mcp、CrossRef-MCP、mcp_doi2bib は、Semantic Scholar、OpenAlex、CiteAs、Google Scholar、CrossRef などの Web ソースから引用情報を取得します。Local-Zotero-MCP は Zotero デスクトップアプリを介してローカルの Zotero ライブラリを読み取ります。jabref-mcp は JabRef の .bib ファイルを読み取り、JabRef を介して項目を追加できます。
エクスポートしたリストをどこにも送信せずに整理、変換、重複排除、検査、名前変更したい場合は、このサーバーを選んでください。オンライン上の最新のライブラリを検索または変更したい場合は、ほかのサーバーを選んでください。
Zotero または Mendeley からエクスポートする
- Zotero では、コレクションを右クリックするか、項目をいくつか選択して、エクスポートオプションを選び、BibTeX または RIS を選択します。Mendeley では、参考文献を選択して Export を選び、BibTeX または RIS を選択します。メニュー名はバージョンによって変わるため、Export を探してください。
- 保存した
.bibまたは.risファイルを任意のテキストエディターで開いてすべてコピーするか、添付ファイルを受け付けるアプリでファイルを添付します。 - AI アプリに貼り付けて、たとえば「このリストを検査して重複を削除し、cite key を整えたクリーンな BibTeX を返してください」と依頼します。
- 結果を
.bibファイルにコピーします。参考文献管理ツールに戻すには、.bibまたは.risファイルとして保存してインポートします。
形式は自動的に検出されます。ファイルが認識されない場合は、形式を指定してください。
ツール
| ツール | 内容 |
|---|---|
parse_bibliography | BibTeX、RIS、CSL JSON のテキストを読み取り、正規化された項目を返します。フィールド名を小文字にし、空白を整え、DOI を裸の形式にし、日付から年を補完し、著者を「姓, 名」に分割します。 |
convert_bibliography | BibTeX、RIS、CSL JSON、プレーンテキストの間で変換します。from を指定しない場合、入力形式は自動検出されます。ページ範囲は BibTeX では 12--15 になります。 |
dedupe_entries | DOI、同一の cite key、類似するタイトル(年が一致する必要があります)を基準に重複を検出します。残す項目を示し、余分な項目を除いた BibTeX リストを返します。 |
lint_entries | 必須フィールドの欠落、不正なページ範囲、大文字で始まっていないタイトル、無効な DOI、不自然な年、重複したキーを検出します。 |
generate_cite_keys | 最初の著者、年、タイトル内の最初の有効な単語からキーを作成します。例:smith2024deep。重複した場合は smith2024deepa のように末尾に文字を付けます。 |
すべてのツールは参考文献リストを text として受け取り、読みやすい回答と構造化フィールドの両方を返します。どのツールも読み取り専用です。テキストを貼り付けて結果を受け取る仕組みのため、ファイルを変更することはありません。
形式
- BibTeX:
@stringマクロ、引用符や中括弧で囲まれた値、#による連結、@commentブロックに対応しています。 - RIS:
TY、AU、TI、T2、PY、SP、EP、DO、KWなどの一般的なタグに対応しています。 - CSL JSON:項目のリスト、単一の項目、または
itemsリストを含むオブジェクトに対応しています。
一般的なワークフロー
以下では、5 つのツールをどのように組み合わせるかを示します。すべてのツールは参考文献リストを text として受け取り、読み取り専用です。
Zotero または Mendeley のエクスポートを整理する
parse_bibliographyを実行して、エントリを正規化し、不足している年を補います。dedupe_entriesを実行して、DOI、引用キー、またはタイトルに基づいて重複を削除します。lint_entriesを実行して、不足しているフィールド、不正なページ範囲、不自然な年を確認します。generate_cite_keysを実行して、すべてのエントリにsmith2024deepのような整ったキーを付けます。convert_bibliographyを実行して、整理済みの BibTeX ファイルを取得します。
EndNote の RIS エクスポートを BibTeX に変換する
- RIS テキストに対して
parse_bibliographyを実行し、正しく解析されることを確認します。 toを BibTeX に設定してconvert_bibliographyを実行します。smith2024deepのようなキーが必要な場合は、generate_cite_keysを実行します。
提出前に完成した .bib を確認する
parse_bibliographyを実行して正規化します。lint_entriesを実行し、指摘された内容を修正します。dedupe_entriesを実行して、重複がないことを確認します。
プライバシー
すべての処理はお使いのコンピューター上で実行されます。サーバーが読み取るのは、AI アプリから渡されたテキストのみです。ネットワークリクエストは行わず、オンラインで DOI を検索することもありません。API キーは不要で、呼び出し間でデータを保持しません。DOI のチェックでは DOI の形式のみを確認し、ウェブサイトに存在するかどうかを問い合わせることはありません。
FAQ
DOI が実在するかどうかを確認しますか? いいえ。オフラインで動作するため、10.1000/xyz123 のように DOI の形式が正しいかどうかだけを確認します。
2 つのタイトルが同じだと、どのように判定しますか? タイトルを小文字に変換し、句読点とアクセント記号を取り除いて、文字のペアを比較します。デフォルトの一致度は 1 中 0.9 です。title_threshold を渡すと、判定を緩くしたり厳しくしたりできます。年が異なるエントリは、タイトルによる一致とは判定されません。
{DNA} のような保護された大文字は変更されますか? いいえ。BibTeX 出力では波括弧を保持し、RIS、CSL JSON、またはプレーンテキストに変換するときのみ取り除きます。
Node のバージョン
サーバーの実行には Node.js 20 以降が必要です。開発には Node.js 22.12 以降を使用してください。
開発
npm install
npm run build
npm test
コードは src にあります。src/bib.ts は各形式の読み込みと書き込みを行い、src/analyze.ts は重複とリンティングの問題を検出し、src/tools.ts は 5 つのツールを定義します。
ライセンス
MIT。詳しくは LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。