Metadata-Version: 2.4
Name: search_paper
Version: 0.1.0
Summary: CLI for academic paper search across 9 APIs (OpenAlex, Semantic Scholar, PubMed, arXiv, medRxiv, CrossRef, Google Scholar, ORCID, Unpaywall)
License-Expression: MIT
Requires-Python: >=3.14
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: defusedxml>=0.7.1
Requires-Dist: httpx>=0.28.1
Requires-Dist: requests>=2.34.2
Requires-Dist: scholarly>=1.7.11
Dynamic: license-file

# academic

Single-command CLI for academic paper search across 9 APIs — 25 tools, no API keys required.

Based on [`alisoroushmd/academic-research-mcp`](https://github.com/alisoroushmd/academic-research-mcp) (MIT), stripped of MCP server layer and repackaged as a standalone CLI.

## Data sources

| API | What |
|-----|------|
| OpenAlex | 250M+ works, authors, institutions |
| Semantic Scholar | Citation graphs, recommendations, batch |
| CrossRef | DOI registry |
| PubMed | NCBI E-utilities, full MeSH/Boolean syntax |
| arXiv | CS/ML preprints |
| medRxiv/bioRxiv | Health sciences preprints |
| Google Scholar | Keyword search, author profiles |
| ORCID | Researcher profiles, funding |
| Unpaywall | Legal open access PDFs |

Optional env vars for higher rate limits: `S2_API_KEY`, `OPENALEX_EMAIL`, `NCBI_API_KEY`, `CROSSREF_EMAIL`.

## Install

```bash
uv tool install git+https://github.com/yourname/academic
```

Or run from source:

```bash
git clone https://github.com/yourname/academic
cd academic
uv sync
uv run python server.py -L
```

## Usage

```bash
# List all 25 tools
uv run python server.py -L

# Smart search (multi-source, recommended)
uv run python server.py -t smart_search \
  -a '{"query":"deep learning","num_results":5}'

# Find paper by DOI
uv run python server.py -t find_paper \
  -a '{"identifier":"10.1038/nature14539"}'

# Search specific source
uv run python server.py -t search_papers \
  -a '{"query":"cancer immunotherapy","source":"pubmed","num_results":5}'
uv run python server.py -t search_papers \
  -a '{"query":"LLM reasoning","source":"arxiv","num_results":5}'
uv run python server.py -t search_papers \
  -a '{"query":"graph neural network","source":"s2","num_results":5}'

# Citation network
uv run python server.py -t get_paper_network \
  -a '{"paper_id":"10.1038/nature14539","direction":"both"}'

# Batch lookup (up to 500 papers)
uv run python server.py -t batch_get_papers \
  -a '{"paper_ids":["DOI:10.1038/nature14539","DOI:10.1109/cvpr.2016.90"]}'

# Find open access PDF
uv run python server.py -t open_access \
  -a '{"dois":["10.1038/nature14539"]}'

# Author search
uv run python server.py -t search_authors \
  -a '{"query":"Geoffrey Hinton","source":"s2","num_results":3}'
```

## Credits

All API client modules, orchestrator, cache, and review manager are derived from [`alisoroushmd/academic-research-mcp`](https://github.com/alisoroushmd/academic-research-mcp) under the MIT license. The original project provides the same 25 tools as an [MCP](https://modelcontextprotocol.io/) server for AI assistants (Claude Desktop, Cursor, etc.). This fork removes the MCP layer and repackages the tools as a plain CLI.

## License

MIT — same as upstream.
