mcpField
S
sci-download

sci-download

github.com/shzhao27208Productivity213142 installsUpdated 11w ago
Repository

About sci-download

sci-download is a command-line skill for downloading academic paper PDFs. It routes DOI, paper identifiers, and keywords to one of eight sources, or can use a source selected explicitly.

Key features

  1. 01Route identifiers to a paper source
  2. 02Access papers from eight sources
  3. 03Select a source explicitly
  4. 04Accept DOIs, arXiv IDs, and keywords

Use cases

  1. 01Retrieve a journal paper PDF by DOI
  2. 02Download papers from arXiv or PubMed Central
  3. 03Find Chinese papers through CNKI

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/shzhao27208/aut_sci_write --skill sci-download

After installing, type/sci-downloadin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

.gitignore
arxiv_download.py
cnki_download.py
config.py
elsevier_download.py
ieee_download.py
pubmed_download.py
schools.json
sci_download.py
semantic_scholar_download.py
springer_download.py
unpaywall_download.py
webvpn_crypto.py

Details

From the project README

Sci-Download — Unified Paper Download Skill

Academic paper PDF download tool with intelligent DOI routing across 8 sources.

Trigger Phrases

  • "下载这篇论文 10.1038/s41586-023-06600-9"
  • "download paper by DOI"
  • "从 arXiv 下载 2301.07041"
  • "下载知网论文"

Capabilities

SourceTypeAuthCoverage
Elsevier/ScienceDirectAPIAPI KeyElsevier journals
Springer NatureAPIAPI KeySpringer/Nature OA
IEEE XploreAPIAPI KeyIEEE/IET
arXivDirectNonePhysics/CS/Math preprints
UnpaywallAPIEmail onlyAny DOI → OA version
Semantic ScholarAPINoneCross-source OA aggregation
PubMed CentralDirectNoneBiomedical OA
CNKI (知网)FSSO/WebVPNUniversity accountChinese journals/theses

Auto-Routing

The CLI automatically selects the source based on identifier format:

10.1016/... → Elsevier
10.1038/... → Springer Nature
10.1007/... → Springer Nature
10.1109/... → IEEE Xplore
2301.07041  → arXiv
PMC1234567  → PubMed Central
12345678    → PubMed (PMID)
中文关键词   → CNKI
Other DOI   → Unpaywall → Semantic Scholar (waterfall)

Usage

Main script: ./sci_download.py

# Auto-route by DOI prefix
python skills/sci-download/sci_download.py "10.1038/s41586-023-06600-9"

# Download arXiv paper (auto-detected)
python skills/sci-download/sci_download.py "2301.07041"

# Force a specific source
python skills/sci-download/sci_download.py "10.1021/acs.nanolett.3c00123" --source unpaywall

# Search papers (requires --source)
python skills/sci-download/sci_download.py --search "perovskite solar cells" --source semantic_scholar --limit 5

# Search arXiv
python skills/sci-download/sci_download.py --search "large language model" --source arxiv --limit 5

# Show config and API key status
python skills/sci-download/sci_download.py --status

# Custom output directory
python skills/sci-download/sci_download.py "2301.07041" --output-dir ./papers

Configuration

API keys are stored in the unified ~/.aut_sci_write/.env (auto-created on first use). Non-secret settings (school, output_dir, proxy) are in ~/.aut_sci_write/sci-download/config.json.

Set API Keys

Edit ~/.aut_sci_write/.env directly or use the config helper:

cd skills/sci-download
python -c "from config import update_config; update_config('elsevier_api_key', 'YOUR_KEY')"
python -c "from config import update_config; update_config('springer_api_key', 'YOUR_KEY')"
python -c "from config import update_config; update_config('ieee_api_key', 'YOUR_KEY')"
python -c "from config import update_config; update_config('unpaywall_email', '[email protected]')"
Key Sources
ServiceURLNotes
Elsevierhttps://dev.elsevier.com/Free, Article Retrieval API
Springerhttps://dev.springernature.com/Free, OA only
IEEEhttps://developer.ieee.org/Free tier
UnpaywallN/AJust provide email
Free Sources (no key needed)
  • arXiv, Semantic Scholar, PubMed Central
CNKI Setup
python skills/sci-download/cnki_download.py set-mode fsso
python skills/sci-download/cnki_download.py status
# Login at https://fsso.cnki.net → export cookies → save to ~/.aut_sci_write/webvpn_cookies.json

Dependencies

requests, pycryptodome, beautifulsoup4

© License & Copyright

Aut_Sci_Write — Autonomous Scientific Writer

  • Author: Shuo Zhao
  • License: MIT License
  • Copyright: © 2026 Shuo Zhao. All rights reserved.

Comments

Markdown supported