calibre-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@calibre-mcp list all books in the Foundation series"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
calibre-mcp
MCP server for Calibre book library management. Designed for use with Claude Code.
Talks to your local Calibre library via calibredb CLI — no Content Server needed.
Tools
Tool | Description |
| Search books using Calibre's query syntax ( |
| Get full metadata for a book by ID |
| Get absolute EPUB file path (for downstream processing) |
| List all books in a series, sorted by index |
| List custom columns defined in the library |
| Set or append custom column values for a book |
| Edit standard metadata fields (title, authors, tags, series, etc.) |
Related MCP server: calibre-manager
Installation
Prerequisites
Claude Code (from GitHub)
claude mcp add calibre -- uvx --from git+https://github.com/xmkevinchen/calibre-mcp.git calibre-mcpAdd -s user to make it available across all projects:
claude mcp add -s user calibre -- uvx --from git+https://github.com/xmkevinchen/calibre-mcp.git calibre-mcpOr add to your project .mcp.json (project-level only):
{
"mcpServers": {
"calibre": {
"command": "uvx",
"args": ["--from", "git+https://github.com/xmkevinchen/calibre-mcp.git", "calibre-mcp"],
"env": {
"CALIBRE_LIBRARY_PATH": "/path/to/Calibre Library"
}
}
}
}Claude Code (local development)
claude mcp add calibre -- uvx --from /path/to/calibre-mcp calibre-mcpEnvironment Variables
Variable | Description | Default |
| Path to Calibre library directory |
|
| Path to | auto-detected via PATH |
Usage Examples
Search for a book:
search_books("title:pirates past noon")Get EPUB path for reading:
get_epub_path(247) # returns /Users/you/Calibre Library/Author/Book (247)/book.epubBrowse a series:
list_series("Magic Tree House")Updating
uvx caches installed packages. To pull the latest version:
uvx --reinstall --from git+https://github.com/xmkevinchen/calibre-mcp.git calibre-mcpThen restart Claude Code to pick up the changes.
Troubleshooting
calibredb not found — Make sure Calibre is installed and calibredb is in your PATH. On macOS, Calibre installs CLI tools to /Applications/calibre.app/Contents/MacOS/. Add it to PATH or set CALIBREDB_PATH.
claude mcp add doesn't work — Use add-json instead:
claude mcp add-json -s user calibre '{"command":"uvx","args":["--from","git+https://github.com/xmkevinchen/calibre-mcp.git","calibre-mcp"],"env":{"CALIBRE_LIBRARY_PATH":"/path/to/Calibre Library"}}'Or create .mcp.json manually in your project root (see above).
Roadmap
Search and retrieval (
search_books,get_book_info,get_epub_path,list_series)Custom columns and metadata (
get_custom_columns,set_custom_column,set_metadata)
License
MIT
Available Tools
7 toolsget_book_infoA
Get detailed metadata for a book by its Calibre ID.
Returns title, authors, series, tags, formats, file paths, and all other metadata.
Args: book_id: The Calibre book ID
Inputs: book_id (required). Returns: result
get_custom_columnsA
List all custom columns defined in the Calibre library.
Custom columns are user-defined metadata fields beyond the standard fields (title, author, tags, etc.).
Args: details: Include column types, default values, and other metadata
Inputs: details. Returns: result
get_epub_pathA
Get the absolute file path of a book's EPUB file.
This is the core tool for the reading-quiz workflow — returns the EPUB path so it can be unzipped and chapters read directly.
Args: book_id: The Calibre book ID
Inputs: book_id (required). Returns: result
list_seriesA
List all books in a series, sorted by series_index.
Great for seeing the full reading order of a series like "Magic Tree House".
Args: series_name: Name of the series to look up fields: Fields to include in results
Inputs: series_name (required), fields. Returns: result
search_booksB
Search books in the Calibre library using Calibre's search syntax.
Search syntax examples:
Simple text: "robot" (searches all fields)
Field-specific: author:asimov, title:"magic tree house", tag:fiction
Boolean: author:asimov AND title:foundation
Series: series:"magic tree house"
Args: query: Search expression using Calibre's query language fields: Fields to include in results limit: Max number of results (omit for all) sort_by: Field to sort by
Inputs: query (required), fields, limit, sort_by. Returns: result
set_custom_columnA
Set the value of a custom column for a book.
Custom columns are referenced by their lookup name (e.g. "#status", "#rating"). Use get_custom_columns() to see available columns.
Args: book_id: The Calibre book ID column: Custom column lookup name (e.g. "#status") value: Value to set append: If True, append to existing values instead of replacing
Inputs: book_id (required), column (required), value (required), append. Returns: result
set_metadataA
Set standard metadata fields for a book.
Supported fields: title, authors, author_sort, comments, cover, isbn, languages, pubdate, publisher, rating, series, series_index, sort, tags, title_sort, identifiers.
Note: this REPLACES field values. For tags, pass all desired tags comma-separated. For identifiers: "isbn:123456,goodreads:789".
Args: book_id: The Calibre book ID fields: Dict of field_name → value, e.g. {"tags": "sci-fi,classics", "series": "Foundation"}
Inputs: book_id (required), fields (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: reading vs writing, metadata vs custom columns, search vs series listing. No overlap.
All tool names use verb_noun pattern (get_, list_, search_, set_) consistently, with clear imperative verbs.
7 tools is well-scoped for a Calibre library server, covering search, read, and write operations without bloat.
Covers search, read metadata, get file path, list series, set metadata, manage custom columns. Missing delete or create book operations, but core workflows are covered.
Maintenance
Related MCP Connectors
Read-only MCP server exposing a user ORANO library to their own AI agent.
An MCP server that gives your AI access to the source code and docs of all public github repos
MCP server for Project Gutenberg: 78,000+ public-domain ebooks with full plain-text retrieval.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables querying and managing Calibre libraries via chat by interacting with the Calibre content server over HTTP. It allows users to search for books, update metadata, manage authors and tags, and handle book file uploads or conversions.1,040 npm3BSD 3-Clause
- AlicenseAqualityNot gradedmaintenanceAn MCP server to manage and organize a Calibre ebook library, enabling metadata editing, search, conversion, and more through AI assistants.175MIT
- AlicenseNot gradedqualityDmaintenanceMCP server enabling LLMs to query a local Calibre Content Server for ebook metadata, chapters, and content in HTML or Markdown.9 npmMIT
- AlicenseAqualityDmaintenanceA local stdio MCP server that enables AI tools to search a self-hosted Calibre library over SSH, supporting metadata queries, full-text search, and book details.7MIT