Skip to main content

arXiv MCP Server

PyPI version Python License: MIT

A Model Context Protocol (MCP) server that enables LLMs to search, download, and read arXiv papers. Gives AI assistants direct access to scientific literature.

Features

  • Search papers - Search by title, keywords, author, or arXiv ID
  • Read full text - Download PDFs and extract text automatically
  • Section extraction - Get specific sections (abstract, introduction, methods, conclusion)
  • Local caching - Downloaded papers are cached locally for fast re-access
  • Zero configuration - Works out of the box with sensible defaults

Getting Started

Prerequisites

This MCP server uses uvx to run. First, install uv:

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Or using Homebrew
brew install uv

After installation, restart your terminal.

Installation

Install the arXiv MCP server with your client.

Standard config works in most tools:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-paper-mcp-server"]
    }
  }
}
Amp
amp mcp add arxiv -- uvx arxiv-paper-mcp-server
Claude Code
claude mcp add arxiv-server -- uvx arxiv-paper-mcp-server
Claude Desktop

Add to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-paper-mcp-server"]
    }
  }
}
Codex
codex mcp add arxiv -- uvx arxiv-paper-mcp-server
Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-paper-mcp-server"]
    }
  }
}
Factory

Add to Factory MCP settings:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-paper-mcp-server"]
    }
  }
}
Gemini CLI
gemini mcp add arxiv -- uvx arxiv-paper-mcp-server
Goose

Run goose configure, then add to ~/.config/goose/config.yaml:

extensions:
  arxiv:
    command: uvx
    args:
      - arxiv-paper-mcp-server
Kiro

Add to Kiro MCP settings:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-paper-mcp-server"]
    }
  }
}
LM Studio

Add to LM Studio MCP settings:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-paper-mcp-server"]
    }
  }
}
opencode
opencode mcp add arxiv -- uvx arxiv-paper-mcp-server
Qodo Gen

Add to Qodo Gen MCP configuration:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-paper-mcp-server"]
    }
  }
}
VS Code

Add to .vscode/mcp.json in your workspace:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-paper-mcp-server"]
    }
  }
}
Warp

Add to Warp MCP settings:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-paper-mcp-server"]
    }
  }
}
Windsurf

Add to ~/.windsurf/mcp.json:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-paper-mcp-server"]
    }
  }
}
Using pip
pip install arxiv-paper-mcp-server
arxiv-mcp-server

Tools

Tool Description
search Search arXiv papers by title, keywords, or arXiv ID (e.g., 2401.12345)
get_paper Download and read the full text of a paper, with optional section filtering
list_downloaded_papers List all locally cached papers

Tool Details

search(query, max_results=10)

Search for papers on arXiv. Supports:

  • Keywords: "transformer attention mechanism"
  • Paper ID: "2401.12345" or "arXiv:2401.12345"
  • Author: "Yann LeCun"

Returns paper ID, title, authors, publication date, and abstract preview.

get_paper(paper_id, section="all")

Download and extract text from a paper.

Section Description
all Full paper text (default)
abstract Abstract only
introduction Introduction section
method Methods/Approach section
conclusion Conclusion/Discussion section

list_downloaded_papers()

List all papers that have been downloaded and cached locally.

Configuration

Environment Variable Description Default
ARXIV_STORAGE_DIR Directory for downloaded papers ~/.arxiv-mcp/papers

Usage Examples

Search for papers:

User: Find recent papers about prompt compression

Claude: [Uses search("prompt compression", max_results=5)]
Found 5 papers:
- 2504.16574: PIS: Linking Importance Sampling...
- ...

Read a specific paper:

User: Read the introduction of paper 2401.12345

Claude: [Uses get_paper("2401.12345", section="introduction")]
[Returns the introduction section]

Review cached papers:

User: What papers have I downloaded?

Claude: [Uses list_downloaded_papers()]
You have 3 papers cached locally:
- 2401.12345: Paper Title...

Development

# Clone the repository
git clone https://github.com/AnnaSuSu/arxiv-mcp.git
cd arxiv-mcp

# Install dependencies
uv sync

# Run server locally
uv run arxiv-mcp-server

Requirements

  • Python 3.10+
  • Dependencies: mcp, arxiv, pymupdf

License

MIT License - see LICENSE for details.

Release files for arxiv-paper-mcp-server 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arxiv-paper-mcp-server 0.1.2
File Size Uploaded
arxiv_paper_mcp_server-0.1.2.tar.gz 57.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arxiv-paper-mcp-server 0.1.2
File Interpreter ABI Platform
arxiv_paper_mcp_server-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 65.6 kB

Release files / arxiv_paper_mcp_server-0.1.2.tar.gz

Download URL arxiv_paper_mcp_server-0.1.2.tar.gz
Size 57.0 kB
Tags Source
SHA-256 checksum
How to use checksums
77716a28759c82ef95710cd6fde35380d93ebfd7293217bcc1914984b127cf94
BLAKE2b-256 checksum
How to use checksums
262cf7b1fea5b00da48c05301fca218705db6e837c7f781ea77c072bfa24e37f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.9

Release files / arxiv_paper_mcp_server-0.1.2-py3-none-any.whl

Download URL arxiv_paper_mcp_server-0.1.2-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d65c1d18a3c0e962ca8d148b0df59c8b28141e6d7b1bb7d5120317b3c9ffe930
BLAKE2b-256 checksum
How to use checksums
5eacdb553f5af22cd4264f776c668a332e8c2a02c7a04d56892a4ac5f176f39c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.9

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page