arXiv MCP Server
Enables searching the arXiv database, retrieving article metadata and details, downloading papers as PDFs, and loading article text into context for analysis by LLMs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@arXiv MCP Server search for recent papers about large language models"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
arXiv MCP Server
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: arXiv MCP Server
Tools
get_article_url
Retrieve the direct PDF URL by title or arXiv ID
title(String, optional)arxiv_id(String, optional)
download_article
Download the article as a PDF
title(String, optional)arxiv_id(String, optional)
load_article_to_context
Load article text into context (partial extraction supported)
title(String, optional)arxiv_id(String, optional)start_page(Int, optional, 1-based)end_page(Int, optional, 1-based)max_pages(Int, optional)max_chars(Int, optional)preview(Bool, optional; HEAD check only)
get_details
Retrieve metadata by title or arXiv ID
title(String, optional)arxiv_id(String, optional)
search_arxiv
Search arXiv and return matching article metadata
all_fields(String): General keyword search across all metadata fieldstitle(String): Keyword(s) to search for within the titles of articlesauthor(String): Author name(s) to filter results byabstract(String): Keyword(s) to search for within article abstractsstart(Int): Index of the first result to returnmax_results(Int, default 10, up to 50)
Setup
MacOS
Clone the repository
git clone https://github.com/prashalruchiranga/arxiv-mcp-server.git
cd arxiv-mcp-serverInstall 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 | shCreate and activate virtual environment.
uv venv --python=python3.13
source .venv/bin/activateInstall development dependencies.
uv syncWindows
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-serverCreate and activate virtual environment.
uv venv --python=python3.13
source .venv\Scripts\activateInstall development dependencies.
uv syncUsage 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.
Deployment
Hosted platforms such as Smithery require HTTP transport. Set
MCP_TRANSPORT=http; the server will bind to thePORTenvironment variable provided by the platform. The provided Docker/Smithery config also pins the SSE endpoints to/.well-known/mcp/sseand/.well-known/mcp/messages/for spec compliance.Hosted deployments expose Streamable HTTP at
/mcpand serve a JSON schema at/.well-known/mcp-configso Smithery can provision per-session settings (currently just an optionaldownloadPath).For local stdio integrations, no additional configuration is required—the server defaults to STDIO when
PORTis not set.
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 networksDownload the attention is all you need paperCan 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 titlesLicense
Licensed under MIT. See the LICENSE.
Available Tools
5 toolsdownload_articleB
Download the article as a PDF file. Resolve by arXiv ID or title.
Args: title: Article title. arxiv_id: arXiv ID.
Returns: Success message or structured error JSON.
Inputs: title, arxiv_id. Returns: result
get_article_urlA
Retrieve the direct PDF URL of an article on arXiv.org by title or arXiv ID.
Args: title: Article title. arxiv_id: arXiv ID (e.g., 1706.03762 or arXiv:1706.03762v7).
Returns: URL that can be used to retrieve the article, or structured error JSON.
Inputs: title, arxiv_id. Returns: result
get_detailsA
Retrieve metadata of an article by title or arXiv ID.
Args: title: Article title. arxiv_id: arXiv ID.
Returns: JSON string containing article details or structured error JSON.
Inputs: title, arxiv_id. Returns: result
load_article_to_contextA
Load the article text into context. Supports title or arXiv ID resolution and partial extraction.
Args: title: Article title. arxiv_id: arXiv ID. start_page: 1-based start page (inclusive). end_page: 1-based end page (inclusive). max_pages: hard cap on number of pages to extract. max_chars: hard cap on number of characters to extract. preview: if True, only validate availability and return minimal info.
Returns: Article text or structured error JSON.
Inputs: title, arxiv_id, start_page, end_page, +3 more. Returns: result
search_arxivA
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. max_results: Maximum number of results to return (1-50).
Returns: A JSON-formatted string containing article titles and their associated arXiv IDs; otherwise, a structured error JSON string.
Inputs: all_fields, title, author, abstract, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Most tools have distinct purposes: search_arxiv finds articles, get_details retrieves metadata, download_article gets PDF files, and load_article_to_context extracts text. However, get_article_url overlaps significantly with download_article since both ultimately provide access to the PDF, creating potential confusion about which to use for PDF retrieval.
All tools follow a consistent verb_noun naming pattern with clear, descriptive names. The snake_case convention is applied uniformly across all five tools, making the set predictable and easy to understand.
Five tools is well-scoped for an arXiv server, covering the essential workflows: searching, metadata retrieval, URL fetching, PDF downloading, and text extraction. Each tool serves a clear purpose without redundancy, making the count appropriate for the domain.
The tool set covers core arXiv operations effectively: search, metadata retrieval, and content access (via URL, download, or text extraction). A minor gap exists in update or management functions (e.g., saving articles locally or tracking history), but these are not essential for the basic purpose, and agents can work around this limitation.
Maintenance
Related MCP Connectors
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Search arXiv, fetch paper metadata, and read full-text content.
arXiv and OpenAlex/Crossref paper search (an open Google Scholar alternative) as agent tools.
Queries ArXiv for AI/CS/math papers and returns structured abstracts, authors, PDF links, and BibT
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables searching, downloading, and managing academic papers from arXiv.org through natural language interactions. Provides tools for paper discovery, PDF downloads, and local paper collection management.41MIT
- AlicenseBqualityDmaintenanceEnables searching and retrieving academic papers from arXiv by various criteria including title, author, and category, with support for extracting full text content from PDFs.4MIT
- AlicenseBqualityDmaintenanceEnables searching academic papers on arXiv and retrieving detailed information such as title, authors, summary, and PDF link.16MIT
- AlicenseNot gradedqualityDmaintenanceEnables arXiv paper search, PDF download, text extraction, and context chunking for LLM pipelines, along with advanced features like citation graphs and reproducibility scoring.2MIT