Search ArXiv research papers
31 stars1 watching1 forks

ArXiv Search Service

A powerful and flexible service for searching and analyzing arXiv papers. This tool provides both a Python API and a command-line interface for easy access to arXiv's research paper repository.

Installation

The recommended installation method uses uv:

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

For development installation with test dependencies:

# Clone the repository
git clone https://github.com/blazickjp/arxiv-mcp-server.git
cd arxiv-mcp-server

# Create and activate a virtual environment using uv
uv venv
source .venv/bin/activate

# Install the package in development mode with test dependencies
uv pip install -e ".[test]"

Command Line Usage

The package provides a command-line tool arxiv-search with two main commands:

Search for Papers

# Basic search
arxiv-search search "attention is all you need"

# Advanced search with filters
arxiv-search search "transformer architecture" \
    --max-results 20 \
    --date-from 2023-01-01 \
    --categories cs.AI cs.LG \
    --batch-size 10

Analyze a Specific Paper

arxiv-search analyze 1706.03762

Python API Usage

The package can also be used as a Python library:

import asyncio
from arxiv_mcp_server.server import ServiceFactory, SearchParameters

async def main():
    # Create service instance
    service = ServiceFactory.create_service()
    
    # Search for papers
    params = SearchParameters(
        query="attention is all you need",
        max_results=5,
        categories=["cs.AI", "cs.LG"]
    )
    result = await service.search_papers(params)
    print(result.text)
    
    # Analyze a specific paper
    analysis = await service.analyze_paper("1706.03762")
    print(analysis.text)

if __name__ == "__main__":
    asyncio.run(main())

Development

To run the tests:

# Install test dependencies
uv pip install -e ".[test]"

# Run tests
python -m pytest

Features

  • Full-text search across arXiv papers
  • Date-based filtering
  • Category filtering
  • Batch processing for efficient retrieval
  • Detailed paper analysis
  • Asynchronous operation for better performance
  • Command-line interface for easy access
  • Python API for integration into other projects

License

MIT License

Features

ArXiv
Research papers
Academic search

Category

Search