mcpField
A
ArXiv MCP Server

ArXiv MCP Server

ローカル
github.com/blazickjpデータ・分析3.2k3 週間前に更新

ArXiv MCP Server について

ArXiv MCP Server は、エージェントによる文献調査のためにローカルで動作する MCP サーバーです。作者が提出したオリジナルの LaTeX をセクション単位で読み込み、arXiv のメタデータから BibTeX を書き出し、トピックの監視をディスク上に保存します。論文はローカルに保存されるため、セクション単位の読解と引用管理を必要とする研究者に適しています。

主な機能

  1. 01作者提出の LaTeX をセクション単位で取得
  2. 02arXiv メタデータからの BibTeX 出力
  3. 03ローカルに保存するトピック監視と新着論文の確認
  4. 04論文のローカル Markdown 変換と分割読み込み
  5. 05引用グラフによる参考文献と被引用論文の取得

活用シーン

  1. 01論文を一つのセクションずつ読み進める
  2. 02文献レビュー用に BibTeX エントリを収集する
  3. 03特定トピックの新着論文を定期的に確認する

MCP 対応

本サーバーは stdio 経由でローカルで動作し、search_papers、read_paper_section、export_citations、watch_topic などを含む 19 個のツールを MCP クライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": [
"arxiv-mcp-server"
],
"env": {
"ARXIV_STORAGE_PATH": "<ARXIV_STORAGE_PATH>"
}
}
}
}
起動コマンドuvx arxiv-mcp-server
設定が必要な環境変数
ARXIV_STORAGE_PATHOptional path for storing downloaded papers locally.

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

パッケージ
pypiarxiv-mcp-server0.8.2

ツール

4

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

パラメーター型必須説明
categoriesarrayいいえ強く推奨:検索対象を絞り込む arXiv カテゴリ(例:エージェント研究には ['cs.AI', 'cs.MA']、ML には ['cs.LG']、NLP には ['cs.CL']、ビジョンには ['cs.CV'])。関連性が大幅に向上します。
date_fromstringいいえ論文の開始日(YYYY-MM-DD 形式)。最近の研究を探す場合に使用します。例:'2023-01-01' は直近 2 年です。
date_tostringいいえ論文の終了日(YYYY-MM-DD 形式)。date_from と併用して過去の研究を検索します。たとえば、古い研究を検索するには '2020-12-31' を指定します。
max_resultsintegerいいえ返す結果の最大数(デフォルト:10、最大:50)。網羅的に検索する場合は 15~20 を指定します。
querystringはい完全一致で検索するには引用符付きのフレーズ(例:'"machine learning" OR "deep learning"')を、または特定の技術用語を検索クエリに使用します。広すぎる語句や一般的すぎる語句は避けてください。
sort_byenumいいえ結果を 'relevance'(関連度順、最も関連性の高い結果が先、デフォルト)または 'date'(日付順、新しい結果が先)で並べ替えます。対象を絞った検索には 'relevance'、最近の動向には 'date' を使用します。relevance | date

詳細

arxiv-mcp-server

PyPI Downloads License MCP Registry Tests GitHub stars

Install in VS Code Install MCP Server Add to Kiro Claude Code OpenAI Codex Hermes Agent

エージェントによる文献調査向けのローカル MCP サーバーです。独自の特長は、原著論文の LaTeX をセクション単位で読み込めること、arXiv メタデータから BibTeX を取得できること、トピックを監視できることです。論文はディスク上に保存されます。基本的な作業の流れは、論文 ID → 概要 → 1 つのセクション → 引用です。検索は任意です。

インストール

標準のインストール方法は uvx arxiv-mcp-server です。コマンドベースの連携には、uvx を提供する uv が必要です。リポジトリのクローンや Python 環境のセットアップは不要です。

uvx arxiv-mcp-server

Claude Desktop や Kiro など、mcpServers JSON 形式に対応するクライアントには、この stdio 設定を追加してください。ほかのクライアントでは、トップレベルの servers オブジェクト、TOML、または独自の設定 UI を使用する場合があります。クライアントの MCP ドキュメントを参照してください。

{
  "mcpServers": {
    "arxiv": {
      "type": "stdio",
      "command": "uvx",
      "args": ["arxiv-mcp-server"]
    }
  }
}

標準の論文ディレクトリは ~/.arxiv-mcp-server/papers です。別のディレクトリを選択するには、"--storage-path", "/absolute/path/to/papers" を args に追加してください。

対応パッケージは PyPI で arxiv-mcp-server==0.8.2 として公開されています。同じ名前を使う無関係な npm パッケージがあるため、このサーバーを npm、pnpm、または npx arxiv-mcp-server でインストールしないでください。

公式 MCP レジストリに掲載されています。最新バージョンは 0.8.2 です。

検索ラッパーではない理由

検索、ソースの取得、引用グラフ、ダウンロードでは、それぞれ対応する外部サービスを呼び出します。ローカルに保たれるのは文献調査の流れです。著者が投稿した LaTeX を一度に 1 セクションずつ読み、信頼できる arXiv メタデータから BibTeX をエクスポートし、トピックの監視情報をディスクに保存します。サーバーは標準で stdio を介してローカルで実行されます。

クライアント別の設定例(Claude Code、Codex、Hermes、VS Code / Kiro、Claude Desktop、プラグイン)

クライアントに 1 行で設定できるヘルパーがない場合は、上記の標準 JSON を使用してください。

Claude Code

すべてのプロジェクトに MCP サーバーを追加します:

claude mcp add --transport stdio --scope user arxiv -- uvx arxiv-mcp-server

MCP 接続と同梱の arXiv 研究スキルをインストールする、より充実したプラグイン統合を利用するには、このリポジトリをマーケットプレイスとして登録し、プラグインをインストールします:

claude plugin marketplace add blazickjp/arxiv-mcp-server
claude plugin install arxiv-mcp-server@arxiv-mcp

claude mcp get arxiv を実行して、MCP の直接インストールを確認します。プラグインのインストール後、Claude Code を再起動するか、/reload-plugins を実行してください。

OpenAI Codex

MCP サーバーを追加します:

codex mcp add arxiv -- uvx arxiv-mcp-server

または、MCP 接続と同梱の研究スキルを Codex プラグインとしてインストールします:

codex plugin marketplace add blazickjp/arxiv-mcp-server
codex plugin add arxiv-mcp-server@arxiv-mcp

codex mcp get arxiv を実行して、MCP の直接インストールを確認します。Codex CLI、Codex IDE 拡張機能、ChatGPT デスクトップアプリ内の Codex は、この MCP 設定を共有します。

Hermes Agent

Hermes Agent をインストール

サーバーを追加し、検出されたツールを承認して、保存した接続をテストします:

hermes mcp add arxiv --command uvx --args arxiv-mcp-server
hermes mcp test arxiv
VS Code と Kiro

VS Code にインストール MCP サーバーをインストール Kiro に追加

より充実した Kiro Power 統合を利用するには、Powers パネルを開き、Add Custom Power → Import power from GitHub を選択して、次を入力します:

https://github.com/blazickjp/arxiv-mcp-server

Power は mcp.json から MCP 接続をインストールし、arXiv の研究に特化したガイダンスを追加します。手動での設定を希望する Kiro ユーザーは、ワークスペースごとに .kiro/settings/mcp.json、またはすべてのワークスペースに対して ~/.kiro/settings/mcp.json に、上記の汎用設定を配置できます。

Claude Desktop バンドル

macOS ユーザーは、v0.8.2 リリースまたは最新の GitHub リリースから、バンドルされた .mcpb 拡張機能をインストールできます:

バンドルをダブルクリックするか、Claude Desktop にドラッグするか、Settings → Extensions → Advanced settings → Install Extension… を開きます。バンドルにはサーバーの依存関係が含まれており、CPython 3.11.x が必要です。

その他の MCP クライアント

その他のクライアントでは、トップレベルの servers オブジェクト、TOML、または独自の設定 UI を使用する場合があります。クライアントの MCP ドキュメントを参照してください。MCP を直接インストールするのが最短の方法です。クライアントを、対象を絞った検索、範囲を限定した読み取り、引用のたどり方、セクション単位の LaTeX 取得へ導く研究ワークフローも必要な場合は、プラグインをインストールしてください。

プラグインマニフェスト

同じ MCP サーバーと研究スキルが、主要な 2 つのプラグインシステム向けにパッケージ化されています:

統合マニフェストマーケットプレイス
Claude Code.claude-plugin/plugin.json.claude-plugin/marketplace.json
OpenAI Codex / ChatGPT Work.codex-plugin/plugin.json.agents/plugins/marketplace.json
Kiro PowerPOWER.mdmcp.json
共有 MCP 起動設定Claude およびリポジトリローカルのクライアント向け .mcp.json、Codex プラグイン向け .codex-mcp.jsonuvx arxiv-mcp-server
共有研究ワークフローskills/arxiv-mcp-server/SKILL.mdいずれかのプラグインとともにインストール
## デスクトップクライアントが `uvx` を見つけられない場合

デスクトップアプリケーションは、必ずしもターミナルと同じ PATH を引き継ぐとは限りません。ターミナルでは uvx arxiv-mcp-server が動作するのに、クライアントでサーバーへの接続に失敗したと表示される場合は、実行ファイルの絶対パスを確認してください。

# macOS and Linux
command -v uvx
# Windows PowerShell
(Get-Command uvx).Source

"command": "uvx" を取得した絶対パスに置き換えてから、クライアントを再起動します。args の値は変更しないでください。

既存のインストールに新しいツールが含まれていない場合

uvx はツール環境をキャッシュから再利用します。サポートされているインタープリターを使って、現在の PyPI リリースを解決するよう強制してから、MCP クライアントを再起動してください。

uvx --python 3.11 --refresh-package arxiv-mcp-server arxiv-mcp-server

それでもクライアントが古い環境を起動する場合は、args 配列の "arxiv-mcp-server" の前に "--python", "3.11" を追加してください。

コマンドの永続的なインストール

uvx 経由で起動する代わりに、arxiv-mcp-server を PATH に追加するには、次のようにします。

uv tool install arxiv-mcp-server

コマンドがすぐに使用できない場合は、uv tool update-shell を実行して、ターミナルを再起動してください。その後、"command": "arxiv-mcp-server" を使い、args からパッケージ名を省略します。

ツール

サーバーは現在、19 個のツールを公開しています。

ツール目的備考
search_papersクエリ、カテゴリ、日付、並べ替え順で arXiv を検索既定では簡潔な結果を最大5件返します(abstract_mode=snippet)。リモートの arXiv API を使用
get_abstractarXiv ID でメタデータと概要を取得論文はダウンロードしません
download_paper論文をダウンロードし、ローカルの Markdown に変換まず HTML を使用し、PDF にフォールバックする場合は [pdf] を使用します。force=true で再取得します。既定ではコンテンツを12,000文字に制限
list_papersローカルに保存された論文を一覧表示id、title、authors、published を返します。compact を指定すると ID のみを返します
read_paperローカルに保存された論文の内容を読み取る既定では12,000文字に制限。start/max_chars/return_full_text をサポート
get_paper_outlineページ分割された Markdown の見出し一覧安定した階層型セクション ID
read_paper_section長さを制限して Markdown のセクションを1つ読み取るアウトライン ID または一意のタイトルで指定
search_paper_text論文内の文章を長さを制限して検索ソース内のオフセットを返します。Torch は不要
get_paper_latex著者が提出した LaTeX を長さを制限して取得リモートの arXiv ソースアーカイブ
list_paper_latex_sectionsページ分割された LaTeX のアウトラインを返すstart と max_sections をサポート
get_paper_latex_section長さを制限して LaTeX のセクションを1つ読み取るアウトライン ID または完全一致するタイトルで選択
citation_graph参考文献と引用論文を取得リモートの Semantic Scholar API(論文ごとに1回呼び出し、ディスクにキャッシュ)。無料の API キーを指定すると信頼性が向上します
export_citations1つ以上の arXiv ID の BibTeX をエクスポート信頼できる arXiv メタデータを使用
watch_topicarXiv のトピック監視を保存または更新ローカルに保存します。更新時に categories を省略すると維持され、categories: [] を指定するとクリアされます
list_watches保存済みのトピック監視を一覧表示読み取り専用です。last_checked は更新されません
check_alerts保存済みの監視対象に新しい論文があるか確認前回の確認以降の論文を返します
unwatch_topic保存済みのトピック監視を削除トピックが完全一致する必要があります。見つからない場合は not-found になります
semantic_searchダウンロード済みの論文を意味的類似度で検索[pro] が必要
reindexローカルのセマンティックインデックスを再構築[pro] が必要
研究アラート(watch_topic)

watch_topic でトピックの継続的な監視を保存し、list_watches で確認し、check_alerts で定期的にチェックし、unwatch_topic で削除します。

既存の監視対象(同じ topic 文字列)を更新する場合:

  • categories を省略すると、保存済みのカテゴリフィルター(および変更しない他のフィールド)が維持されます。
  • categories: [] を渡すと、カテゴリフィルターがクリアされます。
  • 空ではないリストを渡すと、保存済みのフィルターが置き換えられます。

作成時の動作:categories を省略すると、空のリスト(カテゴリフィルターなし)が保存されます。

search_papers クエリガイド

ツールのスキーマは意図的に短くしています。クエリのチュートリアル、カテゴリ一覧、ワークフローの例については、常に読み込まれる MCP の説明ではなく、このセクションを参照してください。

クエリの構築

  • 完全一致には引用符で囲んだフレーズを使います:"multi-agent systems"、"neural networks"
  • 関連する概念は OR で組み合わせます:"AI agents" OR "software agents"
  • フィールドを指定した検索:ti:"exact title phrase"、au:"author name"、abs:"keyword"、cat:cs.LG
  • ANDNOT で除外します:"machine learning" ANDNOT "survey"
  • 長いキーワードリストより、主要な概念を 2~4 個使うことをおすすめします

高度なパターン

  • フィールド+フレーズ:ti:"transformer architecture"
  • 複数のフィールド:au:"Smith" AND ti:"quantum"
  • 除外:"deep learning" ANDNOT ("survey" OR "review")
  • 広い概念+絞り込み:"artificial intelligence" AND (robotics OR "computer vision")

カテゴリによる絞り込み(関連性を高めるために推奨)

コンピューターサイエンス:cs.AI(AI)、cs.LG(ML)、cs.CL(NLP)、cs.CV(ビジョン)、cs.MA(マルチエージェント)、cs.RO(ロボティクス)、cs.NE(ニューラル/進化的手法)、cs.IR(IR)、cs.HC(HCI)、cs.CR(セキュリティ)、cs.DB(データベース)

統計・数学:stat.ML、stat.AP、math.OC、math.ST

物理学ほか:quant-ph、eess.SP、eess.AS、physics.data-an

効果的な例

  • categories: ["cs.LG", "cs.AI"] を指定した ti:"reinforcement learning"
  • categories: ["cs.LG"] を指定した au:"Hinton" AND "deep learning"
  • categories: ["cs.MA"] を指定した "multi-agent" ANDNOT "survey"
  • categories: ["cs.CL"] を指定した abs:"transformer" AND ti:"attention"

日付と並べ替え

  • 日付形式は YYYY-MM-DD です(date_from/date_to)
  • デフォルトの sort_by は relevance です。新しい順に監視するには date を使います
  • 基礎的な研究を検索する場合は、タイトル/要旨のフィールド検索とともに date_to: "2010-12-31" を指定します

結果件数、要旨、ページネーション

  • デフォルトの max_results は 5 です(上限 50)。より多くの件数を取得するには、明示的な値を渡してください。
  • abstract_mode:snippet(デフォルト。約 280 文字。省略時は … [truncated] と表示)、full(要旨全文)、または none(要旨を省略)。その他のメタデータ(タイトル、著者、カテゴリ、日付、URL)は常に返されます。
  • レスポンスには total_results(コーパス内のヒット数)、returned、has_more、start、next_start、abstract_mode が含まれます
  • 次のページを取得するには、同じ abstract_mode を指定して start=next_start を渡します
  • arXiv はリクエストの間隔を約 3 秒空けるよう求めます(サーバー側で処理されます)。レート制限エラーが発生した場合は、約 60 秒待ってください
論文を検索して確認する

MCP クライアントに、次の内容で search_papers を呼び出すよう依頼します:

{
  "query": "\"Kolmogorov-Arnold Networks\"",
  "categories": ["cs.LG", "cs.AI"],
  "sort_by": "date"
}

デフォルトでは、要旨の抜粋付きで最大 5 件の簡潔な結果が返されます。検索レスポンスで要旨全文が必要な場合は "abstract_mode": "full" を使うか、簡潔な検索の後に単一の論文について get_abstract を呼び出してください:

{
  "paper_id": "2404.19756"
}

abstract_mode=full で既に返された論文について、get_abstract を再度呼び出さないでください。

全文をダウンロードして読む

download_paper を次の内容で呼び出します:

{
  "paper_id": "2404.19756"
}

max_chars を省略すると、上限付きの最初のチャンクが返されます(論文の文字数はデフォルトで 12,000 文字)。キャッシュ済みの論文はすぐに返されます。"force": true を渡すと、再ダウンロードしてローカルの Markdown ファイルとサイドカーを上書きします(HTML 抽出機能のバージョンが変わった場合も自動的に同じ処理が行われます)。

続いて、キャッシュ済みのコンテンツを read_paper でページ単位で読み取ります:

{
  "paper_id": "2404.19756",
  "start": 0
}

または、前のチャンクから読み取りを続けます:

{
  "paper_id": "2404.19756",
  "start": 12000
}

大容量コンテンツのレスポンスには、content_length、returned_chars、next_start、is_truncated、および(省略されている場合)次の呼び出し手順を示す next_retrieval が含まれます。読み取りを続けるには、次の呼び出しの start に next_start を渡します。デフォルトのチャンクサイズを変更するには、max_chars を明示的に指定します。以前の上限なしの論文全文レスポンスを利用するには、"return_full_text": true を指定します。

移行に関する注意 (デフォルトでコンテンツが制限されます)

以前は、download_paper / read_paper で max_chars を省略すると論文の全体が返されていました。このデフォルトは now 12,000 文字のチャンクに変更され、1 回の MCP ツール呼び出しでクライアントのコンテキストウィンドウがあふれることがなくなりました。

用途呼び出し
最初の制限付きチャンク (新しいデフォルト){ "paper_id": "…" }
続きを読む{ "paper_id": "…", "start": <next_start> }
カスタムチャンクサイズ{ "paper_id": "…", "max_chars": 5000 }
以前の無制限の動作{ "paper_id": "…", "return_full_text": true }

すでに max_chars を渡していたクライアントは変更ありません。max_chars の省略 = 全文という動作に依存していた呼び出し元だけが、return_full_text: true を追加するか、next_start でページングする必要があります。

セクションごとに元の LaTeX を読む

get_paper_latex を次のように呼び出します:

{
  "paper_id": "1706.03762"
}

list_paper_latex_sections でセクション構成の最初のページを取得します:

{
  "paper_id": "1706.03762",
  "start": 0,
  "max_sections": 100
}

次に、その構成の ID を使って get_paper_latex_section を呼び出します:

{
  "paper_id": "1706.03762",
  "section_id": "3.2",
  "max_chars": 12000
}

LaTeX アーカイブは、内容が返される前に検証され、サイズ制限が適用され、ローカルにキャッシュされます。

オプションの依存関係

必要な機能に合わせてインストールするバリアントを選択してください:

# Base server
uv tool install arxiv-mcp-server

# Base server plus PDF conversion
uv tool install "arxiv-mcp-server[pdf]"

# Base server plus local semantic search
uv tool install "arxiv-mcp-server[pro]"

基本ツールがすでにインストールされている場合は、選択したバリアントを再インストールします:

uv tool install --force "arxiv-mcp-server[pdf]"

pdf エクストラは、使用可能な arXiv HTML がない論文向けに pymupdf4llm と pymupdf-layout をインストールします。pro エクストラは semantic_search と reindex 用のローカル埋め込み依存関係を追加します。セマンティック検索は、設定されたストレージディレクトリにすでにダウンロードされた論文に対してのみ動作します。

PDF 変換が必要な古い論文については、PDF エクストラを付けてパッケージを実行します:

{
  "mcpServers": {
    "arxiv": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from",
        "arxiv-mcp-server[pdf]",
        "arxiv-mcp-server"
      ]
    }
  }
}

組み込みプロンプト

このサーバーは 7 つの MCP プロンプトワークフローを提供します。プロンプトの利用可否はクライアントによって異なります。サーバーはワークフローの指示を提供しますが、別のモデルを実行するわけではありません。

プロンプト必須引数目的
research-discoverytopic用語、検索、論文、研究クラスター、読書経路を整理します
deep-paper-analysispaper_id1 本の論文を詳細に分析します
summarize_paperpaper_id手法、結果、限界を要約します
compare_paperspaper_ids複数の論文を比較します
literature_reviewtopicトピックと任意の論文セットを統合します
literature-synthesispaper_ids論文全体にわたるテーマ、手法、タイムライン、ギャップを統合します
research-questionpaper_ids、topic根拠に基づいた反証可能な研究課題を策定します

Streamable HTTP

stdio が実用的でないデプロイメント向け:

TRANSPORT=http HOST=127.0.0.1 PORT=8080 \
  uvx arxiv-mcp-server --storage-path /absolute/path/to/papers

PowerShell:

$env:TRANSPORT = "http"
$env:HOST = "127.0.0.1"
$env:PORT = "8080"
uvx arxiv-mcp-server --storage-path C:\absolute\path\to\papers

クライアントを次に接続します:

{
  "mcpServers": {
    "arxiv": {
      "type": "http",
      "url": "http://127.0.0.1:8080/mcp"
    }
  }
}

クラウドおよびロードバランサーのプローブは http://<host>:<port>/healthz に GET する必要があります。HTTP サーバーがリッスン状態になると、本文 ok とともに 200 を返します。別個の /ready チェックはありません。プロセスが起動していれば準備完了です。stdio トランスポートには HTTP エンドポイントがありません。

サーバーはデフォルトで 127.0.0.1 にバインドし、MCP DNS リバインディング保護を有効にします。リバースプロキシでサーバーを公開する場合は、プロセスをプライベートインターフェース上に保ち、上流で認証とネットワーク制御を提供してください。プロキシが転送するホストとオリジンの値には ALLOWED_HOSTS と ALLOWED_ORIGINS を使用してください。

設定

設定デフォルト用途
--storage-path~/.arxiv-mcp-server/papers論文、ソースキャッシュ、アラート、インデックスの保存先
MAX_RESULTS50サーバー側での結果数の上限
ARXIV_REQUEST_TIMEOUT30すべての arXiv リクエスト(API、HTML、PDF、LaTeX)の試行ごとの読み取りタイムアウト(秒)。値が 0 以下の場合はデフォルト値に戻ります。
REQUEST_TIMEOUT–非推奨です。 ARXIV_REQUEST_TIMEOUT の旧エイリアスです(すべてのリクエストに適用されます)。ARXIV_REQUEST_TIMEOUT が設定されていない場合にのみ使用されます。有効なデフォルト値:30s。値が 0 以下の場合はデフォルト値に戻ります。
ARXIV_CONNECT_TIMEOUT10すべての arXiv リクエストの接続タイムアウト(秒)。値が 0 以下の場合はデフォルト値に戻ります。
ARXIV_MAX_TOTAL_TIME50各ツール呼び出しの合計時間の上限(秒)。download_paper では HTML と PDF の処理を合わせた時間です。値が 0 以下の場合はデフォルト値に戻ります。注:時間の上限が非常に短い(約 6s 未満)場合、プロセス全体に適用される 3s のレート制限による遅延のため、HTML から PDF へのフォールバックに十分な時間が残らないことがあります。
ARXIV_MAX_RETRIES2一時的な障害(タイムアウト、接続エラー、429、503)に対する最大再試行回数
ARXIV_HTTP_406_MAX_RETRIES1HTTP 406(IP レベルのスロットリング)に対する最大再試行回数(再試行は最小限にしてください)
ARXIV_INITIAL_BACKOFF2.0指数バックオフの初期待機時間(秒)
ARXIV_MAX_BACKOFF30最大バックオフ時間(秒)。Retry-After がこの値を超える場合は、直ちに rate_limited を返します。値が 0 以下の場合はデフォルト値に戻ります。
TRANSPORTstdiostdio、http、または streamable-http
HOST127.0.0.1HTTP バインドホスト
PORT8000HTTP バインドポート
ALLOWED_HOSTS空追加で許可する HTTP Host 値
ALLOWED_ORIGINS空追加で許可する HTTP Origin 値
SEMANTIC_SCHOLAR_API_KEY空citation_graph 用の無料の Semantic Scholar API キー。レート制限を避けるには、https://www.semanticscholar.org/product/api#api-key で取得してください。認証なしのリクエストも、割り当て上限に達するまでは使用できます。

Pydantic の設定では、環境変数名の大文字と小文字は区別されません。--storage-path は環境設定ではなく、コマンドラインオプションです。

セキュリティ

論文のテキストと LaTeX は、信頼できない外部コンテンツです。論文には、AI クライアントに指示を無視させたり、無関係なツールを呼び出させたりすることを意図したテキストが含まれている場合があります。

  • 論文内の指示を、信頼できるコマンドとして扱わないでください。
  • シェル、ブラウザー、ファイルシステム、メッセージングツールには、クライアントの承認制御を使用してください。
  • 外部アクションを実行する前に、生成された要約を確認してください。
  • 上流で認証が提供されない限り、Streamable HTTP を非公開にしてください。

報告ポリシーと脅威の詳細については、SECURITY.md を参照してください。

開発

git clone https://github.com/blazickjp/arxiv-mcp-server.git
cd arxiv-mcp-server
uv sync --extra test --extra dev
uv run pytest
uv run black --check .

MCP クライアントから開発用チェックアウトを実行するには、次のコマンドを使用します。

{
  "mcpServers": {
    "arxiv-dev": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/arxiv-mcp-server",
        "run",
        "arxiv-mcp-server"
      ]
    }
  }
}

貢献を歓迎します。プルリクエストを作成する前に CONTRIBUTING.md を読み、再現可能なバグの報告や範囲を限定した機能提案には GitHub Issues を使用してください。

ライセンス

Apache License 2.0。LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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