Skip to content

Repository files navigation

mu-ebook-scout

πŸ” mu-ebook-scout Β· 甡子书下载器

One search, ten legal book sources. A multi-source search tool for public-domain and open-license ebooks in Chinese and English β€” a search guide that surfaces ranked links, and downloads a file only when you explicitly ask for it. Delivered as a CLI, an MCP server, and an Agent Skill shell: one core engine, three front-ends.

English | δΈ­ζ–‡ | 🌐 Landing Page

WeChat Xiaohongshu Book mu-skillhub License Version Stars


πŸ’‘ Usage Examples

  • πŸ“š One search, book in hand β€” search γ€Šι«˜ζ•ˆθƒ½δΊΊε£«ηš„δΈƒδΈͺ习惯》 (The 7 Habits of Highly Effective People) and get ranked netdisk links with extraction codes from community book lists in one go
  • πŸ€„ Ancient Chinese texts β€” Pre-Qin philosophy from ctext.org, the Buddhist canon from CBETA (traditional/simplified auto-converted), Wikisource full texts
  • πŸ” Modern bestsellers β€” the GitHub book-list source scans the whole of GitHub for community-maintained netdisk directories and hands you ctfile/lanzou links with extraction codes
  • πŸ€– Agent-native β€” MCP server for agent clients, plus an Agent Skill shell with a search-then-confirm workflow
  • πŸ›‘οΈ Verified downloads β€” nothing is fetched until you say so; downloaded files are magic-number-checked before being reported as success
  • 🎧 Free audiobooks β€” 20,000+ LibriVox public-domain recordings (MP3/M4B) in the same ranked results
  • 🧭 Never empty-handed β€” zero hits still returns manual entry points and legitimate borrow/purchase channels, not a bare "not found"

✨ Core Highlights

🌐 Ten Built-in Sources, Parallel Search

Looking for a book but dreading the tour across ten different websites? One query asks every source below in parallel and hands the results back ranked; a rate-limited or unreachable source is skipped and reported honestly, never fatal to the search. Try it with "Find me The 7 Habits of Highly Effective People".

Source Coverage License
Project Gutenberg (Gutendex API) 75,000+ English/Western classics Public domain
Open Library / archive.org Millions of catalog records, scans, lending CC BY-SA / ODbL
Wikisource (zh + en) Chinese and English full-text classics CC BY-SA 4.0
Standard Ebooks Polished, carefully typeset English classics Public domain
CBETA Chinese Buddhist canon CC BY-NC-SA 4.0
ctext.org Pre-Qin through Han-era classics Public-domain texts
LibriVox 20,000+ free public-domain audiobooks Public domain
Google Books (free API key) World's largest book catalog Metadata CC BY
wenshuoge / daizhigev20 (GitHub mirrors) Chinese ancient-text corpus Public-domain classics
GitHub book-list indexes (full code search) Community netdisk directories Links only

πŸ™ Full-GitHub Book-List Search

For modern titles beyond the public domain, the clues often live in community-maintained book-list notes. It sweeps the book lists across all of GitHub for you and, on a netdisk hit, hands you the link together with the extraction code β€” strictly link-only: you open the download page yourself, the tool never touches the netdisk.

πŸ₯‡ Confidence Ranking

Ten sources each speak their own language; comparing them by hand takes forever. Every result is scored 0–100 on title/author match, availability, and format, so the best candidates sit at the top β€” just start from rank one.

πŸ”§ Three Front-Ends, One Core

Live in the terminal? Type a command. Prefer an AI agent? Let it search for you. Running an MCP client? Call it as a tool. Same engine, whichever posture you like β€” after installing, just tell your agent "find me a copy of The 7 Habits of Highly Effective People".

🧩 Custom Sources (Prowlarr-style)

Want to follow sources beyond the built-in ten? Add one entry to the config. Custom sources are strictly pass-through: results are links you open yourself in your own browser, never proxied downloads.

πŸ›‘οΈ Explicit, Verified Downloads

The scariest tool is one that pulls files onto your disk uninvited. Here nothing downloads until you say so, and every file passes a host allowlist, a size cap, and a file-signature check before being reported as success. A zero-hit search still isn't a dead end β€” manual entry points and legitimate borrow/purchase channels come back with the results.


πŸ“Œ Comparison

🧭 mu-ebook-scout Manual site-by-site search Paid subscriptions (Kindle Unlimited / Everand / WeRead etc.)
Cost Free, open source Free, but costs your time Monthly subscription
Coverage 10 public-domain/open-license sources in parallel + custom pass-through However many sites you can remember Licensed catalogs; limited public-domain classics
Chinese classics & public domain Native (Wikisource zh, CBETA, ctext, wenshuoge, daizhigev20) Search and compare site by site Scarce
How you use it One prompt, ranked results, direct file links Search, filter, open download pages yourself Mostly in-app reading
Agent / automation MCP server + Agent Skill shell, conversational Cannot be automated No open interface
File access On-demand EPUB/TXT/MP3 downloads to your own device, explicit confirm + verification Manual downloads, inconsistent quality Often DRM-restricted; export not guaranteed
License boundary Indexes public-domain/open-license sources only; extended entries pass through links Your own judgment Fully licensed, stable experience

πŸš€ Workflows

Workflow Scenario Trigger
Search & rank Find a book across all 10 sources bookscout search "title"
Verified download Fetch one file you picked bookscout get N
MCP integration Agent-driven search without a shell MCP client config
Agent Skill mode Conversational search-then-confirm Skill trigger phrases

βš™οΈ Technical Specs

Item Description
Language Python 3.10+
Runtime dependencies None (stdlib only; mcp is an optional extra)
Front-ends CLI / MCP server / Agent Skill shell
Output Ranked text report (grouped by availability)
Verification Magic-number check on every download
Download cap 100 MB, host allowlist enforced
Tests 127 unit tests, all passing
License MIT (aggregated sources keep their own licenses)

πŸ› οΈ Quick Start

1) Install β€” clone the Agent Skill shell into your skill directory:

git clone https://github.com/muippt/mu-ebook-scout.git ~/.claude/skills/mu-ebook-scout

Other agents may use their own skill directories, or a project-level .claude/skills/mu-ebook-scout. To use the standalone CLI instead: pipx install git+https://github.com/muippt/mu-ebook-scout (Python 3.10+; add the [mcp] extra for the MCP server).

2) Verify β€” restart or reload your agent, then send:

List my available skills

3) Run β€” one core prompt to exercise the primary value:

Find me a copy of γ€Šι«˜ζ•ˆθƒ½δΊΊε£«ηš„δΈƒδΈͺ习惯》 (The 7 Habits of Highly Effective People), preferably EPUB.

Or invoke a specific workflow:

Search the public-domain sources for γ€Šι‡‘εˆšη»γ€‹ (the Diamond Sutra) and rank them.
Download result #2.

πŸ”’ Security & Privacy

  • Local execution, zero runtime dependencies β€” the whole engine is Python stdlib; no analytics, no telemetry, no data collection.
  • Tokens never touch disk β€” the optional GitHub token and Google Books key are read from environment variables at runtime only, never stored, never logged, and attached exclusively to api.github.com / googleapis.com requests β€” never to any book source.
  • Host allowlist β€” the download command refuses any host outside the built-in public-domain sources; custom-source links are passed through as-is, never proxied.
  • Usage boundaries β€” the tool hosts and distributes no content; built-in sources are public-domain/open-license; extended-resource entries (Anna's Archive, LibGen) are pre-built search-entry URLs only.

⭐ Star History

If this tool saves you time, a star helps others find it:

One search across ten legal book sources β€” never empty-handed.


πŸ‘€ About the Author

πŸŽ“ Signatory Author of Tsinghua University Press / 2026 Dangdang Influential Author / AI & Large Model Business HR Specialist at a Leading Tech Company / National Level-1 HR Manager / Level-2 Psychological Counselor / Self-taught Designer

πŸ“š Author of Visual Team Management. Clients include ByteDance, Tencent, Baidu, China Mobile, SMG, BOE…

πŸ’‘ WeChat Official Account / Xiaohongshu: muippt


πŸ“„ License & Acknowledgments

MIT Β© 2026 muippt

Thanks to the public-domain and open-license ecosystems that make this tool possible: Project Gutenberg, Open Library, Wikisource, Standard Ebooks, CBETA, ctext.org, LibriVox, Google Books, and the wenshuoge / daizhigev20 GitHub mirrors. Per-source license notes: THIRD_PARTY_LICENSES.txt.

Note: Much of this project was co-created with AI assistance. If you believe your work has been used without proper attribution, please open an issue.

Network FAQ: proxy and API keys (optional)

Some source hosts are unreachable from certain networks (regional blocking of Anna's Archive / LibGen mirrors, archive.org download nodes, HathiTrust). The engine uses Python's stdlib HTTP stack, which respects the standard proxy environment variables automatically β€” no code change needed:

# point at your local proxy (adjust the port to your setup)
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890   # if your proxy is SOCKS5

Set them for one session, or in ~/.zshrc / ~/.bashrc for permanence. Without a proxy everything still works: the built-in sources, GitHub code search, and all graceful-degradation paths remain reachable.

GitHub API token (optional, recommended)

The Chinese public-domain book collections (Wenshuoge + Daizhige) are hosted on GitHub and searched through the GitHub API. Anonymous requests are limited to 60 per hour per IP β€” usually fine for casual use, but easy to exhaust. With a free personal access token the limit becomes 5,000 requests/hour.

  1. Open https://github.com/settings/tokens?type=beta
  2. Generate new token β†’ name it e.g. bookscout, leave all permissions unchecked
  3. export GITHUB_TOKEN=github_pat_xxxx (or BOOKSCOUT_GITHUB_TOKEN, which takes precedence)

The token is read from the environment at runtime only β€” never stored, never logged, attached exclusively to api.github.com requests.

Google Books API key (optional)

The keyless Google Books quota is shared per IP and often exhausted (HTTP 429). With your own free key the google_books source activates automatically:

  1. Open https://console.cloud.google.com/apis/library/books.googleapis.com
  2. Create (or select) a project, click Enable, then Credentials
  3. Create an API key (no restrictions needed for read-only search)
  4. export BOOKSCOUT_GOOGLE_BOOKS_KEY=AIza...

Without the key the source simply stays silent β€” it never fails a search.

Roadmap

  • v1.5 β€” Gallica, Europeana, and archive.org Chinese-language filtering
  • v1.6 β€” chinese-poetry corpus, more community seed repositories

Contributing

Issues and pull requests are welcome at https://github.com/muippt/mu-ebook-scout. New source adapters must target public-domain or openly licensed material; see THIRD_PARTY_LICENSES.txt for the per-source license notes.

About

πŸ“šη”΅ε­δΉ¦δΈ‹θ½½ε™¨ο½œMulti-source search tool for public-domain and open-license ebooks (Chinese/English) β€” CLI + MCP server + Agent Skill shell

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages