Skip to main content
Glama

arXiv MCP Server

MCP Compatible Python License

A Model Context Protocol (MCP) server that enables interacting with the arXiv API using natural language.

Features

  • Retrieve metadata about scholarly articles hosted on arXiv.org

  • Download articles in PDF format to the local machine

  • Search arXiv database for a particular query

  • Retrieve articles and load them into a large language model (LLM) context

Related MCP server: Model Context Protocol Python Server

Tools

  • get_article_url

    • Retrieve the URL of an article hosted on arXiv.org based on its title

      • title (String): Article title

  • download_article

    • Download the article hosted on arXiv.org as a PDF file

      • title (String): Article title

  • load_article_to_context

    • Load the article hosted on arXiv.org into context of a LLM

      • title (String): Article title

  • get_details

    • Retrieve metadata of an article hosted on arXiv.org based on its title

      • title (String): Article title

  • search_arxiv

    • Performs a search query on the arXiv API based on specified parameters and returns matching article metadata

      • all_fields (String): General keyword search across all metadata fields

      • title (String): Keyword(s) to search for within the titles of articles

      • author (String): Author name(s) to filter results by

      • abstract (String): Keyword(s) to search for within article abstracts

      • start (int): Index of the first result to return

Setup

MacOS

Clone the repository

git clone https://github.com/prashalruchiranga/arxiv-mcp-server.git
cd arxiv-mcp-server

Install uv package manager. For more details on installing, visit the official uv documentation.

# Using Homebrew
brew install uv

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

Create and activate virtual environment.

uv venv --python=python3.13
source .venv/bin/activate

Install development dependencies.

uv sync

Windows

Install uv package manager. For more details on installing, visit the official uv documentation.

# Use irm to download the script and execute it with iex
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Close and reopen the shell, then clone the repository.

git clone https://github.com/prashalruchiranga/arxiv-mcp-server.git
cd arxiv-mcp-server

Create and activate virtual environment.

uv venv --python=python3.13
source .venv\Scripts\activate

Install development dependencies.

uv sync

Usage with Claude Desktop

To enable this integration, add the server configuration to your claude_desktop_config.json file. Make sure to create the file if it doesn’t exist.

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Roaming/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "arxiv-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/arxiv-mcp-server/src/arxiv_server",
        "run",
        "server.py"
      ],
      "env": {
        "DOWNLOAD_PATH": "/ABSOLUTE/PATH/TO/DOWNLOADS/FOLDER"
      }
    }
  }
}

You may need to put the full path to the uv executable in the command field. You can get this by running which uv on MacOS or where uv on Windows.

Example Prompts

Can you get the details of 'Reasoning to Learn from Latent Thoughts' paper?
Get the papers authored or co-authored by Yann Lecun on convolutional neural networks
Download the attention is all you need paper
Can you get the papers by Andrew NG which have 'convolutional neural networks' in title?
Can you display the paper?
List the titles of papers by Yann LeCun. Paginate through the API until there are 30 titles

License

Licensed under MIT. See the LICENSE.

Available Tools

5 tools
download_articleB

Download the article hosted on arXiv.org as a PDF file. This tool searches for the article based on its title, retrieves the article's PDF, and saves it to a specified download location using the arXiv ID as the filename.

Args: title: Article title.

Returns: Success or error message.

Inputs: title (required).

get_article_urlA

Retrieve the URL of an article hosted on arXiv.org based on its title. Use this tool only for retrieving the URL. This tool searches for the article based on its title, and then fetches the corresponding URL from arXiv.org.

Args: title: Article title.

Returns: URL that can be used to retrieve the article.

Inputs: title (required).

get_detailsA

Retrieve information of an article hosted on arXiv.org based on its title. This tool searches for the article based on its title and retrieves arXiv ID, title, authors, link, direct PDF URL, published timestamp, last updated timestamp, and summary.

Args: title: Article title.

Returns: A JSON-formatted string containing article details if retrieval is successful; otherwise, a plain error message string.

Inputs: title (required).

load_article_to_contextB

Load the article hosted on arXiv.org into context. This tool searches for the article based on its title, retrieves the article content, and loads text content into LLM context.

Args: title: Article title.

Returns: Article as a text string or error message.

Inputs: title (required).

search_arxivB

Performs a search query on the arXiv API based on specified parameters and returns matching article metadata. This function allows for flexible querying of the arXiv database. Only parameters that are explicitly provided will be included in the final search query. Results are returned in a JSON-formatted string with article titles as keys and their corresponding arXiv IDs as values.

Args: all_fields: General keyword search across all metadata fields including title, abstract, authors, comments, and categories. title: Keyword(s) to search for within the titles of articles. author: Author name(s) to filter results by. abstract: Keyword(s) to search for within article abstracts. start: Index of the first result to return; used for paginating through search results. Defaults to 0.

Returns: A JSON-formatted string containing article titles and their associated arXiv IDs; otherwise, a plain error message string.

Inputs: all_fields, title, author, abstract, +1 more.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 5 tools

    Disambiguation3/5

    The tools have some functional overlap that could cause confusion, particularly between get_article_url, get_details, and load_article_to_context which all retrieve article information based on title. However, their specific purposes (URL retrieval, metadata details, and full text loading) are differentiated in their descriptions, which helps mitigate misselection risks.

    Naming Consistency4/5

    Most tools follow a consistent verb_noun pattern (download_article, get_article_url, get_details, load_article_to_context) with clear action-oriented names. The only deviation is search_arxiv, which uses 'search' as a verb but follows the same general naming convention, maintaining good readability throughout the set.

    Tool Count5/5

    With 5 tools, this server is well-scoped for arXiv article operations. Each tool serves a distinct purpose in the article retrieval and search workflow, from discovery (search_arxiv) to information retrieval (get_details, get_article_url) to content access (download_article, load_article_to_context), making the count appropriate for the domain.

    Completeness4/5

    The tool set covers core arXiv operations effectively: searching, retrieving metadata, accessing URLs, downloading PDFs, and loading text content. A minor gap exists in update/management operations (e.g., saving articles to collections or tracking reading history), but these are not essential for the basic arXiv interaction workflow that this server targets.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables AI agents to search, retrieve, and analyze academic papers from arXiv, supporting features like keyword search, paper details retrieval, content extraction, and paper analysis.
      6
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      A Python implementation of the Model Context Protocol (MCP) server that enables searching and extracting information from arXiv papers, designed to be extensible with additional MCP tools.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to search, retrieve, analyze, and export academic papers from arXiv.org using the Model Context Protocol.
      19
      MIT