mcpField
S
Scholar MCP

Scholar MCP

ローカル
github.com/Liyux3検索5今日更新

Scholar MCP について

Scholar MCP は、エージェント向けの学術研究サーバーです。複数ソースの論文検索に、引用探索、論文閲覧、永続的なローカルライブラリを組み合わせ、発見した論文やノート、PDF の保存とエクスポートまで扱います。

主な機能

  1. 01複数ソースの学術論文検索
  2. 02引用の追跡と論文グラフ
  3. 03論文の本文・表・図の閲覧
  4. 04永続的な SQLite 論文ライブラリ
  5. 05PDF ダウンロードとライブラリ連携

活用シーン

  1. 01研究上の疑問から論文を検索
  2. 02引用や関連研究をたどる
  3. 03論文、ノート、PDF をローカル保存
  4. 04コレクションを Obsidian や Zotero に出力

MCP 対応

stdio または Streamable HTTP 経由で、型付きの研究ツールとステータスリソースを MCP クライアントに公開します。コアおよび研究プロファイルで、検索、論文閲覧、引用グラフ、ライブラリ操作を提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"liyux3-scholar": {
"command": "uvx",
"args": [
"scholar-mcp"
],
"env": {
"SCHOLAR_DATA_DIR": "<SCHOLAR_DATA_DIR>",
"SCHOLAR_MCP_EXTENSIONS": "<SCHOLAR_MCP_EXTENSIONS>",
"S2_API_KEY": "<S2_API_KEY>",
"OPENALEX_API_KEY": "<OPENALEX_API_KEY>",
"CORE_API_KEY": "<CORE_API_KEY>",
"SCOPUS_API_KEY": "<SCOPUS_API_KEY>",
"DASHSCOPE_API_KEY": "<DASHSCOPE_API_KEY>",
"DASHSCOPE_HTTP_BASE_URL": "<DASHSCOPE_HTTP_BASE_URL>",
"SCHOLAR_RERANK_MODEL": "<SCHOLAR_RERANK_MODEL>",
"SCHOLAR_RERANK_URL": "<SCHOLAR_RERANK_URL>",
"SCHOLAR_RERANK_API_KEY": "<SCHOLAR_RERANK_API_KEY>",
"EXA_API_KEY": "<EXA_API_KEY>",
"ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
"ZOTERO_LIBRARY_ID": "<ZOTERO_LIBRARY_ID>",
"NOTION_API_KEY": "<NOTION_API_KEY>",
"NOTION_DATA_SOURCE_ID": "<NOTION_DATA_SOURCE_ID>"
}
}
}
}
起動コマンドuvx scholar-mcp
設定が必要な環境変数
SCHOLAR_DATA_DIR
SCHOLAR_MCP_EXTENSIONS
S2_API_KEYシークレット
OPENALEX_API_KEYシークレット
CORE_API_KEYシークレット
SCOPUS_API_KEYシークレット
DASHSCOPE_API_KEYシークレット
DASHSCOPE_HTTP_BASE_URLAlibaba workspace API host or /api/v1 base URL.
SCHOLAR_RERANK_MODELAlibaba or custom reranker model name.
SCHOLAR_RERANK_URLFull custom rerank endpoint; overrides Alibaba routing.
SCHOLAR_RERANK_API_KEYシークレット
EXA_API_KEYシークレット
ZOTERO_API_KEYシークレット
ZOTERO_LIBRARY_ID
NOTION_API_KEYシークレット
NOTION_DATA_SOURCE_ID

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypischolar-mcp0.8.5

ツール

6

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
sortenumいいえ最終的な並び順を固定します。通常は relevance を使用してください。citations と date を指定すると、再ランキングの順序に置き換わります。relevance | citations | date
yearstringいいえ年または年の範囲で絞り込みます(例:"2023"、"2020-2024")
debugbooleanいいえソースごとのレイテンシー、出典情報、内部ランキングの診断情報を含めます。
limitintegerいいえ返す結果の最大数(1-100、デフォルトは 10)
querystringはい探したい内容を説明します。タイトル、特徴的なフレーズ、自然言語の質問を使用できます。
venuestringいいえ掲載先で絞り込みます(例:"NeurIPS"、"Nature")
intentenumいいえ再ランキングとクエリ拡張に使う、関連性のソフトな重点です。通常は balanced を使用してください。その他の選択肢は foundational、recent、survey、method、dataset です。balanced | foundational | recent | survey | method | dataset
paper_typesstringいいえカンマ区切りの種類(例:"JournalArticle,Conference,Review,Book,Dataset")。デフォルト:すべての種類。
min_citationsintegerいいえ引用数の最小値で絞り込みます(デフォルトは 0)
fields_of_studystringいいえカンマ区切りの研究分野(例:"Computer Science,Mathematics")
open_access_onlybooleanいいえ無料で PDF にアクセスできる論文のみを返します

詳細

Scholar MCP

VS Code にインストール Cursor に追加 Kiro に追加 MCP Registry

論文を見つけ、証拠をたどり、研究分野を築きましょう。

PyPI Python 3.10+ Apache 2.0 MCP compatible

Scholar MCP は、自然言語の質問から論文を見つけ、引用や関連研究をたどり、一次テキストを開きます。選んだ論文やメモをローカルライブラリに保存すれば、セッションをまたいで研究内容を引き継げます。

クイックデモ

Scholar MCP のクイックデモ

途切れのないエージェントのフロー:search_papers → build_paper_graph → paper_info + read_paper → paper_library → ライブラリコネクター。

仕組み

Scholar MCP の検索パイプライン Scholar MCP のランタイムアーキテクチャ

エージェントは、stdio または Streamable HTTP 経由で型付きの MCP ツールを呼び出します。Scholar は簡潔なテキストと構造化データを返し、永続化された SQLite ライブラリが FTS5 検索、PDF 添付ファイル、JSONL スナップショット、Obsidian、Zotero、Notion のコネクターを支えます。

クイックスタート

Claude Code:

claude mcp add scholar -- uvx --python 3.12 \
  --find-links https://github.com/Liyux3/scholar-mcp/releases/download/v0.8.5/wheel-index.html \
  --from 'scholar-mcp[rerank]==0.8.5' scholar-mcp

Claude Desktop または任意の stdio MCP クライアント:

{
  "mcpServers": {
    "scholar": {
      "command": "uvx",
      "args": [
        "--python", "3.12",
        "--find-links", "https://github.com/Liyux3/scholar-mcp/releases/download/v0.8.5/wheel-index.html",
        "--from", "scholar-mcp[rerank]==0.8.5", "scholar-mcp"
      ]
    }
  }
}

直接起動するサーバーでは、コンパクトなコアプロファイルを利用できます。uv をインストールすると、Python 3.12 と CPU リランカーが自動的に準備されます。オプションのソースキーを設定すると、より広範な検索範囲と高いスループットを利用できます。macOS デスクトップバンドルには Python と依存関係が含まれています。ポータブルランチャーは、uv がないマシンにも対応します。

このリポジトリには、引用グラフ、ローカル論文ライブラリ、Deep Research スキルを備えたリサーチプラグインも含まれています。

# Codex
codex plugin marketplace add Liyux3/scholar-mcp
codex plugin add scholar-mcp@scholar-mcp

# Claude Code
claude plugin marketplace add Liyux3/scholar-mcp
claude plugin install scholar-mcp@scholar-mcp

同じプラグインディレクトリは、Cursor、Pi、および互換性のあるハーネスで Agent Plugins 標準に準拠しています。OpenCode は uvx scholar-mcp をローカル MCP として起動できます。Pi では pi-mcp-adapter を利用できます。

リリース成果物には、PyPI パッケージ、マルチアーキテクチャの GHCR イメージ、macOS MCPB バンドルも含まれています。詳しくは、配布マトリックスをご覧ください。

ツール

プロファイルツール役割
コアsearch_papersマルチソース検索、フィルター、リランキング、引用の発見
コアpaper_info1 回の選択的な呼び出しで論文の詳細、引用、参考文献を取得
コアrecommend_papers意味的なつながりと引用関係を通じた関連研究の提示
コアsearch_authors著者プロフィール、所属、論文数、h-index
コアread_paper論文の本文、表、選択した図を閲覧。デフォルトでは 1〜10 ページ
コアdownload_paperPDF を保存し、コレクションにインデックスを作成
リサーチbuild_paper_graphPageRank、ブリッジ、ノード、エッジ、Mermaid を含む、範囲を限定した引用グラフ
リサーチpaper_libraryコレクション、FTS 検索、メモ、タグ、PDF、Markdown ボルトへのエクスポート

scholar://status は、ツールの一覧を占有せずに、ソースの利用可否と実際に使用されたリランカーを報告します。ツールの応答には簡潔な YAML テキストが含まれ、構造化された MCP データも公開されます。

同梱の Deep Research スキルは、検索、論文の確認、グラフの探索、選択したライブラリへの書き込みを組み合わせ、更新され続ける分野マップを作成します。

検索

チャネルソースクエリ形式と役割
セマンティックOpenAlex semantic、arxiv.gg、オプションの Exa自然言語による質問全文
全文Semantic Scholar snippet searchオープンアクセス論文から一致する箇所を検索
広範なメタデータOpenAlex、Semantic Scholar、Crossref、オプションの Scopus論文の特定、収録範囲、引用、フィルター
プレプリントと学会arXiv、OpenReview最近の研究と学会の記録
生物医学PubMed、Europe PMC医学、生物学、全文リポジトリ
分野別およびリポジトリDBLP、INSPIRE-HEP、DOAJ、CORE、OpenAIRE、HALCS、物理学、オープンジャーナル、リポジトリ
ウェブフォールバックGoogle Scholarオプションの自動セッション復旧に対応した HTTP 検索

キーワード API には、計測済みのソース別クエリ予算が適用されます。セマンティックエンドポイントには元の質問がそのまま渡されます。各ソースの結果は個別に、単一の正規化されたエビデンスプールに加えられます。 DOI、arXiv、Semantic Scholar、OpenAlex、PubMed、OpenReview の各 ID をもとに、検索結果を統合します。重複レコードは何度も表示されるのではなく、相互に補完するメタデータと独立したソースのエビデンスとして活用されます。

設定されている場合、DashScope の qwen3-rerank を主要なリランカーとして使用します。FlashRank のローカルフォールバックを使うには、rerank エクストラをインストールしてください:uvx --from 'scholar-mcp[rerank]' scholar-mcp。コンテナと MCPB バンドルにはこのエクストラが含まれています。ローカルモデルは初回使用時にダウンロードされ、アプリケーションのデータディレクトリに保存されます。検索では、最初の一致候補をランク付けし、有力な論文から関連情報をたどった後、候補を統合して再ランク付けします。メタデータの補完はソースの取得と並行して行われ、大規模な候補セットはモデルサービスのドキュメント数とトークン数の上限に合わせて分割し、スコアを付けます。

独自のリランカーを使用する

Alibaba のワークスペースや別のリージョンを使用する場合は、コンソールに表示される API ホスト(https:// を付けたもの)、またはその /api/v1 ベース URL を DASHSCOPE_HTTP_BASE_URL に設定してください。同じリージョンの DASHSCOPE_API_KEY を使用します。例:

DASHSCOPE_HTTP_BASE_URL=https://<workspace-id>.cn-beijing.maas.aliyuncs.com/api/v1
SCHOLAR_RERANK_MODEL=qwen3-rerank

デフォルトは引き続き qwen3-rerank です。SCHOLAR_RERANK_MODEL では、ワークスペースで利用可能なモデルとして qwen3.7-text-rerank、gte-rerank-v2、qwen3-vl-rerank のテキスト入力も選択できます。Scholar は Alibaba に適したリクエスト/レスポンス形式を使用します。ベース URL を設定していない既存のインストールでは、引き続き北京の共有エンドポイントが使われます。Alibaba はワークスペース専用エンドポイントを推奨しており、共有ドメインには 2026 年 9 月 30 日以降、新機能が追加されないとしています。API キーとモデルの利用可否はリージョンごとに異なります。

別のプロバイダーまたはセルフホストモデルを使う場合は、SCHOLAR_RERANK_URL に完全なリランク用エンドポイントを、SCHOLAR_RERANK_MODEL にモデル名を設定し、必要に応じて SCHOLAR_RERANK_API_KEY も設定してください。この明示的なエンドポイントは Alibaba の設定より優先され、独自の認証情報のみを使用します。互換性のあるエンドポイントでは、Cohere 形式の仕様を使用します:

Request:  query, documents, top_n, model
Response: results: [{index, relevance_score}]

Alibaba のネイティブな /api/v1/services/rerank/text-rerank/text-rerank エンドポイントにも対応しており、input/parameters リクエストと output.results レスポンスを使用します。どちらの形式も、バッチ処理、スコアの検証、ローカルフォールバックを共通して使用します。プロバイダーの SDK は不要です。

スコアは有限値で [0, 1] の範囲内でなければならず、クエリとドキュメントの組み合わせごとのスコアは、バッチ間で比較可能である必要があります。生のロジットには、サービングバックエンドでモデル固有の正規化が必要です。モデルを変更すると、引用情報や新しさに基づくランキングとのバランスが変わる場合があります。カスタムエンドポイントを設定すると DashScope が置き換えられ、フォールバック先はローカルモデルのみになります。SCHOLAR_RERANK_BATCH_SIZE を、1 リクエストあたりのドキュメント数上限(デフォルトは 500)に設定してください。それを超える候補セットは破棄されず、バッチに分けてスコア付けされます。実際のプロバイダー/モデルとフォールバックの理由を確認するには、scholar://status または debug=true を使用してください。検索に成功しただけでは、クラウドのリランカーが正常に動作したことは確認できません。

通常のレスポンスでは論文を中心に表示し、利用可能性が検索に影響した場合は簡潔な警告を添えます。debug=true を指定すると、ソースのカバレッジ、実際に使用されたリランカー、ソースごとの検索結果数、レイテンシ、来歴、詳細なエラーを含む _meta が追加されます。並列検索の基本タイムアウトは 30 秒で、SCHOLAR_SOURCE_BUDGET_S で変更できます。Google Scholar のページネーションでは、複数ページ分の取得済み結果を保持するため、タイムアウトが最大 120 秒まで延長されることがあります。

Google Scholar のセッション復旧 Chrome、Edge、またはChromiumとffmpegをインストールした状態で、クイックスタート設定の `scholar-mcp[google,rerank]==0.8.5` を選択すると、自動検証リカバリーが有効になります。短時間だけ動作するブラウザーでセッションを確立した後、検索とページネーションには通常のHTTPを使用します。新しいブラウザープロファイルを使用し、個人用のブラウザープロファイルは使用しません。また、ローカルモデルではなく、オンライン音声認識を使用します。Autoモードでは、まずヘッドレスで試します。macOSでは、チャレンジを通過できなかった場合、起動時のウィンドウを表示せず、ページを非表示にしたままネイティブブラウザーエンジンで再試行できます。そのルートで最後に成功した非表示モードを再利用します。固定の数秒待機を挟まず、ページの準備ができた時点でリカバリーを進めます。

セッションは <data>/sessions/ の下にプライベートに保存され、設定されたプロキシに紐づきます。初回検索では、制限付きリカバリーワーカーとその後の検索のために、最大150秒待つ場合があります。セッションが確立済みの場合は、通常のタイムアウトが適用されます。SCHOLAR_GOOGLE_RECOVERY=off を設定するとリカバリーが無効になり、headless を設定すると厳密にヘッドレスで動作し、headed を設定すると検証ウィンドウの表示が明示的に許可されます。SCHOLAR_GOOGLE_BROWSER では、標準のインストール先以外にあるブラウザー実行ファイルを指定します。サーバーの起動時にブラウザーがダウンロードされることはありません。ページネーションが中断された場合、完了済みのページは引き続き利用でき、レスポンスには一部のみ取得できたことが報告されます。リカバリーに失敗すると、最後に検証済みのセッションを保持したまま、再試行の間隔を延ばします。

検索品質の実測値

LitSearchの品質比較

固定した条件で実施したLitSearchの比較では、ScholarはExaの論文検索と比べて、上位5件でのクエリヒット率が10ポイント高く、上位20件では6ポイント高くなりました。

システムHit@5Hit@10Hit@20MRR
Scholar0.620.680.700.442
Exa research paper0.520.580.640.435
BM25 title + abstract0.460.460.560.335

ScholarはExaが見つけられなかった上位5件の論文を9件見つけ、ExaはScholarが見つけられなかったものを4件見つけました。

ベンチマークのプロトコル

Hit@kは、正解論文が上位k件の結果に少なくとも1件含まれるクエリの割合を測定します。一方、Recall@kは、各クエリに関連する論文全体のうち取得できた割合を測定します。MRRは、最初に一致した結果の順位の逆数を平均した値で、一致しない場合は0です。固定されたサマリーでは、クエリヒット率を示すフィールド名に従来の R@k を使用しています。

比較では、LitSearchの最初の50件のinline-ACLクエリ、正解タイトル、タイトル照合器、上位20件のカットオフを共通して使用しています。Exaはカテゴリ research paper で実行しました。Scholarは、Qwenによる再ランキングを含む標準の検索パイプラインを使用しました。BM25はLitSearchの公式なタイトル+要約の実装に従っており、小文字化したトークン分割、英語のストップワード除去、Porterステミングを行い、64K件の論文コーパスに対して BM25Okapi を適用しています。ScholarとExaの実行結果は2026年5月12日に収集し、BM25は2026年8月25日に再現しました。固定されたサマリーは docs/benchmarks/litsearch-inline-acl-50.json にあり、BM25の生データとそのハッシュマニフェストも参照できます。

引用グラフと論文ライブラリ

実際の論文ライブラリのグラフ

ローカルコレクションの実データから描画されるグラフにより、基盤となる論文、分野をつなぐ論文、そして分野を前進させる論文が明らかになります。安定した識別子と並列の引用探索によって、規模が大きくなってもマップのつながりを維持します。

論文ライブラリは、WALトランザクションとFTS5検索を備えた、永続的なSQLiteデータベースを唯一の正本として使用します。既存のJSONLコレクションは自動的に移行され、互換性スナップショットとして引き続き利用できます。安定した識別子、メモ、タグ、PDFパス、コネクターID、同期リビジョンは、同じ正規レコードに紐づいたまま保持されます。

デフォルトのデータ配置:

~/.scholar-mcp/
├── papers/    persistent PDFs
├── kb/
│   ├── library.sqlite3    authority + FTS5 + sync state
│   └── *.jsonl            compatibility snapshots
└── vault/                 Markdown projections and wikilinks
ライブラリコネクター
# No login: write directly into an Obsidian vault
scholar-mcp library export obsidian --collection rag --path /path/to/vault

# Dry-run by default; add --apply for external writes
scholar-mcp library sync zotero --collection rag
scholar-mcp library publish notion --collection rag

Obsidian は、Markdown のライブ投影です。Zotero は、書誌アイテム、コレクション、タグ、メモを管理します。Notion には、一方向の文献リストビューが送信されます。外部コネクターは ID、バージョン、コンテンツハッシュを SQLite に保持するため、変更のない論文が二重に公開されることはありません。

論文へのアクセス

read_paper は一時的な PDF を使用し、デフォルトでは 1〜10 ページを読み取ります。通常、これで AI カンファレンス論文の結論まで確認できます。ページ情報付きの Markdown、表の構造が信頼できる場合は構造化された表、図や視覚的な表のフォールバックに使うキャプションセレクターを返します。visual="Figure 3" または返された別のセレクターを渡すと、該当ページのテキストとともに、対象を絞ったページの切り抜き画像を 1 つ受け取れます。参考文献や付録に進むには、pages="11-20" を渡します。抽出後、PDF は削除されます。download_paper はステージングファイルにストリーミングし、検証済み PDF をアトミックに公開して、有効なローカルコピーがあれば再利用し、選択したコレクションにメタデータをインデックスします。

共通の解決チェーンは、次のとおりです。

  1. arXiv や Europe PMC などの、ネイティブなオープンアクセスレコードおよび正規アーカイブ
  2. 登録済みリポジトリリゾルバー:CORE、OpenAIRE、HAL、Zenodo、DOAJ
  3. bioRxiv、medRxiv、SSRN、ChemRxiv、その他のプレプリントサーバー
  4. Unpaywall と、オプションの機関プロキシ

scholar-mcp sources を実行すると、レジストリから生成された機能マトリックスが表示されます。設定済みの検索プロバイダーをテストするには --check を追加します。1 つのプロバイダーを調べるには、--check --source arxiv --query "retrieval augmented generation" を追加します。Atom API が利用できない場合、arXiv は独自の HTTPS 検索にフォールバックします。Zenodo は PDF の解決には使われますが、公開レコードの範囲が広く、検索の価値に比べて候補のノイズが増えるため、デフォルトの検索対象には含まれません。

ライブラリプロキシ経由のアクセス

ペイウォールのある論文の場合、download_paper は大学図書館の EZproxy ログインを経由して取得できます。これは Unpaywall の後、オプションの Sci-Hub ステップの前に実行され、リクエストした単一の論文にのみ適用されます。Scholar がパスワードを尋ねたり、保存したりすることはありません。ログイン後に、ご自身のブラウザーからエクスポートしたセッション Cookie を再利用します。

  1. LIBRARY_PROXY_PREFIX に、論文のアドレスより前にある図書館のプロキシログインのプレフィックスを設定します。例:https://proxy.library.example.edu/login?url=。プロキシ経由のリンク、または図書館のブックマークレットからコピーしてください。特定の機関を前提とすることはありません。
  2. Edge または Chrome で図書館のプロキシにログインし、プロキシ経由のページを開きます。
  3. cookies.txt 拡張機能を使い、プロキシドメインの Cookie を Netscape cookies.txt 形式でエクスポートします(例:Get cookies.txt LOCALLY。Edge では Chrome ウェブストアの拡張機能をインストールできます)。ファイルを安全な場所に保存し、LIBRARY_PROXY_COOKIES にそのパスを設定します。
  4. 新しい環境変数を読み込ませるため、MCP クライアントを再起動します。

ライブラリのセッションは短期間で期限切れになり、管理も図書館側で行われるため、数時間後、または図書館がセッションを終了した時点でエクスポートした Cookie は使えなくなります。プロキシがログインページを返すと、ダウンロードメッセージにセッションの期限切れが表示されます。再度ログインし、新しいファイルをエクスポートしてください。このファイルは有効なセッション認証情報です。git や共有フォルダーに含めないでください。読み取られるのはプロキシドメインに属する Cookie のみで、ファイル内のその他の Cookie は無視されます。ダウンロードに失敗すると、ログイン中のブラウザーで開けるプロキシ経由のリンクがメッセージに含まれます。

ターミナルで HTTP プロキシを使用している場合は、ログイン済みブラウザーと同じネットワーク経路を使ってライブラリへのリクエストを行ってください。図書館に直接アクセスするには、図書館のプロキシホスト名とサブドメインを NO_PROXY に追加します。

設定

すべての認証情報は任意であり、MCP プロセスの環境内に保持されます。

変数用途
SCHOLAR_DATA_DIR共有データのルート。デフォルトは ~/.scholar-mcp
SCHOLAR_KB_DIRSQLite ライブラリと JSONL スナップショットのディレクトリ
SCHOLAR_OBSIDIAN_VAULTObsidian の投影先ルート。認証は不要です
S2_API_KEY / S2_API_KEYSSemantic Scholar の検索、スニペット、グラフ、レート制限
OPENALEX_API_KEY / OPENALEX_API_KEYSOpenAlex の検索、セマンティック検索、グラフ呼び出し
OPENALEX_EMAILOpenAlex のポライトプールと Unpaywall
DASHSCOPE_API_KEYQwen リランカー
DASHSCOPE_HTTP_BASE_URLAlibaba ワークスペースの API Host または /api/v1 ベース。デフォルトは北京の共有エンドポイントです
SCHOLAR_RERANK_MODELAlibaba のモデル(デフォルトは qwen3-rerank)、またはカスタムエンドポイントで提供されるモデル
SCHOLAR_RERANK_URL, SCHOLAR_RERANK_API_KEYカスタムの完全なリランクエンドポイントと専用の認証情報。Alibaba のルーティングを上書きします
SCHOLAR_RERANK_TIMEOUTAlibaba を含む、リモートリランカーへのリクエストのタイムアウト。デフォルトは 120 秒です
SCHOLAR_RERANK_BATCH_SIZEカスタムリランカーのリクエストごとのドキュメント容量。デフォルトは 500 です
SCHOLAR_GOOGLE_PROXYGoogle Scholar 専用のプロキシ。他のソースは既存のルートを引き続き使用します
SCOPUS_API_KEY任意の Scopus メタデータソース
CORE_API_KEY任意の CORE リポジトリソース
EXA_API_KEY任意の Exa 研究論文ソース
SCHOLAR_SOURCE_BUDGET_S1 ラウンドあたりのソース並列処理の予算。デフォルトは 30 秒です
SCHOLAR_DOWNLOAD_DIRPDF の永続保存先ディレクトリ。デフォルトは <data>/papers です
LIBRARY_PROXY_PREFIX, LIBRARY_PROXY_COOKIES任意の図書館プロキシログインプレフィックスと、ログイン済みブラウザーからエクスポートした cookies.txt。特定の機関は想定していません。図書館プロキシへのアクセスを参照してください
LIBRARY_PROXY_BASE, LIBRARY_PROXY_COOKIE同じ設定の旧形式。プロキシ URL と Cookie ヘッダーの生データです。Cookie ファイルのフォールバック先は <data>/library_cookie.txt です
SCHOLAR_MCP_EXTENSIONSグラフと論文ライブラリのツールには research を使用します
ZOTERO_API_KEY, ZOTERO_LIBRARY_IDZotero Web API または認可済みのローカル API コネクター
ZOTERO_LIBRARY_TYPE, ZOTERO_API_BASE任意の Zotero ライブラリタイプとエンドポイントの上書き
NOTION_API_KEY, NOTION_DATA_SOURCE_IDNotion の一方向パブリッシャー

モデルに返されるエラーでは、リクエスト URL と認証情報が伏せられます。 OpenReview の公開投稿は、アカウントやパスワードなしで検索されます。

開発

git clone https://github.com/Liyux3/scholar-mcp.git
cd scholar-mcp
uv sync --extra dev
uv run pytest

ユニットテストはデフォルトで実行されます。ライブ API テストは uv run pytest -m integration で個別に実行してください。

コネクターと機能への貢献については、CONTRIBUTING.md に従ってください。セキュリティ上の問題は、SECURITY.md に記載された非公開の手順で報告してください。引用メタデータは CITATION.cff で確認できます。

ローカルクライアントと Docker クライアントは、デフォルトで stdio を使用します。Streamable HTTP を使用するには SCHOLAR_MCP_TRANSPORT=http を設定してください。デフォルトのエンドポイントは /mcp です。

ライセンス

Apache License 2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。