ArXiv-MCP

MIT License
  • Linux
  • Apple

Integrations

  • Enables searching for academic papers using keywords, retrieving detailed information about specific papers by ID, extracting full text content from paper PDFs, and generating comprehensive summaries and analyses of papers from the arXiv repository.

  • Provides integration support for n8n workflows, with specific configuration guidance for connecting the MCP server from within n8n's containerized environment.

AI エージェントが、電子プレプリントの人気のオープン アクセス リポジトリであるarXivから学術論文を検索、取得、分析できるようにするモデル コンテキスト プロトコル (MCP)サーバーの実装。

概要

このプロジェクトは、AIエージェントがarXivリポジトリと対話し、キーワードに基づいて論文を検索したり、特定の論文に関する詳細情報を取得したり、さらには論文の内容を抽出・分析したりすることを可能にするMCPサーバーを提供します。これは、研究支援のための実用的なツールであると同時に、MCPサーバー構築のためのリファレンス実装としても機能します。

この実装は、MCP サーバーの構築に関するベスト プラクティスに従っており、MCP 互換のあらゆるクライアントとのシームレスな統合を可能にします。

特徴

サーバーは学術研究のための強力なツールをいくつか提供します。

  1. search_papers : キーワードを使ってarXivで論文を検索し、包括的な要約を取得します
  2. get_paper_details : arXiv IDで特定の論文の詳細情報を取得する
  3. extract_paper_content : 論文の PDF から全文コンテンツをダウンロードして抽出します
  4. analyze_paper : 論文の内容を分析し、包括的な要約を生成する

前提条件

  • Python 3.11以上
  • MCP サーバーをコンテナとして実行する場合は Docker (推奨)

インストール

UVの使用

  1. uv がインストールされていない場合はインストールします。
    pip install uv
  2. このリポジトリをクローンします:
    git clone https://github.com/kelvingao/arxiv-mcp.git cd arxiv-mcp
  3. 依存関係をインストールします:
    uv pip install -e .
  4. .env.exampleに基づいて.envファイルを作成します。
    cp .env.example .env
  5. .envファイルで環境変数を設定します(構成セクションを参照)。

Dockerの使用(推奨)

  1. Docker イメージをビルドします。
    docker build -t mcp/arxiv --build-arg PORT=8050 .
  2. .env.exampleに基づいて.envファイルを作成し、環境変数を設定します。

構成

.envファイルでは次の環境変数を設定できます。

変数説明
TRANSPORTトランスポートプロトコル(sse または stdio)sse
HOSTSSEトランスポートを使用するときにバインドするホスト0.0.0.0
PORTSSE トランスポートを使用するときにリッスンするポート8050

サーバーの実行

UVの使用

SSEトランスポート

# Set TRANSPORT=sse in .env then: python src/server.py

MCP サーバーは、以下に示す構成で接続できる API エンドポイントとして実行されます。

Stdioトランスポート

stdio を使用すると、MCP クライアント自体が MCP サーバーを起動できるため、この時点では何も実行されません。

Dockerの使用

SSEトランスポート

docker run --env-file .env -p 8050:8050 mcp/arxiv

MCP サーバーは、以下に示す構成で接続できるコンテナー内の API エンドポイントとして実行されます。

Stdioトランスポート

stdio を使用すると、MCP クライアント自体が MCP サーバー コンテナーを起動できるため、この時点では何も実行されません。

MCPクライアントとの統合

SSE構成

SSE トランスポートを使用してサーバーを実行したら、次の構成を使用してサーバーに接続できます。

{ "mcpServers": { "arxiv": { "transport": "sse", "url": "http://localhost:8050/sse" } } }

Windsurf ユーザーへの注意: 設定ではurlの代わりにserverUrlを使用してください。

{ "mcpServers": { "arxiv": { "transport": "sse", "serverUrl": "http://localhost:8050/sse" } } }

n8n ユーザーへの注意: n8n は自身のコンテナの外部にあるホスト マシンにアクセスする必要のあるため、localhost ではなく host.docker.internal を使用してください。

したがって、MCP ノードの完全な URL は次のようになります: http://host.docker.internal:8050/sse

デフォルトの 8050 以外の値を使用している場合は、必ずポートを更新してください。

Python と Stdio 設定

このサーバーを、Claude Desktop、Windsurf、またはその他の MCP クライアントの MCP 構成に追加します。

{ "mcpServers": { "arxiv": { "command": "your/path/to/arxiv-mcp/.venv/bin/python", "args": ["your/path/to/arxiv-mcp/src/main.py"], "env": { "TRANSPORT": "stdio" } } } }

Stdio 構成の Docker

{ "mcpServers": { "arxiv": { "command": "docker", "args": ["run", "--rm", "-i", "-e", "TRANSPORT", "mcp/arxiv"], "env": { "TRANSPORT": "stdio" } } } }

使用例

AI エージェントで arXiv MCP サーバーを使用する方法の例をいくつか示します。

論文の検索

Find recent papers about quantum computing published in the last year.

論文の詳細を取得する

Get details for the paper with arXiv ID 2303.08774

紙のコンテンツの抽出

Extract the full text from the paper with arXiv ID 2303.08774

論文の分析

Analyze the methodology section of the paper with arXiv ID 2303.08774

独自のMCPサーバーの構築

この実装は、より複雑なMCPサーバーを構築するための基盤を提供します。独自のサーバーを構築するには、以下の手順に従ってください。

  1. @mcp.tool()デコレータを使用してメソッドを作成し、独自のツールを追加します。
  2. 独自のライフスパン関数を作成して、独自の依存関係 (クライアント、データベース接続など) を追加します。
  3. 既存のツールを変更したり、新しいツールを追加して機能を強化します
  4. @mcp.resource()@mcp.prompt()を使用してプロンプトとリソースを追加します。

ライセンス

MITライセンス

謝辞

-
security - not tested
A
license - permissive license
-
quality - not tested

AI エージェントが arXiv から学術論文を検索、取得、分析できるようにするモデル コンテキスト プロトコル サーバー。キーワード検索、論文詳細の取得、コンテンツの抽出、論文分析などの機能をサポートします。

  1. Features
    1. Prerequisites
      1. Installation
        1. Using uv
        2. Using Docker (Recommended)
      2. Configuration
        1. Running the Server
          1. Using uv
          2. Using Docker
        2. Integration with MCP Clients
          1. SSE Configuration
          2. Python with Stdio Configuration
          3. Docker with Stdio Configuration
        3. Usage Examples
          1. Searching for Papers
          2. Getting Paper Details
          3. Extracting Paper Content
          4. Analyzing a Paper
        4. Building Your Own MCP Server
          1. License
            1. Acknowledgements
              ID: 8qnsbe8xkh