CLI for academic paper search across 9 APIs (OpenAlex, Semantic Scholar, PubMed, arXiv, medRxiv, CrossRef, Google Scholar, ORCID, Unpaywall)
Project description
academic
Single-command CLI for academic paper search across 9 APIs — 25 tools, no API keys required.
Based on 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
uv tool install git+https://github.com/yourname/academic
Or run from source:
git clone https://github.com/yourname/academic
cd academic
uv sync
uv run python server.py -L
Usage
# 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 under the MIT license. The original project provides the same 25 tools as an MCP 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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file search_paper-0.1.0.tar.gz.
File metadata
- Download URL: search_paper-0.1.0.tar.gz
- Upload date:
- Size: 48.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e283693819de76407a361133c358614336f062a121341892d9759ca2f006c038
|
|
| MD5 |
f5ea0272967e43802b374eb83bf53dcf
|
|
| BLAKE2b-256 |
3cecf9b8465117295e96c806e85f020ee38fa6348fd0e8d86f9ea6e10056ba46
|
File details
Details for the file search_paper-0.1.0-py3-none-any.whl.
File metadata
- Download URL: search_paper-0.1.0-py3-none-any.whl
- Upload date:
- Size: 55.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a70459afd008389984e3ccaece96a978c836b58b82a6ac88d25eff1d3f01ca3
|
|
| MD5 |
51bd025b6faded6a55605de9aafeb593
|
|
| BLAKE2b-256 |
a99f20933a9c8744a138900e2611793cadfd64b7f54e555bee39aad766852f02
|