Get the FREE Ultimate OpenClaw Setup Guide →

arxiv

An MCP server that enables interacting with the arXiv API using natural language

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
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:

  1. Clone the repository git clone https://github.com/prashalruchiranga/arxiv-mcp-server.git cd arxiv-mcp-server

  2. Create and activate a Python virtual environment python3.13 -m venv .venv source .venv/bin/activate # macOS/Linux .venv\Scripts\activate # Windows

  3. 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

  4. 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

  5. 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

Sponsor this space

Reach thousands of developers