About arXiv MCP Server
arXiv MCP Server is an MCP server that lets users query the arXiv API in natural language. It is aimed at researchers who want to search, download and load scholarly papers into an LLM context.
Key features
- 01Retrieves metadata for arXiv articles
- 02Finds article URLs and details by title
- 03Searches by keyword, title, author or abstract
- 04Downloads articles as PDF files locally
- 05Loads articles into LLM context
Use cases
- 01Finding and downloading a paper by its title
- 02Listing papers by a given author on a topic
- 03Having an LLM read and analyze a paper
MCP support
This project is an MCP server that provides tools such as get_article_url, download_article, load_article_to_context, get_details and search_arxiv to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEarXiv 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
License
Licensed under MIT. See the LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.