Skip to main content

MCP Book Lover

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.

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_book_lover-0.1.4.tar.gz (114.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_book_lover-0.1.4-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

Details for the file mcp_book_lover-0.1.4.tar.gz.

File metadata

  • Download URL: mcp_book_lover-0.1.4.tar.gz
  • Upload date:
  • Size: 114.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.9

File hashes

Hashes for mcp_book_lover-0.1.4.tar.gz
Algorithm Hash digest
SHA256 b14c97bd118f7266cb3bfee6ed10fa217f8bb5d87f9e5f8df146c143186a97b0
MD5 b43d5a731c766fc5da1f4aeea05f9fe9
BLAKE2b-256 4bca8a5aacf8d48331a42ec2edc4173718b3bfe79f98e7c91908f83f6453c641

See more details on using hashes here.

File details

Details for the file mcp_book_lover-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_book_lover-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 224b1a77215fce3752184533985164342edadbf88e2bd8aa3a1cd5beefd926a2
MD5 be4f64998eab69c2fed993612cae8d33
BLAKE2b-256 6a84baedefedb512ecbf4ebf28b09a4ce517c06d7d766d5e862e14dc1bf241ba

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page