Calibre MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PYTHONPATH | Yes | The Python path to the source directory of the Calibre MCP server, typically pointing to the 'src' folder. | |
| CALIBREMCP_CONFIGPATH | Yes | The full path to the JSON configuration file (e.g., config.json) that defines libraries, permissions, and server settings. |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_booksA | Search for books matching a metadata query. If query is not provided, lists all books. Supports pagination by the limit and offset parameters: limit determines how many results to show (default 50), offset sets the starting point for the results (default 0). fields: Optional list of metadata fields to return (e.g. ["title", "rating", "#genre"]). Returns all if not provided. text_field_limit: Optional max length for text fields in the returned metadata. |
| get_book_detailsC | Get detailed metadata for a book. fields: an optional list of metadata fields to return (e.g. ["title", "rating", "#genre"]). If not provided, returns all fields. |
| get_book_contentC | Retrieve text content of a book. limit: Maximum number of characters to return (default 30,000). offset: Character offset to start reading from. sentence_aware: If True, adjusts the limit to the nearest sentence boundary. |
| search_book_contentC | Search for text within a book. Returns a list of hits with text snippets. hit_limit: Max number of hits to return (default 10). offset: Offset for pagination of hits. |
| fts_searchC | Full-Text Search for a string. Returns a list of hits that include a book_id and a short snippet of text containing an example of the search string's use in that book. |
| get_library_schemaB | Get the schema of the library, including standard and custom columns. Useful for understanding available metadata fields for search and update. |
| get_field_valuesA | Get unique values and their counts for a specific metadata field. Useful for building facets (e.g. list of all tags or authors). field_name: The name of the field. book_ids: Optional list of book IDs to restrict the search to. value_filter: Optional regex to filter values. limit: Max number of values to return (default 50). offset: Offset for pagination. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_libraries | List available configured libraries, including their permissions. |
| get_help_topics | List available help topics. |
TDQS
Scored across 7 tools
Most tools have distinct purposes, but there is some overlap between 'fts_search' and 'search_book_content', which both search text within books, potentially causing confusion. However, their descriptions clarify that 'fts_search' is for full-text search across the library while 'search_book_content' is for searching within a specific book, which helps mitigate ambiguity.
All tool names follow a consistent snake_case pattern with clear verb_noun structures, such as 'get_book_details', 'search_books', and 'get_field_values'. This predictability makes it easy for agents to understand and use the tools without confusion.
With 7 tools, the server is well-scoped for managing a Calibre library, covering essential operations like searching, retrieving content, and metadata management. Each tool serves a clear purpose without being overly sparse or bloated.
The tool set provides strong coverage for reading and searching a Calibre library, including metadata, content, and schema operations. A minor gap exists in the lack of update or delete tools for books or metadata, but this is reasonable if the server is focused on querying rather than modification.