Skip to main content

MCP Server for searching and reading arXiv papers

Project description

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

First, 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arxiv_paper_mcp_server-0.1.1.tar.gz (56.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arxiv_paper_mcp_server-0.1.1-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file arxiv_paper_mcp_server-0.1.1.tar.gz.

File metadata

File hashes

Hashes for arxiv_paper_mcp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 86a57bb49bbd79c0254013b834166ece57ea96c6105cc48a7531ce69e0f95eff
MD5 e6f3aa352db522984b16083e59e64e23
BLAKE2b-256 b80335370af1a0c28d182f22d9acbfe6207d2f6653b39c77a5b315f78dbe6673

See more details on using hashes here.

File details

Details for the file arxiv_paper_mcp_server-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for arxiv_paper_mcp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3a10c570408d4cc4a76485584d0ff96a3c468b4b33bf05c2b294af014cd83bd4
MD5 0f8d7dd2c453dc90466118e67ff9f01d
BLAKE2b-256 87082ba70b0ac7a9a41270b549cb8291cc7a8aaec624349be3c0c5f851389639

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page