arXiv

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

3

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "lecigarevolant-arxiv-mcp-server-gpt": {
      "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"
      }
    }
  }
}

This MCP server lets you interact with arXiv programmatically through natural language queries. You can fetch metadata, download PDFs, search for articles, and load selections directly into a large language model’s context, all via a lightweight local server you run on your machine or in a hosting environment.

How to use

You connect your MCP client to the arXiv MCP server, then use the available tools to perform common tasks. Retrieve article details, download PDFs, search arXiv for relevant papers, or load portions of an article into your LLM context for on-the-fly analysis. Start small by querying a single article by title or arXiv ID, then expand to broader searches and contextual loading as needed.

How to install

Prerequisites: you need Python and the uv package manager installed on your system. Install uv using your platform’s package manager or installation script, then clone the project, set up a virtual environment, and synchronize dependencies.

Steps for MacOS

git clone https://github.com/prashalruchiranga/arxiv-mcp-server.git
cd arxiv-mcp-server

# Install uv package manager
# Using Homebrew
brew install uv

# or install via script
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

Steps for Windows

# Install uv package manager
# Use irm to download the script and execute it with iex
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# 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

Configuration and running

To run the arXiv MCP server locally from the command line, you follow the exact MCP command pattern shown in the example configuration. The server is started via uv with a directory pointing to the arxiv_server module and a Python script to execute, with a dedicated download path for PDFs.

{
  "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"
      }
    }
  }
}

Claude Desktop integration example

If you use Claude Desktop, add the MCP server configuration to your Claude configuration so the client can start and talk to the local server.

{
  "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"
      }
    }
  }
}

Additional notes

Deployment can be done on hosted platforms that support HTTP transport or run locally in stdio mode when PORT is not set. The server exposes an MCP API over HTTP at the designated endpoints on hosting platforms and defaults to STDIO for local or development use. If you plan to deploy remotely, ensure you provide the correct MCP transport and per-session configuration through the hosting platform.

Troubleshooting

If the server does not start, verify that you used the exact command pattern and that the directory path to the arxiv_server is accessible. Check that the DOWNLOAD_PATH directory exists and is writable. Ensure you activated the Python virtual environment before installing dependencies and running the server. If you encounter port or transport issues in hosted environments, confirm MCP_TRANSPORT is set to http and that the server binds to the platform-provided PORT.

Available tools

get_article_url

Retrieve the direct PDF URL by title or arXiv ID (arguments: title or arxiv_id)

download_article

Download the article as a PDF (arguments: title or arxiv_id)

load_article_to_context

Load article text into LLM context with optional page/character limits and preview

get_details

Retrieve article metadata by title or arXiv ID

search_arxiv

Search arXiv with keyword filters across fields like title, author, and abstract

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational