Skip to main content
Glama
laibniz

scholarfetch

by laibniz

ScholarFetch

ScholarFetchロゴ

ScholarFetchは、以下を目的としたマルチエンジン対応の学術研究環境です:

  • ターミナル優先の文献探索

  • MCPを活用したエージェントワークフロー

  • 厳選されたリーディングリストとエクスポート可能な研究コーパスの構築

以下を組み合わせています:

  • 人間向けの高機能なインタラクティブCLI

  • クラシックMCPサーバー(stdio)

  • FastMCPサーバー(stdio、sse、streamable-http)

核となるアイデアはシンプルです:キーワード、DOI、または著者から始め、論文と参考文献を辿り、アブストラクトと全文を確認し、重要なものを保存して、統合のためにコンパクトなコーパスをエクスポートします。

ScholarFetchの機能

  • 複数の学術エンジンを並行して検索

  • 曖昧な著者同一性を解決し、著者の論文リストを展開

  • 参考文献を第一級の研究ノードとして辿る

  • 利用可能な場合にアブストラクトと機械可読な全文を取得

  • インタラクティブな研究セッション中に保存済み論文セットを追跡

  • 引用、アブストラクト、BibTeX、または全文コーパスをエクスポート

  • MCPエージェントに同じ研究ワークフローを公開

  • 1つのMCPセッション内でステートフルな保存済み論文コレクションを維持

Related MCP server: paper-search-mcp

エンジン

  • Elsevier(Scopus / アブストラクト / 論文の取得)

  • 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

コンソールスクリプト:

  • scholarfetch

  • scholarfetch-mcp

  • scholarfetch-fastmcp

代替:

python3 scholarfetch.py

認証情報

ScholarFetchは、プロバイダーの認証情報をサーバー側/クライアント側で環境変数から読み込みます。

デフォルトのenvファイル:

  • .scholarfetch.env

典型的な変数:

ELSEVIER_API_KEY=...
ELSEVIER_INSTTOKEN=...
SPRINGER_META_API_KEY=...
SPRINGER_OPENACCESS_API_KEY=...

注意:

  • ELSEVIER_INSTTOKENはオプションです

  • プロバイダーの利用資格とレート制限は引き続き適用されます

  • MCPツールはツール引数でAPIキーを受け付けません

CLIリサーチワークフロー

ScholarFetch CLIは研究探索用に設計されています。

典型的なフロー:

  1. トピック、DOI、または著者から始めます。

  2. 論文を調査します。

  3. アブストラクトまたは全文を読みます。

  4. 参考文献を展開します。

  5. 関連著者にジャンプします。

  6. 有望な論文を保存します。

  7. 下流の作業用にコーパスをエクスポートします。

例:

/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アクションでは、以下を選択できます:

    • 単一の著者

    • ALL AUTHORS

  • 参考文献リストは論文リストと同様に動作:

    • open

    • abstract

    • text

    • refs

    • author

  • 論文の利用可否に関する自動ヒント:

    • アブストラクトの利用可否

    • 全文の利用可否

  • コストの高い遷移に対する進捗フィードバック

  • 部分結果を保持したまま中断可能な参考文献プレビュー構築

コア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=YYYY

  • has:abstract、has:doi、has:pdf、has:fulltext

  • venue:<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

  • citations

    • harvard、apa、ieeeのいずれかによる引用のみのエクスポート

  • abstracts

    • 保存済み各論文のメタデータ + アブストラクト

  • fulltext

    • メタデータ + アブストラクト + 全文(利用可能な場合)

    • 参考文献をオプションで含む

これにより、ScholarFetchは下流の統合エージェント向けのコーパスビルダーとして有用です。

MCPサーバー

ScholarFetchはMCPを通じて同じ研究モデルを公開します。

モード:

  • クラシック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

パブリックデモエンドポイント:

MCPリサーチモデル

MCPサーバーは一回限りの呼び出しだけでなく、エージェントワークフロー向けに設計されています。

エージェントは以下のことができます:

  1. 論文を検索

  2. 著者を解決

  3. 著者の論文へ展開

  4. アブストラクト / 全文を読む

  5. 参考文献を展開

  6. 有望な論文を名前付きインメモリのリーディングリストに保存

  7. リーディングリストを以下としてエクスポート:

    • 引用

    • アブストラクト

    • BibTeX

    • 全文コーパス

これにより、エージェントは1つのMCPセッション内で焦点を絞った研究セットを構築し、そのエクスポート成果物を別の統合ステップに引き渡すことができます。

詳細なツールモデルについてはMCP_SERVER.mdを参照してください。

リポジトリファイル

  • scholarfetch.py:CLIエントリーポイント

  • scholarfetch_cli.py:コアCLI + 検索ロジック

  • scholarfetch_mcp.py:クラシックMCPサーバー

  • scholarfetch_fastmcp.py:FastMCPサーバー

  • MCP_SERVER.md:MCP利用ガイド

  • AGENTS.md:エージェント向けワークフローガイド

  • SKILL.md:構造化されたリサーチスキルガイド

  • SKILLS.md:エージェント向けスキルドキュメントの索引

  • CONTRIBUTING.md:コントリビューター向けノート

エージェント向け

MCP互換システムからScholarFetchを実行している場合は、以下をお読みください:

これらのドキュメントは、ScholarFetchをフラットな検索APIとしてではなく、文献リサーチ環境として使用する方法を説明しています。

コントリビューション

CONTRIBUTING.mdを参照してください。

セキュリティ

SECURITY.mdを参照してください。

ライセンス

MITライセンス。LICENSEを参照してください。

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables agents to search papers across Semantic Scholar and arXiv, read and extract text from arXiv PDFs, align records across sources, and produce structured literature-analysis digests.
    10
    1
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLM agents to search academic literature across multiple sources (IEEE, arXiv, ACM, Semantic Scholar, CORE, Scite, Consensus) and index/search local PDFs.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to search 1m+ open-access papers, standards, textbooks, and legal documents, resolve identifiers such as RFCs, DOIs, and legal citations, download PDFs, and retrieve citations and metadata through MCP tools.
    MIT