Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Book Lover

FreeNot checked

Book Lover — Model Context Protocol server

GitHubEmbed

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_series groups numbered parts of a cycle (e.g. "Брутфорс 1..6") into a single result
  • Download — download books directly from searchfloor.org to ~/Books; bl_download_series grabs 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_batch converts 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 pdf txt
fb2 ✅ — ✅ ✅
epub — ✅ ✅ ✅
txt ✅ ✅ ✅ —
pdf ✅ ✅ — ✅

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

from github.com/MIt9/mcp-book-lover

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-lover

FAQ

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

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