@blazickjp/arxiv-mcp-server: ArXiv MCP Server

blazickjp/arxiv-mcp-server
139

ArXiv MCP Server: A Python-based server enabling AI assistants to search, download, and analyze arXiv research papers programmatically via the Message Control Protocol (MCP). Features include paper search, access, and local storage.

โ“unknown

Author

blazickjp

README

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

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:

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

Installing Manually

Install using uv:

bash
uv tool install arxiv-mcp-server

For development:

bash
# 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:

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

For Development:

json
{ "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:

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

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

3. List Papers

View all downloaded papers:

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

4. Read Paper

Access the content of a downloaded paper:

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

๐Ÿ“ Research Prompts

The server offers specialized prompts to help analyze academic papers:

Paper Analysis Prompt

A comprehensive workflow for analyzing academic papers that only requires a paper ID:

python
result = await call_prompt("deep-paper-analysis", { "paper_id": "2401.12345" })

This prompt includes:

  • Detailed instructions for using available tools (list_papers, download_paper, read_paper, search_papers)
  • A systematic workflow for paper analysis
  • Comprehensive analysis structure covering:
    • Executive summary
    • Research context
    • Methodology analysis
    • Results evaluation
    • Practical and theoretical implications
    • Future research directions
    • Broader impacts

โš™๏ธ Configuration

Configure through environment variables:

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

๐Ÿงช Testing

Run the test suite:

bash
python -m pytest

๐Ÿ“„ License

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


Made with โค๏ธ by the Pearl Labs Team

ArXiv Server MCP server