Enables searching the arXiv database, retrieving article metadata and details, downloading papers as PDFs, and loading article text into context for analysis by LLMs.
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 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
Install uv package manager. For more details on installing, visit the official uv documentation.
Create and activate virtual environment.
Install development dependencies.
Windows
Install uv package manager. For more details on installing, visit the official uv documentation.
Close and reopen the shell, then clone the repository.
Create and activate virtual environment.
Install development dependencies.
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
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
License
Licensed under MIT. See the LICENSE.
This server cannot be installed