calibre-mcp
Tested by AddonAudit · 24 Oct 2026
io.github.caelum29/calibre-mcp
Calibre ebook library server: search, read content, curate metadata, semantic search, gated writes.
Install
npx -y [email protected]
Client fit
Inferred for Cursor, Claude, Codex. Basis: stdio. This is not a certification from those products.
Transports: stdio.
Links
Audit report
Tested by AddonAudit.
Sandbox handshake completed, with warnings: medium known vulnerabilities; install scripts present.
Automated smoke test, not a security guarantee.
- Version
- 0.9.0
- Audited
- 24 Oct 2026
- Package
- npm calibre-mcp
- Advisories
- 0 critical, 0 high, 8 medium, 0 low
- Time to ready
- 621 ms
- Network
- Disabled. A connection was attempted while offline.
- Pass Version. Pinned npm [email protected]
- Warn Known vulnerabilities. Medium advisories were returned. No critical or high advisories were returned.
- Pass License. MIT
- Warn Install scripts. Install-time scripts: prepare
- Pass Credential patterns. No credential patterns in the published artifact.
- Pass Package size. 348.0 KB
- Pass Maintainer activity. Active 0 days ago.
- Pass Sandbox. MCP handshake completed. 14 tools listed.
Tools
- calibre_list_libraries List the Calibre libraries available on the Content Server and which one is the default. Call this first to discover valid library names.
- calibre_search Find books by exact title, author, ISBN, tag, or Calibre query syntax (mode=meta), or by full text (mode=fts). scope=book returns short keyword snippets from inside one book; first hits often land in TOC/front matter — for definitional or t
- calibre_get_book Get full metadata (authors, ISBN, formats, comments, cover) for one book by its id or uuid (id and bookId are interchangeable — pass the bookId from a search result). Set include_cover=true only when the cover image itself must be inspected
- calibre_get_content Extract a book's text as a capped, fenced excerpt; pass the returned nextCursor token verbatim to walk the whole book, or jump to a char position with offset (e.g. a search passage's charStart). Set structure=true for a chapter map with per
- calibre_get_figures List a book's figures — images the text references, identified by caption (Figure 1-2 / Рис. 3.1) — with page + caption per figure, then fetch chosen ones as images via indexes (≤3 per call). Captions let you pick figures before spending im
- calibre_list_categories Browse library categories (Authors, Tags, Series, Languages, Publisher). No field → list the categories; with a field → its values + counts, filterable via a valueFilter regex (case-insensitive by default; a leading inline flag like `(?i)`
- calibre_semantic_search Meaning-based search over the local index. scope=library ranks books; scope=book (needs bookId) ranks passages within one book. target=figures searches figure captions instead of text — use when the user asks for a diagram/chart/schema; hit
- calibre_build_index Build the semantic index for specific books (required: bookId, ids, or query — full-library indexing is deferred). A query selects ALL matching books (no 100-book cap); large selections run long and may outlive the client timeout — re-run t
- calibre_find_duplicates Find probable duplicate books. mode=identical (exact title+authors) or similar (fuzzy) group the library (or ids/query/filter subset — filter takes a bundle name) with a merge-safety score; mode=compare diffs 2+ ids field-by-field. Read-onl
- calibre_quality_report Scan books for metadata problems: missing fields, raw-filename titles, invalid ISBNs, author-sort mismatches, series gaps. Defaults to the whole library; narrow with ids/query/filter (a bundle name) or specific checks. Read-only.
- calibre_recover_metadata Propose real metadata for a book with a missing/raw-filename title via online provider lookup (ISBN from its identifiers or text, else title/author) on Open Library and Google Books. Preview only — returns a changes object for calibre_updat
- calibre_board_data Internal endpoint for the in-chat cover-board widget. Returns the cached payload of a recent search. Do not call as the model — search results already contain everything this returns.
- calibre_open_book Internal endpoint for the in-chat widgets' Open button. Launches a book in the local Calibre viewer via the calibre:// scheme. Do not call as the model — use calibre_get_book to show a book instead.
- calibre_ping Health check: confirms the MCP server can reach the running Calibre Content Server via calibredb, and reports semantic-search status (embedding model, dependency, index vector count). Returns library categories on success.
Sandbox log excerpt
e_book","calibre_merge_books","calibre_manage_bundles","calibre_board_data","calibre_open_book","calibre_ping"],"writeEnabled":false,"serverUrl":"http://localhost:8080"}
[calibre-mcp] INFO calibre-mcp listening on stdio
(node:23) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
[calibre-mcp] ERROR content-server request failed {"url":"http://localhost:8080/ajax/library-info","aborted":false,"cause":"fetch failed"}
[calibre-mcp] WARN Calibre Content Server not reachable at http://localhost:8080 — start it in Calibre (Connect/share → Start Content server) or set CALIBRE_MCP_SERVER_URL
[calibre-mcp] INFO extractor backends {"pdf":null,"epub":null,"detectedAt":"2026-10-24T01:05:23.021Z"}
Metadata checks
- Repository activity: Active in the last 180 days
- License: Recognized SPDX id
- Metadata quality: High
Score 100 uses public metadata only. It is separate from the audit tier. Payment never changes a score. How listings are checked.
Tested by AddonAudit
Free to use on this listing. The mark links back to this page and does not change the score or the tier.
Light
[](https://addonaudit.com/addon/io-github-caelum29-calibre-mcp/)
<a href="https://addonaudit.com/addon/io-github-caelum29-calibre-mcp/"><img alt="Tested by AddonAudit" src="https://addonaudit.com/badges/tested.svg" width="240" height="240"></a>
Dark
[](https://addonaudit.com/addon/io-github-caelum29-calibre-mcp/)
<a href="https://addonaudit.com/addon/io-github-caelum29-calibre-mcp/"><img alt="Tested by AddonAudit" src="https://addonaudit.com/badges/tested-dark.svg" width="240" height="240"></a>
Seal
[](https://addonaudit.com/addon/io-github-caelum29-calibre-mcp/)
<a href="https://addonaudit.com/addon/io-github-caelum29-calibre-mcp/"><img alt="Tested by AddonAudit" src="https://addonaudit.com/badges/tested-seal.svg" width="240" height="240"></a>
[](https://addonaudit.com/addon/io-github-caelum29-calibre-mcp/)
<a href="https://addonaudit.com/addon/io-github-caelum29-calibre-mcp/"><img alt="Tested by AddonAudit" src="https://addonaudit.com/badges/tested-seal-dark.svg" width="240" height="240"></a>
Get your add-on audited
Request a free audit of a public MCP server or AI coding add-on. A request does not buy a listing, a tier, or a score change.
Data notes
- Tool count is not part of this registry record, so it is blank.