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 "surpriseme with a book" β book-recommendations is the tool that answers.
Why this exists
- LLMs recommend the same 50 canon books for every ask. This fishesOpenLibrary's millions of works β including a blind-date spin that picksa random subject shelf at random depth, deliberately off the bestsellerlists, and hooks you with the book's actual first sentence before thereveal.
- Read-now intelligence on every card:
read_nowsays when a book isfreely readable at archive.org (public) or borrowable (free loan) β instantreading beats a shopping link. - Free classics via Project Gutenberg (fail-soft: when the Gutenberg indexis down, the error itself points at archive.org alternatives).
- Honest attribution: every card says why_picked β how the book wasactually 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 fleetstandard (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