Skip to main content
Glama

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 mcp add arxiv -- uvx arxiv-paper-mcp-server
claude mcp add arxiv-server -- uvx arxiv-paper-mcp-server

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 mcp add arxiv -- uvx arxiv-paper-mcp-server

Add to ~/.cursor/mcp.json:

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

Add to Factory MCP settings:

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

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

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

Add to Kiro MCP settings:

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

Add to LM Studio MCP settings:

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

Add to Qodo Gen MCP configuration:

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

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

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

Add to Warp MCP settings:

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

Add to ~/.windsurf/mcp.json:

{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-paper-mcp-server"]
    }
  }
}
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.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AnnaSuSu/arxiv-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server