Provides read-only access to local Calibre e-book libraries, enabling search of book metadata, content analysis, full-text search capabilities, and extraction of book samples for literary analysis.
Neolibrarian MCP: Calibre Library (Read‑only)
Minimal MCP server exposing read‑only access to a local Calibre library. Designed for use with MCP‑compatible hosts (e.g., Claude Desktop) to search metadata, inspect formats, and extract small content samples for analysis.
What it does
- Connects to your existing Calibre library (local filesystem)
- Exposes read‑only tools: library stats, searches (author/title/unified), per‑book details and formats, full‑text search (global and per‑book, if your Calibre FTS DB exists), small content samples, and batch metadata
- Provides two lightweight JSON resources for quick at‑a‑glance info
Requirements
- Python 3.12+ (3.13 supported)
- Calibre installed locally (calibre‑debug.exe available)
- Access to your Calibre library directory (contains metadata.db)
Install
Configuration
Place a JSON config file with at least these keys:
Resolution/precedence (first match wins):
- Environment variable CALIBRE_CONFIG_PATH (absolute or ~-expanded path)
- config.local.json next to the server script
- config.json next to the server script
Run the MCP server
The server runs over stdio for MCP hosts.
For MCP hosts (e.g., Claude Desktop), point the tool to this script; optionally set CALIBRE_CONFIG_PATH to your config file.
Exposed tools (read‑only)
- ping → quick health check and paths
- get_total_books
- search_by_author(author_name)
- search_by_title(title)
- unified_search(query?, author?, title?, series?, formats?, date_start?, date_end?, offset=0, limit=20, sort_by)
- get_book_details(book_id)
- get_book_formats(book_id)
- get_book_sample(book_id, sample_type, sample_size)
- analyze_book_content(book_id, analysis_type, max_length)
- full_text_search(query, case_sensitive?, max_results?, context_chars?)
- full_text_search_book(book_id, query, case_sensitive?, context_chars?)
- get_books_batch([book_ids])
- get_random_books(count?, formats?, series_only?)
- get_full_text_search_stats()
Resources:
- calibre://stats (application/json)
- calibre://book/{book_id}/details (application/json)
Notes
- This server is strictly read‑only (no writes to your library).
- Full‑text search tools require Calibre’s full‑text database to exist in your library folder (full‑text-search.db*).
License: MIT (see LICENSE)
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables read-only access to local Calibre libraries for searching metadata, inspecting book formats, and extracting content samples. Supports full-text search, batch operations, and detailed book analysis through natural language queries.
Related MCP Servers
- AsecurityAlicenseAqualityEnables interaction with MercadoLibre's API for product search, reviews, descriptions, and seller reputation insights.Last updated -36157TypeScriptMIT License
- -securityFlicense-qualityProvides tools for reading and extracting text from PDF files, supporting both local files and URLs.Last updated -25Python
- -securityAlicense-qualityEnables access and interaction with your Readwise library, allowing you to retrieve and search highlights, books, and documents through natural language queries when using Claude or other MCP-compatible assistants.Last updated -22TypeScriptMIT License
- AsecurityAlicenseAqualityEnables Claude to interact with the Readwise Reader API, allowing for saving, listing, updating, and deleting documents with complete metadata and content access through natural language.Last updated -624TypeScriptMIT License