MCP Servers Logo

README.md

ArXiv MCP Server ๐Ÿ“š

Stars License: MIT Python Version Tests

๐Ÿ” Empower AI models with direct access to academic research through an elegant MCP interface.

The ArXiv MCP Server bridges the gap between AI models and academic research by providing a sophisticated interface to arXiv's extensive research repository. This server enables AI assistants to perform precise paper searches and access full paper content, enhancing their ability to engage with scientific literature.

๐ŸŒŸ View Demo โ€ข ๐Ÿ“– Documentation โ€ข ๐Ÿค Contribute โ€ข ๐Ÿ“ Report Bug

โœจ Core Features

  • ๐Ÿ”Ž Advanced Search: Precise queries with date ranges and category filters
  • ๐Ÿ“ฅ Smart Downloads: Papers become instantly accessible MCP resources
  • ๐Ÿš€ Async Architecture: Built for performance and scalability
  • ๐Ÿ’พ Local Caching: Efficient repeated access to frequently used papers

๐Ÿš€ Quick Start

Install using uv:

uv pip install git+https://github.com/blazickjp/arxiv-mcp-server.git

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]"

๐Ÿ”Œ Claude Desktop Integration

Add this configuration to your Claude Desktop config file to enable ArXiv paper access:

๐Ÿ“ Click to view configuration
{
    "mcpServers": {
        "arxiv-mcp-server": {
            "command": "uv",
            "args": [
                "run",
                "arxiv-mcp-server",
                "--storage-path", "/path/to/paper/storage",
                "--max-results", "50",
                "--timeout", "30"
            ]
        }
    }
}

Make sure to adjust the storage path and other parameters according to your needs. This configuration enables Claude to search and access ArXiv papers directly through the MCP server.

๐Ÿ’ก Usage

Paper Search

Search with precision using multiple criteria:

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

# Response includes detailed metadata
{
    "total_results": 10,
    "papers": [
        {
            "id": "2401.12345",
            "title": "Example Paper Title",
            "authors": ["Author Name"],
            "abstract": "Paper abstract...",
            "categories": ["cs.AI"],
            "published": "2024-01-15T00:00:00Z",
            "resource_uri": "arxiv://2401.12345"
        }
    ]
}

Paper Download

Transform papers into accessible resources:

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

โš™๏ธ Configuration

Customize through environment variables:

Variable Purpose Default
ARXIV_STORAGE_PATH Paper storage location ~/.arxiv-mcp-server/papers
ARXIV_MAX_RESULTS Search results limit 50
ARXIV_REQUEST_TIMEOUT API timeout (seconds) 30

๐Ÿงช Development

Run the comprehensive test suite:

python -m pytest

The test suite provides:

  • โœ… Unit tests for components
  • ๐Ÿ”„ Integration tests for MCP compliance
  • ๐ŸŽญ Mock-based service testing
  • ๐Ÿ“Š Coverage reporting

๐Ÿ—๏ธ Technical Architecture

Our modular design consists of four key components:

  1. ๐Ÿ› ๏ธ Tool Layer: MCP protocol interface
  2. ๐Ÿ“š Resource Management: Paper storage and retrieval
  3. ๐Ÿ”Œ Service Layer: ArXiv API integration
  4. โš™๏ธ Configuration: Environment-based settings

๐Ÿค Contributing

We enthusiastically welcome contributions! To get started:

  1. ๐Ÿด Fork the repository
  2. ๐ŸŒฟ Create a feature branch
  3. โœจ Make your enhancements
  4. โœ… Ensure tests pass
  5. ๐Ÿ“ Update documentation
  6. ๐Ÿš€ Submit a pull request

๐Ÿ“ฆ Dependencies

Core

  • ๐Ÿ“š arxiv>=2.1.0
  • ๐Ÿ”Œ mcp>=1.0.0
  • ๐ŸŒ aiohttp>=3.9.1
  • โœจ pydantic>=2.8.0
  • ๐Ÿ“… python-dateutil>=2.8.2
  • ๐Ÿ“ aiofiles>=23.2.1

Development

  • ๐Ÿงช pytest>=8.0.0
  • โšก pytest-asyncio>=0.23.5
  • ๐Ÿ“Š pytest-cov>=4.1.0
  • ๐ŸŽญ pytest-mock>=3.10.0

๐Ÿ“„ License

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


Made with โค๏ธ by the ArXiv MCP Server Team

If you find this project helpful, please consider giving it a star โญ

arXiv

A Model Context Protocol server for searching and analyzing arXiv papers

Package Information

12 stars
Updated 12/4/2024
Created 11/29/2024
No license License

Contributors