About
Book Lover — Model Context Protocol server
README
Your AI librarian from Claude or Cursor — track reading lists, get recommendations, search 8 sources, download and convert books with 35+ tools.
An MCP server for managing your personal book library. Track what you read, write reviews, get recommendations, search across multiple sources, and convert between formats — all from your AI assistant.
Quick Start
# No API key needed — just run
claude mcp add book-lover -- uvx mcp-book-lover
# Ask Claude: "Find books by Brandon Sanderson" or "What should I read next?"
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"book-lover": {
"command": "uvx",
"args": ["mcp-book-lover"]
}
}
}
Features
- Book tracking — manage your library with statuses: want to read → downloaded → reading → finished
- Series support — track progress through book series with ordering and series-level reviews
- Library search — find books in your library by title, author, series, or description
- Reviews & quotes — rate books and series (1–5), write reviews, save favourite quotes
- Recommendations — personalized suggestions based on your ratings and series reviews; save recommendations for later
- Multi-source search — search online across 8 sources (Google Books, Open Library, Author.Today, Knigogo, Searchfloor, LibGen, Flibusta, Project Gutenberg)
- Series/cycle search —
bl_search_seriesgroups numbered parts of a cycle (e.g. "Брутфорс 1..6") into a single result - Download — download books directly from searchfloor.org to
~/Books;bl_download_seriesgrabs a whole cycle in one call - Format conversion — convert between epub, fb2, txt, pdf with full preservation of chapters, bold/italic, inline images, cover and metadata; zipped books (
.fb2.zip) are handled automatically;bl_convert_batchconverts an entire directory at once - Reading stats — yearly progress, top authors/genres, average rating
- Reading challenge — set yearly goals and track progress
- Import/Export — bulk import from text, export to JSON/CSV/Markdown
Installation
No installation needed if you use uvx — it fetches the package automatically.
Or install manually (requires Python 3.11+):
python3.11 -m venv .venv
source .venv/bin/activate
pip install mcp-book-lover
Connecting to MCP clients
Claude Code
claude mcp add book-lover uvx mcp-book-lover
To make it available in all projects, add to ~/.claude/mcp.json:
{
"mcpServers": {
"book-lover": {
"command": "uvx",
"args": ["mcp-book-lover"]
}
}
}
Claude Desktop / Kiro / Cursor
Add to the MCP config file of your client:
{
"mcpServers": {
"book-lover": {
"command": "uvx",
"args": ["mcp-book-lover"]
}
}
}
Development
git clone https://github.com/MIt9/mcp-book-lover
cd mcp-book-lover
uv sync
Test interactively with the MCP inspector:
mcp dev src/mcp_book_lover/server.py
Tools
| Tool | Description |
|---|---|
bl_add_book |
Add a book to your library (with series/order support) |
bl_list_books |
List books with filters (status, author, genre) |
bl_find_in_library |
Search YOUR library by title, author, series, description |
bl_update_book_status |
Change reading status |
bl_delete_book |
Delete a book with all its reviews and quotes |
bl_list_series |
List all series with progress |
bl_series_books |
Show books in a series with order and status |
bl_review_book |
Write a review + rating (1–5) |
bl_get_reviews |
View reviews for a book |
bl_review_series |
Write a review for a book series |
bl_get_series_reviews |
View series reviews |
bl_save_recommendation |
Save a recommendation for future reading |
bl_list_recommendations |
List saved recommendations |
bl_delete_recommendation |
Remove a recommendation from the list |
bl_add_quote |
Save a quote from a book |
bl_list_quotes |
View saved quotes |
bl_get_recommendations |
Get recommendations by author/genre via Open Library |
bl_search_books |
Search online across 8 sources |
bl_search_series |
Find ALL books of a cycle/series — groups numbered parts (e.g. "Брутфорс 1..6") into one result |
bl_suggest_next |
What to read next (scored by ratings, series reviews, fav authors/genres) |
bl_find_download |
Find download links (LibGen, Flibusta) |
bl_download_book |
Download a book from searchfloor.org to ~/Books |
bl_download_series |
Download ALL books of a cycle/series in one call |
bl_convert_book |
Convert book file — preserves chapters, formatting, images; auto-extracts .fb2.zip/.epub.zip |
bl_convert_batch |
Convert every book file in a directory to one format (great for a downloaded cycle) |
bl_reading_stats |
Reading statistics |
bl_set_goal |
Set a yearly reading challenge |
bl_goal_progress |
Check reading challenge progress |
bl_import_list |
Import books from text list |
bl_export_library |
Export library (json/csv/markdown) |
Book Statuses
| Status | Meaning |
|---|---|
want_to_read |
On the wishlist, don't have the file yet |
downloaded |
File ready, queued for reading |
reading |
Currently reading/listening |
finished |
Done |
Format Conversion
All conversions preserve chapter structure, metadata (title, author, language), cover image, bold/italic text, and inline images.
| From \ To | epub | fb2 | txt | |
|---|---|---|---|---|
| fb2 | ✅ | — | ✅ | ✅ |
| epub | — | ✅ | ✅ | ✅ |
| txt | ✅ | ✅ | ✅ | — |
| ✅ | ✅ | — | ✅ |
PDF output uses a system Unicode font (Arial on macOS, DejaVu on Linux) for Cyrillic support.
Zipped book files (.fb2.zip, .epub.zip) are extracted automatically before parsing, so you can convert them directly.
Typical cycle workflow
# 1. Find every book of the cycle at once
bl_search_series("Брутфорс")
# 2. Download all parts in one call
bl_download_series("Брутфорс", author="Иван Катиш")
# 3. Convert the whole directory (auto-extracts .fb2.zip)
bl_convert_batch("~/Books", "epub")
Search Sources
Sources are auto-selected based on query language (Cyrillic → uk/ru sources, Latin → en sources):
| Source | Languages | Type |
|---|---|---|
| Google Books | en, uk, ru | API |
| Open Library | en, uk, ru | API |
| Author.Today | uk, ru | Scraping |
| Knigogo | uk, ru | Scraping |
| Searchfloor | uk, ru | Scraping + download |
| LibGen | en, uk, ru | Scraping |
| Flibusta | ru | Scraping |
| Project Gutenberg | en | Scraping |
Storage
SQLite database at ~/.mcp-book-lover/books.db. Downloaded books go to ~/Books by default.
Requirements
- Python ≥ 3.10
- No external services or API keys required
- System Unicode font (Arial/DejaVu) for PDF output with Cyrillic
License
MIT
Installing Book Lover
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/MIt9/mcp-book-loverFAQ
Is Book Lover MCP free?
Yes, Book Lover MCP is free — one-click install via Unyly at no cost.
Does Book Lover need an API key?
No, Book Lover runs without API keys or environment variables.
Is Book Lover hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Book Lover in Claude Desktop, Claude Code or Cursor?
Open Book Lover on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Opencode Omniroute Plugin
OpenCode plugin for the OmniRoute AI Gateway. Drives dynamic model discovery, /connect auth flow, and multi-instance OmniRoute providers via the official @openc
by GitHub ActionsRoblox Studio
Enables AI coding tools to control Roblox Studio for workspace exploration, instance manipulation, and script management. It provides tools for playtesting, sce
by paralovAntigravity Drawio
MCP server that enables AI assistants to create, parse, render, and validate Draw.io diagrams programmatically.
by S-SUJAN-SFetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
by lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
Compare Book Lover with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
