ScholarFetch について
ScholarFetchは、研究者やMCPベースのエージェント向けの学術研究環境です。ターミナルCLIとMCPサーバーを組み合わせ、学術情報の検索、引用の追跡、論文の収集、研究コーパスの書き出しを行えます。
主な機能
- 01複数の学術エンジンを並列検索
- 02著者を特定して論文を検索
- 03引用文献と関連著者を探索
- 04抄録と取得可能な全文を取得
- 05セッション内の読書リストに論文を保存
- 06引用、BibTeX、コーパスを書き出し
活用シーン
- 01トピックやDOIから文献を調査
- 02引用文献や著者のつながりを追跡
- 03テーマ別の読書リストを作成
- 04後続の統合分析用にコーパスを出力
MCP 対応
標準stdioサーバーと、stdio、SSE、streamable HTTPに対応したFastMCPサーバーを提供します。MCPエージェントは論文を検索・探索し、セッション内の読書リストを保存して書き出せます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://laibniz-scholarfetch-web.hf.space/mcp/claude mcp add --transport http laibniz-scholarfetch https://laibniz-scholarfetch-web.hf.space/mcp/{"mcpServers":{"laibniz-scholarfetch":{"type":"http","url":"https://laibniz-scholarfetch-web.hf.space/mcp/"}}}Cursor で開く{"servers":{"laibniz-scholarfetch":{"type":"http","url":"https://laibniz-scholarfetch-web.hf.space/mcp/"}}}VS Code で開く{"mcpServers":{"laibniz-scholarfetch":{"type":"http","url":"https://laibniz-scholarfetch-web.hf.space/mcp/"}}}{"mcpServers":{"laibniz-scholarfetch":{"serverUrl":"https://laibniz-scholarfetch-web.hf.space/mcp/"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
12| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | |
| query | string | はい | |
| engines | string | いいえ |
詳細
ScholarFetch
ScholarFetch は、以下の用途に対応するマルチエンジンの学術研究環境です。
- ターミナルを中心とした文献探索
- MCP を活用したエージェントのワークフロー
- 厳選した読書リストやエクスポート可能な研究コーパスの構築
以下を組み合わせています。
- 人間向けの高機能なインタラクティブ CLI
- 従来型の MCP サーバー(stdio)
- FastMCP サーバー(
stdio、sse、streamable-http)
基本的な使い方はシンプルです。キーワード、DOI、または著者から始め、論文や参考文献をたどり、抄録や全文を確認し、重要なものを保存してから、統合用のコンパクトなコーパスをエクスポートします。
ScholarFetch の機能
- 複数の学術検索エンジンを並列で検索します
- 曖昧な著者の識別情報を解決し、著者の論文リストを展開します
- 参考文献を研究の主要なノードとしてたどります
- 利用可能な場合は、抄録や機械可読な全文を取得します
- インタラクティブな研究セッション中に、保存した論文のセットを管理します
- 引用情報、抄録、BibTeX、または全文コーパスをエクスポートします
- 同じ研究ワークフローを MCP エージェントに提供します
- 1 つの MCP セッション内で、状態を保持する保存済み論文コレクションを管理します
エンジン
- Elsevier(Scopus / Abstract / Article retrieval)
- OpenAlex
- Crossref
- arXiv
- Europe PMC
- Springer Nature(メタデータ + オープンアクセス)
- Semantic Scholar(DOI 拡充経路)
インストール
git clone https://github.com/laibniz/scholarfetch.git
cd scholarfetch
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
scholarfetch
コンソールスクリプト:
scholarfetchscholarfetch-mcpscholarfetch-fastmcp
代替方法:
python3 scholarfetch.py
認証情報
ScholarFetch は、プロバイダーの認証情報をサーバー側/クライアント側の環境変数から読み込みます。
デフォルトの環境ファイル:
.scholarfetch.env
一般的な変数:
ELSEVIER_API_KEY=...
ELSEVIER_INSTTOKEN=...
SPRINGER_META_API_KEY=...
SPRINGER_OPENACCESS_API_KEY=...
注意:
ELSEVIER_INSTTOKENは任意です- プロバイダーの利用権限とレート制限は引き続き適用されます
- MCP ツールでは、ツール引数として API キーを受け付けません
CLI での研究ワークフロー
ScholarFetch CLI は、研究対象をたどって調査するために設計されています。
一般的な流れ:
- トピック、DOI、または著者から始めます。
- 論文を確認します。
- 抄録または全文を読みます。
- 参考文献をたどります。
- 関連する著者に移動します。
- 有望な論文を保存します。
- 以降の作業に使うコーパスをエクスポートします。
例:
/search graph neural networks
/author Albert Einstein
/papers 1 has:abstract
/article 1
/refs 1
/saved
/export fulltext dummy corpus.txt
CLI の機能
- ツリーナビゲーションに対応したインタラクティブな選択画面
- 現在の研究位置を示すパンくずリスト
OPEN、ABSTRACT、TEXT、REFS、AUTHORのアクションバーBackspaceで親ノードに移動Escでプロンプトに戻る- 論文リストまたは参考文献リストから
Sで論文を保存 Xで保存済みリストから削除- 論文から
AUTHORアクションを実行すると、以下を選択できます。- 1 人の著者
ALL AUTHORS
- 参考文献リストは論文リストと同様に操作できます。
openabstracttextrefsauthor
- 論文の利用可能性を自動で表示します。
- 抄録の利用可能性
- 全文の利用可能性
- 処理に時間がかかる遷移の進行状況を表示します
- 参考文献のプレビュー生成を中断でき、中断前までの結果は保持されます
CLI の主なコマンド
/search <keywords|doi|person name>/author <name>/papers <author name|index> [filters]/doi <doi>/open <index>/abstract <doi|index>/article <doi|index>/refs <doi|index>/ref <index>/saved/export [format style path ...]/import [path]/pick [mode]/config/engines/help
論文フィルター
/papers と併用します。
year>=YYYY、year<=YYYY、year=YYYYhas:abstract、has:doi、has:pdf、has:fulltextvenue:<text>、title:<text>、doi:<text>
例:
/papers 1 year>=2020 has:abstract
/papers 1 has:fulltext
/papers andrea de mauro venue:marketing
エクスポートモード
ScholarFetch は、保存済みの論文セットから 4 種類のエクスポートモードを利用できます。
bib- 引用管理ソフトや書誌ツール向けの BibTeX
citationsharvard、apa、またはieee形式で引用情報のみをエクスポート
abstracts- 保存済みの各論文のメタデータ + 抄録
fulltext- 利用可能な場合、メタデータ + 抄録 + 全文
- 参考文献を含めるかどうかを選択可能
これにより、ScholarFetch は後続の統合を行うエージェント向けのコーパス構築ツールとして役立ちます。
MCP サーバー
ScholarFetch は、MCP を通じて同じ研究モデルを提供します。
モード:
- Classic MCP(stdio):
python3 scholarfetch_mcp.py - FastMCP stdio:
python3 scholarfetch_fastmcp.py --transport stdio - FastMCP SSE:
python3 scholarfetch_fastmcp.py --transport sse --host 127.0.0.1 --port 8000 - FastMCP streamable HTTP:
python3 scholarfetch_fastmcp.py --transport streamable-http --host 127.0.0.1 --port 8000 --http-path /mcp
検証:
python3 scholarfetch_mcp.py --self-test
python3 scholarfetch_fastmcp.py --self-test
公開デモエンドポイント:
- Web UI:https://huggingface.co/spaces/Laibniz/ScholarFetch_Web
- 公開 MCP エンドポイント:https://laibniz-scholarfetch-web.hf.space/mcp/
- MCP Registry の掲載情報:
io.github.laibniz/scholarfetch
MCP 研究モデル
この MCP サーバーは、単発の呼び出しだけでなく、エージェントのワークフロー向けに設計されています。
エージェントは次のことができます:
- 論文を検索する
- 著者を特定する
- 著者の論文を検索範囲に追加する
- 要約/全文を読む
- 参考文献を検索範囲に追加する
- 有望な論文を、名前付きのメモリー内の読書リストに保存する
- 読書リストを次の形式でエクスポートする:
- 引用情報
- 要約
- BibTeX
- 全文コーパス
これにより、エージェントは1つの MCP セッション内で対象を絞った研究セットを構築し、エクスポートした成果物を別の統合ステップに渡すことができます。
ツールモデルの詳細は、MCP_SERVER.md を参照してください。
リポジトリ内のファイル
scholarfetch.py:CLI のエントリーポイントscholarfetch_cli.py:CLI の中核機能と検索ロジックscholarfetch_mcp.py:Classic MCP サーバーscholarfetch_fastmcp.py:FastMCP サーバーMCP_SERVER.md:MCP の使用ガイドAGENTS.md:エージェント向けワークフローガイドSKILL.md:体系的な調査スキルガイドSKILLS.md:エージェント向けスキル文書の一覧CONTRIBUTING.md:コントリビューター向け情報
エージェント向け
MCP 対応システムから ScholarFetch を実行する場合は、次の文書をお読みください:
これらの文書では、単なる検索 API としてではなく、文献調査環境として ScholarFetch を使用する方法を説明しています。
コントリビューション
CONTRIBUTING.md を参照してください。
セキュリティ
SECURITY.md を参照してください。
ライセンス
MIT License。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。