Skip to main content
Glama
muippt

mu-ebook-scout

by muippt

πŸ” 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

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

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.

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.