Book Recommendations — "What Should I Read Next?" MCP 📚🎲
Book recommendations for AI agents: "what should I read next?" answered from millions of works — topic recommendations, blind-date serendipity spins hooked by the book's actual first sentence, and free public-domain classics you can start reading right now. Zero API keys.
Ask any agent "what should I read next?", "books like Dune", or "surprise
me with a book" — book-recommendations is the tool that answers.
Why this exists
- LLMs recommend the same 50 canon books for every ask. This fishes OpenLibrary's millions of works — including a blind-date spin that picks a random subject shelf at random depth, deliberately off the bestseller lists, and hooks you with the book's actual first sentence before the reveal.
- Read-now intelligence on every card:
read_nowsays when a book is freely readable at archive.org (public) or borrowable (free loan) — instant reading beats a shopping link. - Free classics via Project Gutenberg (fail-soft: when the Gutenberg index is down, the error itself points at archive.org alternatives).
- Honest attribution: every card says why_picked — how the book was actually chosen. Discovery you can trust.
Tools
| Tool | What it does |
|---|---|
recommend |
Book recommendations by topic/mood/"books like X", with ratings, subjects, first sentences, read-now flags |
blind_date |
Serendipity spin: random shelf, random depth, first-sentence hook, two-beat reveal |
free_classics |
Public-domain books with read-now URLs (Gutenberg, fail-soft) |
skills_list / skill_read |
Updatable playbooks (presentation, error recovery) |
Plus the prompt: what-should-i-read-next.
Quickstart
# 1-Line Universal Installer (auto-configures Claude Desktop, Cursor, Claude Code, VS Code, ...)
curl -fsSL "https://book-recommendations.builditwithai.xyz/install" | bash
# Or run directly via your preferred runtime:
uvx book-recommendations
npx -y book-recommendations
Example
User: surprise me with a book
blind_date()
→ picks: [{
first_sentence: "The lighthouse kept its own counsel…",
subjects: ["lighthouses", "islands", "solitude"], first_published: 1962,
why_picked: "blind date: fished the “lighthouses” shelf at depth 3 — picked
for serendipity, not sales rank",
title: "…", author: "…", read_now: "borrowable at archive.org",
openlibrary_url: "https://openlibrary.org/works/…" }]
Present the hook first, then the reveal — the two-beat structure is the product.
Telemetry & privacy
Anonymous usage telemetry (no PII, no queries, no paths) via the fleet
standard (schema v2, dual-endpoint fallback). Opt out any time:
BOOK_RECOMMENDATIONS_TELEMETRY=false or DO_NOT_TRACK=1.
Development
uv venv && uv pip install -e ".[dev]"
DO_NOT_TRACK=1 .venv/bin/python -m pytest tests/ -q # unit + live + e2e
Live tests hit the real OpenLibrary API and self-skip offline.
License
MIT
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 book_recommendations-0.1.0.tar.gz.
File metadata
- Download URL: book_recommendations-0.1.0.tar.gz
- Upload date:
- Size: 24.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","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 |
addaeec3b765b24a96726bbc649a126617ca70bacfa54ab4717d562986169f26
|
|
| MD5 |
c7cc2b5d525cfac0d57485c0a0cc87c4
|
|
| BLAKE2b-256 |
695a0abbe440967f6cf44068f993bad21e77ec4b24af99534c7bed7c5ee81127
|
File details
Details for the file book_recommendations-0.1.0-py3-none-any.whl.
File metadata
- Download URL: book_recommendations-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","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 |
bc13b73d47cc91036d38b2a7e33ea31eb6a0ee4fe603f520c1e7681b7a5c16f4
|
|
| MD5 |
3df4c25b46304259ea6e4c1e6e625477
|
|
| BLAKE2b-256 |
0741a94c88c711bda6f4158692abced056da5eabdf5d91ef4323965c84149ba3
|