An agent-native CLI for research papers. Search arXiv, read abstracts, and trace citations from the terminal — with a local SQLite mirror for instant, offline repeat lookups.
Built in the Printing Press style: token-efficient output, a local data mirror, a companion Claude Code skill, and an MCP server. No API key required; no third-party Python dependencies.
Two interchangeable implementations live in this repo — identical commands and JSON output. Pick whichever suits you.
Go — a single static binary (matches the Printing Press standard):
go install github.com/saakshigupta2002/scholar-cli/cmd/scholar@latest
scholar mcp # runs the MCP server over stdioPython — zero third-party dependencies:
pipx install "git+https://github.com/saakshigupta2002/scholar-cli" # gives `scholar` and `scholar-mcp`
# or from a clone: pip install -e .
# or without installing: python3 -m scholar search "graph neural networks"scholar search "diffusion models protein design" # search arXiv
scholar get 1706.03762 # one paper + abstract
scholar cites 1706.03762 # who cited it
scholar cites 1706.03762 --references # what it cites
scholar fulltext 1706.03762 # full text (to summarize)
scholar list # cached papers (offline)scholar --json search "mixture of experts" --max 5 # structured output
scholar --json --select id,title search "rag" --max 10 # only the fields you need| Flag | Purpose |
|---|---|
--json |
Structured JSON for agents/scripts |
--select a,b,c |
Keep only these fields (saves tokens) |
--max N |
Number of results |
--cat cs.LG |
Limit a search to a category |
--sort relevance|submitted|updated |
Result ordering |
Exit codes: 0 ok · 2 usage · 3 not found · 4 upstream/network error.
| Piece | Job |
|---|---|
scholar/arxiv.py |
arXiv client (search + fetch by id) |
scholar/semscholar.py |
Semantic Scholar client (citations) |
scholar/db.py |
Local SQLite mirror (~/.scholar/scholar.db) |
scholar/output.py |
Human table vs --json / --select |
scholar/cli.py |
Command parsing and dispatch |
scholar/mcp_server.py |
MCP server (stdio) exposing the same tools |
cli-skills/pp-scholar/SKILL.md |
Claude Code skill that drives the CLI |
A mirror-image Go implementation lives in cmd/scholar/
(same commands, same JSON, same SQLite mirror) — a single static binary for
the Printing Press library. Run its MCP server with scholar mcp.
The same operations are available over MCP for agents that prefer it:
{ "mcpServers": { "scholar": { "command": "scholar-mcp" } } }- arXiv API — search and metadata (free, open).
- Semantic Scholar Graph API — citations (free).
Please be polite to both APIs (they are free and rate-limited).
Apache-2.0.