calibre-manager
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CALIBREDB_PATH | No | Path to calibredb (defaults to looking it up on PATH). | |
| CALIBRE_PASSWORD | No | Password for Content Server authentication. | |
| CALIBRE_USERNAME | No | Username for Content Server authentication. | |
| EBOOK_CONVERT_PATH | No | Path to ebook-convert. | |
| CALIBRE_LIBRARY_PATH | No | Path to the library, or Content Server URL. If omitted, the default. | |
| FETCH_EBOOK_METADATA_PATH | No | Path to fetch-ebook-metadata. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| health_checkA | Checks that calibredb is reachable and the library responds. Use it first to diagnose the configuration (calibredb path, library, etc.). |
| search_booksA | Searches books using Calibre's search syntax and returns JSON. Example queries: 'tag:Philosophy and author:Plato', 'series:"Classics"', 'title:Republic', 'pubdate:>2010'. Leave query empty to list (use limit). |
| get_book_metadataB | Returns ALL metadata for a book by its id (JSON). |
| list_categoriesA | Lists the values of a category with their book counts, as CSV. category accepts: tags, authors, series, publisher, languages, formats, rating, identifiers. |
| library_statsA | Library summary: total number of books and a breakdown by category (tags, authors, series, formats). |
| set_metadataA | Sets (REPLACES) a book's metadata. 'fields' is an object of field:value pairs. Fields: title, title_sort, authors (multiple with ' & '), author_sort ('Last, First'), tags (comma-separated), series, series_index, publisher, pubdate ('2020-01-01'), languages ('eng'/'spa'), rating (0–10, where 10 = 5 stars), comments (HTML allowed), identifiers ('isbn:9788491050000'), cover (path to an image). NOTE: it replaces the whole field value; to keep the other tags use add_tags/remove_tags. |
| add_tagsA | Adds tags to a book WITHOUT removing the existing ones. Multiple tags comma-separated. |
| remove_tagsC | Removes specific tags from a book, keeping the rest. |
| rename_tagA | Renames a tag across the WHOLE library (on every book that has it). |
| bulk_set_metadataA | Applies the same metadata to ALL books matching a search. Useful for organizing in bulk (e.g. setting a series or publisher on a group). 'query' uses Calibre syntax; 'fields' works like set_metadata (replaces the field). To add tags in bulk without removing, call add_tags per book. |
| add_bookA | Adds a file (EPUB/PDF/MOBI/AZW3...) to the library. Returns the new id. automerge (optional): 'ignore' | 'overwrite' | 'new_record' to handle duplicates. identifiers e.g. 'isbn:9788491050000'. |
| remove_booksA | Removes books from the library by id (comma-separated). DESTRUCTIVE: requires confirm=true. permanent=true skips Calibre's recycle bin. |
| convert_bookA | Converts a book to another format and ADDS that format to the same library book (does not create a new book). Ideal for generating AZW3 for Kindle. If you don't pass source_format, it picks the best available (epub > azw3 > mobi > fb2 > pdf). |
| export_booksB | Exports books to a folder on disk (e.g. to copy them to a Kindle). book_ids comma-separated or 'all'. formats optional, e.g. 'azw3,epub'. |
| find_duplicatesA | Detects likely duplicates by grouping on normalized (title, author). Returns the groups with more than one book. |
| find_books_missing_metadataA | Lists books that are missing a specific metadata field. missing accepts: tags, comments, series, publisher, cover, identifiers, languages, pubdate. |
| fetch_online_metadataA | Looks up metadata from online sources (Google Books, etc.) by title/author or ISBN and returns an OPF. If you pass apply_to_book_id, it applies that metadata (and optionally the cover) to that book in your library. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Each tool targets a specific operation or resource (e.g., add_book vs convert_book, add_tags vs remove_tags) with no functional overlap. Descriptions clearly distinguish when to use each, avoiding ambiguity for agents.
All tool names follow a consistent verb_noun pattern (e.g., add_book, search_books, rename_tag) with no mixing of cases or conventions, making the API predictable.
17 tools is well-scoped for a Calibre library manager, covering essential operations without being too sparse or overwhelming. Each tool serves a clear and necessary purpose.
The tool set covers full CRUD, metadata management, format conversion, export, search, duplicate detection, bulk operations, and health checks. Only minor gaps like in-place file replacement exist, but core workflows are fully supported.