Skip to main content
Glama
ArXiv Insight MCP Server

ArXiv Insight MCP Server

by YI-TING-EE13

ArXiv Insight MCP Server

An MCP server for academic-paper demos. It exposes arXiv search, citation, PDF/text retrieval, a recent-search resource, and reusable review prompts.

What It Provides

Tools:

  • health_check: local health and cache status, no network required.

  • search_arxiv: search arXiv by topic, category, sort order, year range, and offset.

  • get_paper_fulltext: download and extract paper text, using local cache.

  • download_pdf: download a PDF into the local downloads/ directory only.

  • get_bibtex: generate BibTeX for an arXiv paper ID.

  • extract_section: extract a named section from a cached or downloaded paper.

Resources:

  • papers://recent: IDs and titles from the most recent search_arxiv result.

Prompts:

  • review_paper: standard review workflow for one paper.

  • compare_papers: comparison workflow for multiple papers.

Related MCP server: MCP Research Server (arXiv)

Requirements

  • Python 3.12+

  • uv

  • Network access to arXiv for search, PDF, and BibTeX tools

The project currently uses MCP Python SDK v1.x through mcp[cli]>=1.25.0. Before refreshing dependencies, consider adding a <2 upper bound while SDK v2 remains a separate pre-release line.

Install

uv sync --frozen

Run

uv run main.py

The server uses stdio transport by default, which is the expected mode for local MCP clients.

MCP Client Configuration

From the sibling mcp-client or chainlit-mcp-client repo, use:

{
  "mcpServers": {
    "arxiv-insight": {
      "command": "uv",
      "args": ["--directory", "../mcp-server", "run", "main.py"]
    }
  }
}

For absolute Windows paths, escape backslashes in JSON.

Test

Local smoke tests do not contact arXiv or require extra dev dependencies:

uv run python scripts/smoke_test.py

Manual MCP Inspector flow:

npx -y @modelcontextprotocol/inspector

In the Inspector, configure a stdio server with command uv and args:

--directory C:\absolute\path\to\mcp-server run main.py

First call health_check, then search_arxiv with a small max_results such as 3.

Demo Baseline

This server has been verified through the sibling ../mcp-client Chainlit demo on Windows with LM Studio Local Server:

  • Endpoint: http://localhost:1234/v1

  • Model identifier: google/gemma-4-e4b

  • Resource shown in Chainlit: papers://recent

  • Successful MCP tool calls: health_check, then search_arxiv

Data And Security Notes

  • paper_cache/, downloads/, metadata_db.json, and Log.txt are local runtime artifacts.

  • download_pdf validates the arXiv ID and restricts writes to downloads/.

  • arXiv calls are rate-limited to a 3-second interval through the shared client state.

  • Tool errors are returned as text for demo readability; production servers should consider structured error output and stricter auditing.

Troubleshooting

  • If uv run python scripts/smoke_test.py cannot import dependencies, run uv sync --frozen first.

  • If arXiv tools fail but health_check works, check network connectivity and arXiv availability.

  • If PDF extraction is slow, repeat the same paper ID; cached text should be reused from paper_cache/.

Available Tools

6 tools
download_pdfA

Download a paper's PDF to a local directory. Securely restricts downloads to the project's 'downloads' folder and its subdirectories.

Inputs: paper_id (required), save_dir. Returns: result

extract_sectionC

Extract a specific section (e.g., Abstract, Introduction, Conclusion) from a paper.

Inputs: paper_id (required), section_name (required). Returns: result

get_bibtexB

Get the BibTeX citation for a specific arXiv paper.

Inputs: paper_id (required). Returns: result

get_paper_fulltextB

Retrieve the full text of a paper. Checks local cache first.

Inputs: paper_id (required). Returns: result

health_checkA

Return local server health and cache status without contacting arXiv.

Inputs: no named parameters. Returns: result

search_arxivA
Search for papers on arXiv and cache metadata for Resources.

Args:
    topic: The search query. Supports advanced prefixes like 'ti:' (title), 'au:' (author), 'abs:' (abstract).
    max_results: Maximum number of results to return (default: 100, max: 300).
    offset: The index of the first result to return (for pagination).
    category: Optional category filter (e.g., 'cs.AI').
    sort_by: Sort order. Options: 'relevance' (default), 'submitted', 'updated'.
    start_year: Filter by submission year (start). Set to 0 to ignore.
    end_year: Filter by submission year (end). Set to 0 to ignore.

Inputs: topic (required), offset, sort_by, category, +3 more. Returns: result

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool targets a distinct action and output: server health, search, citation retrieval, full-text retrieval, PDF download, and section extraction. Although full-text and section extraction are related, their scopes are clearly differentiated by the descriptions.

    Naming Consistency4/5

    Most tools follow a consistent snake_case verb_noun pattern (search_arxiv, get_bibtex, get_paper_fulltext, download_pdf, extract_section). health_check deviates slightly by using a noun-based name, but it is a standard exception and remains readable.

    Tool Count5/5

    Six tools are well-scoped for an arXiv search and retrieval server. Each tool covers a distinct part of the workflow without unnecessary duplication or bloat.

    Completeness4/5

    The surface covers the main read-only lifecycle: search, metadata caching, citation generation, full-text retrieval, section extraction, PDF download, and health checking. A direct get-paper-metadata-by-ID tool is absent, but search results and cached Resources likely fill that gap for most workflows.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables searching and retrieving academic papers from arXiv by various criteria including title, author, and category, with support for extracting full text content from PDFs.
      4
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables searching and retrieving academic papers from arXiv by topic, allowing users to discover research papers and extract their metadata including titles, authors, abstracts, and PDF links through natural language queries.
      -
    • A
      license
      B
      quality
      B
      maintenance
      Enables searching and retrieving academic papers from arXiv with support for advanced filtering by author, category, and date, plus full paper content extraction.
      12
      16
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Enables searching academic papers on arXiv and retrieving detailed information such as title, authors, summary, and PDF link.
      1
      6
      MIT