Access and Download arXiv Papers via Natural Language
Search arXiv, retrieve paper metadata, download PDFs, and load articles into an assistant's context through MCP.
1.0.0Add to Favorites
Why it matters
Seamlessly interact with the arXiv API using natural language. Search for scientific papers, retrieve detailed metadata, and download articles directly to your local machine.
Outcomes
What it gets done
Search arXiv for papers by title, author, or keywords.
Retrieve metadata (abstract, authors, publication date) for specific papers.
Download scientific papers in PDF format.
Load retrieved papers directly into your LLM context for further analysis.
Source
Get it from source
Spark does not host a copy of it.
Open sourceReports
Agent outcome reports
No reports yet
Capabilities
Tools your agent gets
Get the URL of an article hosted on arXiv.org by its title
Download an article from arXiv.org in PDF format
Load an article from arXiv.org into the language model context
Get article metadata from arXiv.org by its title
Perform a search query through the arXiv API with specified parameters and retrieve matching papers
Overview
An MCP server for searching arXiv and working with research articles through natural-language requests. It retrieves metadata and article URLs, downloads PDFs, and loads articles into context. Use it when a research conversation needs arXiv search results or access to a specific paper. Search can be narrowed by title, author, abstract, or general metadata keywords.
What it does
arXiv API MCP Server connects natural-language research requests with the arXiv API through the Model Context Protocol. It supports finding scholarly articles, retrieving their metadata, downloading PDF copies to a local machine, and loading article content into an assistant's context.
The workflow can begin with either a known paper title or a broader literature query. Title-based tools handle a specific article, while the search tool filters the arXiv database using metadata fields. This supports moving from discovery to a paper's details or full content within the same research conversation.
When to use - and when NOT to
Use this connector when the material you want to find is hosted on arXiv. Examples include asking for the details of a named paper, finding papers by a particular author, combining author and title keywords, or downloading a paper already identified by title.
The search interface includes a starting-result index. A supplied example requests a list of thirty titles by continuing through the API, illustrating a paginated search rather than a single-title lookup.
Choose the title-based tools for a specific known article and the search tool for discovery across metadata. Local PDF downloads and loading an article into context are separate operations, so a request can focus on the form of access needed.
Capabilities
The get_article_url tool retrieves an article URL from a title. The download_article tool downloads the matching article as a PDF, load_article_to_context brings the article into the conversation context, and get_details returns article metadata. Each of these tools accepts a title string.
search_arxiv returns matching article metadata. Its parameters include a general all_fields keyword search, title keywords, author names, abstract keywords, and start for the first result index. These fields let a query focus on the paper's subject, authorship, or wording.
How to install
Setup uses Python 3.13 and the uv package manager. The instructions cover macOS and Windows, cloning the server, creating and activating a virtual environment, and synchronizing dependencies.
uv venv --python=python3.13
source .venv/bin/activate
Desktop client configuration registers the server with uv, an absolute directory pointing to its server source, and the server.py entry point. DOWNLOAD_PATH specifies the local folder for downloaded files.
The configuration may need the full path to the uv executable. Platform-specific setup also identifies the desktop client's configuration-file location and the Windows virtual-environment activation path.
Who it's for
The example requests center on readers looking up research papers by title or author, inspecting paper details, and collecting article titles across result pages.
Distributed under the MIT license.
Source README
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
Tools
- get_article_url
- Retrieve the URL of an article hosted on arXiv.org based on its title
title(String): Article title
- Retrieve the URL of an article hosted on arXiv.org based on its title
- download_article
- Download the article hosted on arXiv.org as a PDF file
title(String): Article title
- Download the article hosted on arXiv.org as a PDF file
- load_article_to_context
- Load the article hosted on arXiv.org into context of a LLM
title(String): Article title
- Load the article hosted on arXiv.org into context of a LLM
- get_details
- Retrieve metadata of an article hosted on arXiv.org based on its title
title(String): Article title
- Retrieve metadata of an article hosted on arXiv.org based on its 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 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 return
- Performs a search query on the arXiv API based on specified parameters and returns matching article metadata
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
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.