arxiv mcp

Local 2025-09-01 00:33:37 0

Enables AI assistants to search and access arXiv research papers through a simple Message Control Protocol interface, allowing for paper search, download, listing, and reading capabilities.


Twitter Follow smithery badge Python Version License: MIT PyPI Downloads PyPI Version

? 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](https://github.com/blazickjp/arxiv-mcp-server/blob/main/CONTRIBUTING.md)** • ? **[Report Bug](https://github.com/blazickjp/arxiv-mcp-server/issues)**

✨ 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:

Variable Purpose Default
ARXIV_STORAGE_PATH Paper 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 ArXiv Server MCP server