Skip to main content
Glama

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

Search books using Calibre's query syntax (title:, author:, series:, etc.)

get_book_info

Get full metadata for a book by ID

get_epub_path

Get absolute EPUB file path (for downstream processing)

list_series

List all books in a series, sorted by index

get_custom_columns

List custom columns defined in the library

set_custom_column

Set or append custom column values for a book

set_metadata

Edit standard metadata fields (title, authors, tags, series, etc.)

Related MCP server: calibre-manager

Installation

Prerequisites

  • Calibre installed with calibredb in PATH

  • uv (for uvx)

Claude Code (from GitHub)

claude mcp add calibre -- uvx --from git+https://github.com/xmkevinchen/calibre-mcp.git calibre-mcp

Add -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-mcp

Or 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-mcp

Environment Variables

Variable

Description

Default

CALIBRE_LIBRARY_PATH

Path to Calibre library directory

~/Calibre Library

CALIBREDB_PATH

Path to calibredb binary

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.epub

Browse 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-mcp

Then 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 tools
get_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

    A4.1/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: reading vs writing, metadata vs custom columns, search vs series listing. No overlap.

    Naming Consistency5/5

    All tool names use verb_noun pattern (get_, list_, search_, set_) consistently, with clear imperative verbs.

    Tool Count5/5

    7 tools is well-scoped for a Calibre library server, covering search, read, and write operations without bloat.

    Completeness4/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An 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 npm
      3
      BSD 3-Clause
    • A
      license
      A
      quality
      Not graded
      maintenance
      An MCP server to manage and organize a Calibre ebook library, enabling metadata editing, search, conversion, and more through AI assistants.
      17
      5
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A 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.
      7
      MIT