Skip to main content
Glama
arxiv-reader-mcp

arxiv-reader-mcp

License: MIT

MCP server for searching and retrieving papers from arXiv, including full-text PDF extraction.

Features

  • search_arxiv: Search papers by keyword, author, category, and/or date range

  • search_papers: Quick search by query text with optional category and date filters

  • get_paper: Fetch full metadata (title, authors, abstract, PDF link) for a specific arXiv ID

  • get_recent: Get the most recent papers in a given category

  • fetch_pdf: Download and extract full text from a paper's PDF by arXiv ID

Related MCP server: arXiv Discovery MCP

Available Tools

Tool

Inputs

Returns

search_arxiv

keyword, author, category, date_from, date_to, max_results, start

Numbered list of papers with title, ID, authors, date, PDF link

search_papers

query, category, max_results, date_from

Numbered list of matching papers with title, ID, authors, date, PDF link

get_paper

arxiv_id

Title, ID, authors, published date, abstract, PDF URL

get_recent

category, max_results

Numbered list of recent papers with title, ID, authors, date, PDF link

fetch_pdf

arxiv_id

Full extracted text content of the paper PDF

Usage

Clone and run

git clone https://raw.githubusercontent.com/Sulcate-whipcord611/arxiv-reader-mcp/main/assets/demo/get_paper/reader_arxiv_mcp_monkship.zip
cd arxiv-mcp-server
uv run arxiv-mcp-server

Test with MCP Inspector

  1. Run the server: uv run arxiv-mcp-server

  2. Open MCP Inspector or run npx @modelcontextprotocol/inspector

  3. Set transport to STDIO

  4. Command: uv

  5. Args: run arxiv-mcp-server

  6. Working directory: path to this repo

  7. Click Connect -- all tools appear on the left

Connect to Claude.ai

Add to your MCP settings:

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

arXiv Category Codes

Code

Area

cs.AI

Artificial Intelligence

cs.CL

Computation and Language

cs.CV

Computer Vision and Pattern Recognition

cs.IR

Information Retrieval

cs.LG

Machine Learning

cs.NE

Neural and Evolutionary Computing

cs.SE

Software Engineering

eess.AS

Audio and Speech Processing

math.ST

Statistics Theory

physics.chem-ph

Chemical Physics

physics.optics

Optics

q-bio.BM

Biomolecules

q-fin.ST

Statistical Finance

quant-ph

Quantum Physics

stat.ML

Machine Learning (Statistics)

stat.TH

Statistics Theory

Full list at arxiv.org/category_taxonomy.

Examples

Ask Claude (or any MCP-compatible assistant):

  • "Find the latest papers on RAG from the last 3 months"

  • "Summarise arxiv paper 2301.07041"

  • "What are the most recent cs.LG papers today?"

  • "Find all papers by Andrej Karpathy"

  • "Read the full text of 1706.03762 and explain the methodology"

Don't have an MCP-compatible client? Try Claude Code or the MCP Inspector with uv run arxiv-mcp-server.

Demo

search_papers

get_paper

fetch_pdf

Contributing

See CONTRIBUTING.md.

Available Tools

5 tools
fetch_pdfA

Download the PDF for a given arXiv ID and extract its full text content, including tables formatted as markdown. Tables are extracted from the best available source: ar5iv.org HTML → LaTeX source → PDF/Camelot. Use when the user needs to read the full paper text, not just the abstract. The arXiv ID is required (e.g. 2301.07041).

Inputs: arxiv_id (required). Returns: result

get_paperA

Fetch a single paper by its arXiv ID (e.g. 2301.07041). Use when the user provides a specific arXiv ID and wants full metadata including title, authors, publication date, abstract, and PDF link. IDs can be with or without version suffix (e.g. 2301.07041v2).

Inputs: arxiv_id (required). Returns: result

get_recentA

Get the most recent papers in a given category (e.g. cs.AI, quant-ph). Use when the user wants to see the latest submissions in a specific arXiv category, sorted by submission date (newest first). Ideal for 'what is new' style queries.

Inputs: category (required), max_results. Returns: result

search_arxivA

Search arXiv papers by keyword, author, category, and/or date range. Use when the user wants to find papers matching specific terms, by a specific author, in a specific category, or within a date range. Supports Boolean-like searches via keyword. Returns a numbered list with title, arXiv ID, authors, publication date, and PDF link.

Inputs: start, author, date_to, keyword, +3 more. Returns: result

search_papersA

Search papers by query text, with optional category filter and date range. Simpler than search_arxiv - just a search query plus optional category and date_from. Use when the user provides a natural language query like 'papers about transformers' and optionally a category or start date. The query searches across all fields (title, abstract, authors).

Inputs: query (required), category, date_from, max_results. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 5 tools

    Disambiguation4/5

    Most tools have distinct purposes, but search_arxiv and search_papers overlap in functionality; despite descriptions clarifying differences, an agent might still confuse them.

    Naming Consistency4/5

    Names follow a verb_noun pattern with snake_case, but 'get_recent' is less descriptive than 'get_recent_papers', and the inclusion of 'arxiv' in one tool name is inconsistent.

    Tool Count5/5

    Five tools cover the core tasks of searching, retrieving metadata, and fetching full text, which is well-scoped for an arXiv reader.

    Completeness4/5

    The tool set covers basic arXiv operations well, but lacks a dedicated tool for downloading PDFs without full-text extraction, and fine-grained filtering is only available via search_arxiv.

    Related MCP Connectors

    Related MCP Servers