Skip to main content
Glama
hassenhamdi

ArXiv Search

by hassenhamdi
README.md
# ArXiv Search

Simple CLI tool and MCP server for searching arXiv papers via ArXiv Xplorer API.

## Installation

```bash
# Using pip
pip install -e .

# Using uv
uv pip install -e .

# Or from GitHub
pip install git+https://github.com/hassenhamdi/arxiv-xplorer-mcp.git
```

## CLI Usage

```bash
# Basic search
arxiv-search "large language models"

# With categories
arxiv-search "transformer" -c cs.CL cs.AI

# With years
arxiv-search "neural networks" -y 2023 2024

# Pagination
arxiv-search "attention" -p 2

# JSON output
arxiv-search "BERT" --json
```

### Options

| Option | Description |
|--------|-------------|
| `query` | Search terms (required) |
| `-c, --categories` | arXiv categories (e.g., cs.CL, cs.AI) |
| `-y, --years` | Publication years (e.g., 2023 2024) |
| `-p, --page` | Page number (default: 1) |
| `--json` | Output raw JSON |

### Popular Categories

| Code | Description |
|------|-------------|
| cs.CL | Computation and Language (NLP) |
| cs.AI | Artificial Intelligence |
| cs.CV | Computer Vision |
| cs.LG | Machine Learning |
| cs.RO | Robotics |
| cs.CR | Cryptography and Security |

## MCP Server

### Configuration

**Claude Desktop / Cline / OpenCode:**

```json
{
  "mcpServers": {
    "arxiv": {
      "command": "python",
      "args": ["-m", "arxiv_search.mcp_server"],
      "cwd": "/path/to/arxiv_search"
    }
  }
}
```

### Tool: arxiv_search

Search arXiv papers with filters.

**Parameters:**
- `query` (string, required): Search terms
- `categories` (list, optional): arXiv categories
- `years` (list, optional): Publication years
- `page` (integer, optional): Page number (default: 1)

**Returns:**
List of papers with fields: id, title, abstract, authors, date, categories, short_author, score, url

## Development

```bash
# Install dev dependencies
pip install -e ".[dev]"

# Run CLI
python arxiv.py "query"

# Run MCP server
python -m arxiv_search.mcp_server
```

## License

Personal Use Only - See LICENSE file

## Disclaimer

Uses reverse-engineered API from arxivxplorer.com (unofficial)