arxiv
An MCP server that enables interacting with the arXiv API using natural language
claude mcp add --transport stdio prashalruchiranga-arxiv-mcp-server python src/arxiv_server/server.py \ --env DOWNLOAD_PATH="/ABSOLUTE/PATH/TO/DOWNLOADS"
How to use
This MCP server provides a set of tools to interact with the arXiv API using natural language. It exposes capabilities to fetch article metadata, obtain article URLs, download PDFs, load articles into an LLM context, and perform arXiv searches. You can call get_article_url to retrieve the arXiv URL for a given title, download_article to save a PDF locally, load_article_to_context to push an article into your LLM’s context window, get_details to fetch metadata, and search_arxiv to run keyword-based searches across titles, authors, abstracts, or all fields. The server is designed to be used from a client that supports MCP tooling and can be integrated into workflows such as chat assistants or automation scripts. To enable usage from Claude Desktop or other clients, configure the mcpServers entry with the appropriate command and environment variables as shown in the setup section of the repository.
How to install
Prerequisites:
- Python 3.13+ installed on your system
- Git installed
- Access to the arxiv-mcp-server repository
Installation steps:
-
Clone the repository git clone https://github.com/prashalruchiranga/arxiv-mcp-server.git cd arxiv-mcp-server
-
Create and activate a Python virtual environment python3.13 -m venv .venv source .venv/bin/activate # macOS/Linux .venv\Scripts\activate # Windows
-
Install development dependencies (via pip, as per project setup) pip install -r requirements.txt
If a requirements file is not present, install the needed packages listed in setup docs
-
Run the MCP server locally python src/arxiv_server/server.py
Alternatively, follow your environment’s recommended command to start the server in the chosen environment
-
Verify the server is running by hitting its API endpoints or by connecting a client configured with the MCP server name and the command/args provided in the mcp_config section.
Additional notes
Environment variables and paths:
- DOWNLOAD_PATH controls where downloaded PDFs are saved. Replace with an absolute path before running in production.
- If running from an IDE or different shell, ensure the working directory aligns with the path to src/arxiv_server/server.py.
Common issues:
- If the server fails to start, verify Python 3.13+ is in PATH and that dependencies in requirements.txt (or setup) are installed.
- For Claude Desktop integration, ensure the mcpServers entry in claude_desktop_config.json matches the example in README, including the absolute path to the arxiv_server server script.
- When changing directories, update the relative path in the server.py invocation accordingly.
Configuration tips:
- Use an absolute DOWNLOAD_PATH to avoid permission issues.
- Keep the server sandboxed in a virtual environment to prevent dependency conflicts.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP