ArXiv MCP Server

by 2725244134
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Enables searching arXiv's research repository, downloading papers, listing downloaded papers, and reading paper content with support for filters like date ranges and categories.

ArXiv MCP Server

🔍 Enable AI assistants to search and access arXiv papers through a simple MCP interface.

The ArXiv MCP Server provides a bridge between AI assistants and arXiv's research repository through the Message Control Protocol (MCP). It allows AI models to search for papers and access their content in a programmatic way.

🤝 Contribute • 📝 Report Bug

✨ Core Features

  • 🔎 Paper Search: Query arXiv papers with filters for date ranges and categories
  • 📄 Paper Access: Download and read paper content
  • 📋 Paper Listing: View all downloaded papers
  • 🗃️ Local Storage: Papers are saved locally for faster access
  • 📝 Prompts: A Set of Research Prompts

🚀 Quick Start

Installing via Smithery

To install ArXiv Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install arxiv-mcp-server --client claude

Installing Manually

Install using uv:

uv tool install arxiv-mcp-server

For development:

# Clone and set up development environment git clone https://github.com/blazickjp/arxiv-mcp-server.git cd arxiv-mcp-server # Create and activate virtual environment uv venv source .venv/bin/activate # Install with test dependencies uv pip install -e ".[test]"

🔌 MCP Integration

Add this configuration to your MCP client config file:

{ "mcpServers": { "arxiv-mcp-server": { "command": "uv", "args": [ "tool", "run", "arxiv-mcp-server", "--storage-path", "/path/to/paper/storage" ] } } }

For Development:

{ "mcpServers": { "arxiv-mcp-server": { "command": "uv", "args": [ "--directory", "path/to/cloned/arxiv-mcp-server", "run", "arxiv-mcp-server", "--storage-path", "/path/to/paper/storage" ] } } }

💡 Available Tools

The server provides four main tools:

Search for papers with optional filters:

result = await call_tool("search_papers", { "query": "transformer architecture", "max_results": 10, "date_from": "2023-01-01", "categories": ["cs.AI", "cs.LG"] })

2. Paper Download

Download a paper by its arXiv ID:

result = await call_tool("download_paper", { "paper_id": "2401.12345" })

3. List Papers

View all downloaded papers:

result = await call_tool("list_papers", {})

4. Read Paper

Access the content of a downloaded paper:

result = await call_tool("read_paper", { "paper_id": "2401.12345" })

⚙️ Configuration

Configure through environment variables:

VariablePurposeDefault
ARXIV_STORAGE_PATHPaper storage location~/.arxiv-mcp-server/papers

🧪 Testing

Run the test suite:

python -m pytest

📄 License

Released under the MIT License. See the LICENSE file for details.


Made with ❤️ by the Pear Labs Team

-
security - not tested
A
license - permissive license
-
quality - not tested

Enables AI assistants to search, download, and read arXiv research papers through a Message Control Protocol interface, with support for paper filtering and local storage.

  1. ✨ Core Features
    1. 🚀 Quick Start
      1. Installing via Smithery
      2. Installing Manually
      3. 🔌 MCP Integration
    2. 💡 Available Tools
      1. 1. Paper Search
      2. 2. Paper Download
      3. 3. List Papers
      4. 4. Read Paper
    3. ⚙️ Configuration
      1. 🧪 Testing
        1. 📄 License