An AI-ready search and fetch tool for arXiv papers, designed for both humans and AI agents.
description_paragraphs (extracted from PDF).--limit option.--before and --after.--raw flag.--head to show the browser.Linux & macOS:
curl -fsSL https://raw.githubusercontent.com/sonesuke/arxiv-cli/main/install.sh | bash
Note: On Linux, this installs to
~/.local/binwithout requiringsudo. Make sure~/.local/binis in yourPATH.
Windows (PowerShell):
irm https://raw.githubusercontent.com/sonesuke/arxiv-cli/main/install.ps1 | iex
If you have Rust installed, you can build from source:
cargo install --path .
arxiv-cli supports the Model Context Protocol, allowing AI agents (like Claude Desktop) to search and fetch papers directly.
| Tool Name | Description | Parameters |
|---|---|---|
search_papers |
Search arXiv for papers matching a free-text query. | query (required), limit, before, after |
fetch_paper |
Fetch details (metadata & PDF text) of a specific paper. | paper_id (required, e.g., “2512.04518”) |
To start the MCP server over stdio:
arxiv-cli mcp
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"arxiv-cli": {
"command": "/path/to/arxiv-cli",
"args": ["mcp"]
}
}
}
| Command | Description | Example |
|---|---|---|
search |
Search for papers matching a query. | arxiv-cli search --query "LLM" --limit 10 |
fetch |
Fetch a single paper’s metadata and text. | arxiv-cli fetch 2512.04518 |
config |
Manage configuration settings. | arxiv-cli config list |
mcp |
Start the MCP server over stdio. | arxiv-cli mcp |
Search for papers matching a query.
arxiv-cli search --query "LLM" --limit 10
# Papers submitted after 2024-01-01
arxiv-cli search --query "machine learning" --after "2024-01-01"
# Papers submitted between 2023-01-01 and 2023-12-31
arxiv-cli search --query "blockchain" --after "2023-01-01" --before "2023-12-31"
Fetch a single paper’s metadata and extracted text.
arxiv-cli fetch 2512.04518
Download the PDF file directly to stdout.
arxiv-cli fetch 2512.04518 --raw > paper.pdf
Useful for debugging.
arxiv-cli search --query "AI" --head
This tool relies on a compatible Chrome/Chromium installation for scraping. Config file location:
~/Library/Application Support/com.sonesuke.arxiv-cli/config.json~/.config/arxiv-cli/config.jsonC:\Users\{User}\AppData\Roaming\sonesuke\arxiv-cli\config\config.jsonYou can manage the configuration via CLI:
# List current configuration
arxiv-cli config list
# Set a value
arxiv-cli config set headless false
arxiv-cli config set browser_path "/usr/bin/google-chrome"
# Get a value
arxiv-cli config get headless
# Show config file path
arxiv-cli config path
For Docker/devcontainer environments, you may need to pass additional Chrome flags:
{
"browser_path": "/usr/bin/google-chrome",
"chrome_args": [
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-gpu"
]
}
Note: When the CI environment variable is set, the following flags are automatically added:
--disable-gpu--no-sandbox--disable-setuid-sandboxtokio-tungstenite), Serde, Reqwest, PDF-Extract, mcp-sdk-rs.pdf-extract, splitting it into structured paragraphs (description_paragraphs).MIT