Calibre Librarian MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_SERVER_NAME | No | Server name shown in MCP clients | Calibre Librarian MCP |
| CALIBRE_DB_COMMAND | No | Path to the calibredb executable | calibredb |
| CALIBRE_LIBRARY_PATH | Yes | Absolute path to your Calibre library directory | |
| CALIBRE_COMMAND_TIMEOUT_MS | No | Timeout for calibredb commands in milliseconds | 15000 |
| FAVORITE_SEARCH_ENGINE_URL | No | Base URL for external book search links | https://duckduckgo.com/?q= |
| CALIBRE_ENABLE_WRITE_OPERATIONS | No | Enable metadata editing tools (set_metadata, etc.) | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bulk_retagA | Add, remove, or replace tags for books matching a search query. Useful for bulk organization tasks like categorizing all books by an author or cleaning up tag names. |
| compare_booksA | Compare metadata between multiple books side-by-side. Useful for deciding which duplicate to keep, verifying metadata consistency, or identifying differences between editions. Highlights differences between books. |
| fetch_excerptA | Fetch a short text excerpt from a book's content. Extracts the beginning of a book to preview its content. Useful for checking writing style, confirming the right book, or getting a taste of the content. |
| find_duplicatesA | Find potential duplicate books in the library. Helps identify books that may have been added multiple times with slight variations in metadata. Returns groups of potentially duplicate books for review. |
| full_text_searchA | Search inside book content using Calibre's full-text search. Finds quotes, passages, and references within books. Note: Requires FTS indexing to be enabled in Calibre library settings. |
| generate_claude_configA | Generate Claude Desktop configuration for this MCP server. Outputs the JSON snippet to add to your Claude Desktop config file. |
| get_all_tagsA | List all tags in the Calibre library with book counts. Useful for exploring available categories, finding popular tags, or planning tag-based organization. |
| get_book_detailsA | Get detailed metadata for a specific book by its Calibre ID. Returns title, authors, tags, formats, identifiers, publication info, and more. |
| get_books_by_author_idA | Get all books by a specific Calibre author ID. More precise than searching by name when dealing with authors who have similar names. Use search_authors_by_name to find author IDs first. |
| get_books_by_authorA | Get all books by a specific author. Returns book details including title, series, tags, and formats. Use search_authors_by_name first if you need to find the exact author name. |
| get_books_by_seriesA | Get all books in a series with proper reading order. Books are sorted by series index to show the correct sequence. Useful for finding what books are in a series and planning reading order. |
| get_books_by_tagA | Get all books with a specific tag. Useful for browsing themed collections or finding books in a category. Use get_all_tags to discover available tags first. |
| get_custom_columnsA | List all custom columns defined in the Calibre library. Custom columns allow users to add their own metadata fields (e.g., 'Read Status', 'Owned Format', 'Priority'). Returns column names, labels, and data types. |
| get_library_statsA | Get library statistics including total book count, format breakdown, tag counts, author counts, and series counts. Useful for understanding the composition of your Calibre library. |
| library_maintenanceB | Run Calibre library maintenance operations: check integrity, backup metadata to OPF files, embed metadata into book files, or vacuum the database. Some operations modify files. |
| missing_book_scoutA | Check a reading list against your Calibre library. Reports which books you own and generates search links for missing titles. Great for processing 'to-read' lists or book recommendations. |
| normalize_author_sortA | Find and fix inconsistent author_sort values. Calibre uses author_sort for proper alphabetization (e.g., 'Tolkien, J.R.R.' for 'J.R.R. Tolkien'). Preview changes before applying. |
| quality_reportA | Generate a quality report for the library, identifying books with missing metadata, covers, or other issues. Helps prioritize cleanup tasks. |
| list_sample_booksB | List a few books from the configured Calibre library using calibredb list. |
| search_authors_by_nameA | Search for authors by name pattern. Returns matching authors with their book counts. Useful for finding authors when you only remember part of their name. |
| search_book_contentA | Search for text within a specific book's content. Plain-text fallback when Calibre FTS is not available. Extracts the book to text and searches for matches with surrounding context. |
| search_books_by_tag_patternA | Search for books by tag pattern. First finds all tags matching the pattern, then returns books with any of those tags. Useful for exploring related categories (e.g., 'fiction' finds books tagged 'Fiction', 'Science Fiction', 'Historical Fiction', etc.). |
| search_books_by_titleA | Search books by title with wildcard support. Simpler interface than search_books for quick title lookups. By default performs partial/contains matching (e.g., 'ring' finds 'The Lord of the Rings'). |
| search_booksA | Search books in the Calibre library using Calibre's query language. Supports field-specific searches (title:, author:, tag:, series:, publisher:, format:, rating:, etc.) and boolean operators (and, or, not). |
| set_custom_columnA | Update a custom column value for a book. WARNING: This modifies your Calibre library. Use get_custom_columns to see available columns and get_book_details to verify the book before updating. |
| set_metadataA | Update metadata fields for a book. WARNING: This modifies your Calibre library. Only specified fields will be updated; others remain unchanged. Use get_book_details first to see current values. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| library_cleanup | Help identify and fix library hygiene issues like duplicates, missing metadata, or organizational problems. |
| merge_duplicates | Guided workflow for handling duplicate books. Helps compare duplicates, decide which to keep, merge metadata/tags, and safely remove extras. |
| search_library | Guided search through your Calibre library. Helps find books by title, author, series, tags, or general queries. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chepetime/calibre-librarian-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server