Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

Calibre-Web

by ni-cversion 0.3.1i★ 0iRuns on your computer
Registry nameio.github.ni-c/calibreweb-mcp

How to install

What it does

Read-only MCP server for Calibre-Web: library search, browsing and covers via the OPDS feed

  • Connects Runs on your computer
  • Account or key Needs CALIBRE_WEB_URL, CALIBRE_WEB_PASSWORD
  • Category Search & AI memory

Install

Pick the AI app you use, then copy the settings.

Passed 3/3 checks · Runs on your computer

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude, with some setup first

You need a Calibre-Web key (create it on the maker’s site) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a Calibre-Web key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Calibre-Web site ↗

  3. Open the Claude desktop app’s settings file

    SettingsDeveloperEdit Config

  4. Paste these settings and save the file

    Checking the commands · copy buttons appear once they pass

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Quit Claude and open it again

  6. Try it

    Use Calibre-Web and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Calibre-Web or shows a Calibre-Web tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

ChatGPT cannot connect Calibre-Web yet

Calibre-Web runs on your computer, but ChatGPT can only connect servers that run on the web

What you can do instead

A · Use an app that can connect Calibre-Web

  • You need a Calibre-Web key (create it on the maker’s site) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
  • You need a Calibre-Web key (create it on the maker’s site) · Install Node.js on your computer first (one time)
  • You need a Calibre-Web key (create it on the maker’s site) · Install Node.js on your computer first (one time)
  • You need a Calibre-Web key (create it on the maker’s site) · Install Node.js on your computer first (one time)

B · Others in Search & AI memory that work with ChatGPT

Picked from the most used in the same category, only ones that connect by address with no key

Works with Claude Code, with some setup first

You need a Calibre-Web key (create it on the maker’s site) · Install Node.js on your computer first (one time)

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a Calibre-Web key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Calibre-Web site ↗

  3. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  4. Paste this command and press Enter

    Checking the commands · copy buttons appear once they pass

    Replace “your-value” with your key before pressing Enter

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Type /mcp in Claude Code

    You should see Calibre-Web listed as connected

  6. Try it

    Use Calibre-Web and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Calibre-Web or shows a Calibre-Web tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor, with some setup first

You need a Calibre-Web key (create it on the maker’s site) · Install Node.js on your computer first (one time)

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a Calibre-Web key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Calibre-Web site ↗

  3. Click this button to open Cursor

    Checking the commands · copy buttons appear once they pass

  4. Fill in your key

    In the Calibre-Web settings, CALIBRE_WEB_URL, CALIBRE_WEB_USERNAME, CALIBRE_WEB_PASSWORD, CALIBRE_WEB_INSECURE_TLS, CALIBRE_WEB_ALLOW_TOOLS, CALIBRE_WEB_DENY_TOOLS is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Open the AI chat in Cursor in Agent mode

  6. Try it

    Use Calibre-Web and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Calibre-Web or shows a Calibre-Web tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code, with some setup first

You need a Calibre-Web key (create it on the maker’s site) · Install Node.js on your computer first (one time)

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a Calibre-Web key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Calibre-Web site ↗

  3. Click this button to open VS Code

    Checking the commands · copy buttons appear once they pass

  4. Fill in your key

    In the Calibre-Web settings, CALIBRE_WEB_URL, CALIBRE_WEB_USERNAME, CALIBRE_WEB_PASSWORD, CALIBRE_WEB_INSECURE_TLS, CALIBRE_WEB_ALLOW_TOOLS, CALIBRE_WEB_DENY_TOOLS is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Open the AI chat in VS Code in Agent mode

  6. Try it

    Use Calibre-Web and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Calibre-Web or shows a Calibre-Web tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

JSON settings are under “For developers” below

Stuck? Ask people who use Calibre-Web💬 Discussion →
For developers: Terminal commands and JSON settings

Installed on your computer

Claude Code

Checking the commands · copy buttons appear once they pass

Claude Desktop (claude_desktop_config.json)

Checking the commands · copy buttons appear once they pass

Cursor (~/.cursor/mcp.json)

Checking the commands · copy buttons appear once they pass

VS Code (mcp.json)

Checking the commands · copy buttons appear once they pass

Values you fill in

  • CALIBRE_WEB_URL required env
    Root URL of the Calibre-Web instance, e.g. https://books.example.com
  • CALIBRE_WEB_USERNAME env
    Username of the Calibre-Web account (web login); leave unset together with the password for anonymous-browsing instances
  • CALIBRE_WEB_PASSWORD secret env
    Password of that account (web login password)
  • CALIBRE_WEB_INSECURE_TLS env
    Set to true to accept self-signed certificates (scoped to the configured host)
  • CALIBRE_WEB_ALLOW_TOOLS env
    Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)
  • CALIBRE_WEB_DENY_TOOLS env
    Comma-separated tool names or list_* prefixes to remove from whatever CALIBRE_WEB_ALLOW_TOOLS left

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
89/wk
Connection
Runs on your computer
Latest versioni
0.3.1
Published to registryi
Sep 8, 2026
Code last changedi
Nov 11, 2026
Maker
ni-c
Packages
npm: calibreweb-mcp
oci: ghcr.io/ni-c/calibreweb-mcp:0.3.1
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 13, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account ni-c, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 2 days ago

  • ✓ Pass

    Has a licence

    Uses MIT

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 6025 servers in this category
  • Published to the registry more recently than 37% of the other 6025 servers in this category
  • Basic checks equal to or better than 100% of the other 6025 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Calibre-Web safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: CALIBRE_WEB_URL, CALIBRE_WEB_PASSWORD

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed 2 days ago, and the latest version (0.3.1) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js, Docker on your computer.

What can I use instead?

In the same category: Context7, Codebase Memory, Ruflo

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

by upstashWidely used↓ 1.2M/wk★ 64.7KUpdated yesterday

Computer or cloud

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

by DeusDataWidely used↓ 16.8K/wk★ 48.6KUpdated 27 days ago

Runs on your computer

Ruflo

Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.

by ruvnetWidely used↓ 74.3K/wk★ 81.6K Stars for the whole repoUpdated today

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

calibreweb-mcp

A read-only Model Context Protocol (MCP) server for Calibre-Web (and Calibre-Web Automated), the self-hosted ebook library web UI.

Lets MCP clients like Claude Code, Claude Desktop or Codex search your library, browse the curated views and shelves, follow per-format download links and pull cover images straight into the conversation. It never writes anything: every tool is a GET.

Six tools is the ceiling, not the floor: CALIBRE_WEB_ALLOW_TOOLS=essential registers a curated five instead, and a model picks the right tool far more reliably from five than from six — see choosing which tools load.

Calibre-Web has no REST API — its only stable machine-readable interface is the OPDS catalog feed it serves for e-reader apps. This server speaks that feed: Atom XML with HTTP Basic auth in, structured book data out.

What makes it different

The API Calibre-Web never had. Calibre-Web exposes no REST API — its only stable machine interface is the OPDS Atom feed built for e-reader apps. These tools parse that feed into structured book data with numeric ids, per-format download URLs and bounded summaries.

Read-only by construction. All six tools are GETs. Redirects are refused so Basic credentials never travel, XML carrying a DOCTYPE is rejected outright, hrefs are locked to the configured origin, and metadata is marked as the untrusted data it is.

Requirements

  • Node.js 24 or newer
  • A Calibre-Web instance (developed against the current linuxserver/calibre-web image; Calibre-Web Automated works the same way)
  • A Calibre-Web user for the server. The OPDS feed authenticates with the normal web login — use a dedicated account with only the View and Download roles, not your admin account. If the instance allows anonymous browsing, the server can also run without credentials.

Configuration

VariableRequiredDescription
CALIBRE_WEB_URLyesRoot URL of the instance, e.g. https://books.example.com. The /opds path is appended automatically.
CALIBRE_WEB_USERNAMEyes¹Username of the Calibre-Web account.
CALIBRE_WEB_PASSWORDyes¹Password of that account (the web login password).
CALIBRE_WEB_INSECURE_TLSnotrue to accept self-signed certificates — scoped to the configured host only.
CALIBRE_WEB_ALLOW_TOOLSnoComma-separated tool names, list_* prefixes, or essential for a curated preset
CALIBRE_WEB_DENY_TOOLSnoSame syntax; removed from whatever CALIBRE_WEB_ALLOW_TOOLS left

¹ Leave both unset for an instance that allows anonymous browsing; setting only one of them is a configuration error.

Choosing which tools load

CALIBRE_WEB_ALLOW_TOOLS and CALIBRE_WEB_DENY_TOOLS take comma-separated tool names; a trailing * matches a whole family. essential is a curated preset of five: search_books, list_books, list_shelves, get_shelf_books, get_stats.

CALIBRE_WEB_ALLOW_TOOLS=essential

CALIBRE_WEB_ALLOW_TOOLS=search_books,list_shelves CALIBRE_WEB_DENY_TOOLS=get_cover

An entry that matches no tool aborts startup and names it, so a typo cannot silently hide a tool — an absent tool is not something anyone traces back to an environment variable. A filtered tool is never registered, so it is absent from tools/list and unknown to tools/call alike.

If you run several of these servers at once, mcp-hub is the other answer — its /hub endpoint replaces every server's tools with six meta-tools.

Installation

Claude Code
claude mcp add calibreweb \

-e CALIBRE_WEB_URL=https://books.example.com \ -e CALIBRE_WEB_USERNAME=reader \ -e CALIBRE_WEB_PASSWORD=... \ -- npx calibreweb-mcp

Claude Desktop
{

"mcpServers": { "calibreweb": { "command": "npx", "args": ["calibreweb-mcp"], "env": { "CALIBRE_WEB_URL": "https://books.example.com", "CALIBRE_WEB_USERNAME": "reader", "CALIBRE_WEB_PASSWORD": "..." } } } }

Codex
[mcp_servers.calibreweb]

command = "npx" args = ["calibreweb-mcp"] env = { CALIBRE_WEB_URL = "https://books.example.com", CALIBRE_WEB_USERNAME = "reader", CALIBRE_WEB_PASSWORD = "..." }

Docker
docker run -i --rm \

-e CALIBRE_WEB_URL=https://books.example.com \ -e CALIBRE_WEB_USERNAME=reader \ -e CALIBRE_WEB_PASSWORD=... \ ghcr.io/ni-c/calibreweb-mcp

Through mcp-hub

A client that cannot spawn a local process — ChatGPT connectors, Claude on the web, Cursor, LibreChat — reaches calibreweb-mcp through mcp-hub: one container serves many stdio MCP servers over Streamable HTTP, with an OAuth 2.1 login behind a single password and long-lived tokens for the clients that cannot do OAuth. Its /hub endpoint puts every server behind six meta-tools, so one connector reaches all of them without N×tool schemas in the model's context, and it speaks both protocol revisions — a question this server asks travels through it to the person at the far end.

Its /config/mcp.json uses Claude Code's format, so the entry is the one you already have:

{

"mcpServers": { "calibreweb": { "command": "npx", "args": ["-y", "calibreweb-mcp"], "env": { "CALIBRE_WEB_ALLOW_TOOLS": "essential" }, "denyTools": ["get_cover"] } } }

allowTools and denyTools there are the hub's own per-server filter, which is not the same thing as *_ALLOW_TOOLS in env — the difference, and the mistake it invites, are in the client guide.

Tools

All tools are read-only (readOnlyHint: true).

ToolDescription
search_booksSearch by title, author, series, publisher and tags. Calibre-Web returns every match at once; the result is capped client-side (limit, default 50) and reports the real match count.
list_booksBook listings by view: new (default), hot, rated, discover (random), read, unread, or all (optionally narrowed to an initial letter).
list_shelvesPublic shelves plus the configured user's own shelves.
get_shelf_booksThe books on a shelf, in shelf order.
get_coverA book's cover, returned as an image the client can display.
get_statsTotal books, authors, categories and series.

Book entries include authors, tags, series (with index), rating, a bounded summary, a cover URL and per-format download URLs — ready-made links a human can open, since the model itself has no reason to download an EPUB.

Structured output

Every tool declares an outputSchema and answers with structuredContent alongside the text block, so a client can use the result without parsing prose:

{

"untrusted": true, "source": "calibre-web", "totalFound": 2, "truncated": false, "books": [{ "id": 7, "title": "Dune", "authors": ["Frank Herbert"] }], "notes": ["Book titles, authors, tags, series and summaries come from …"], }

The untrusted marker is a field and not only a line in notes, because a client that reads the structured half would otherwise have to find the warning in a list of sentences. The two tools without it are get_stats, which is four counters this server has checked are numbers, and get_cover, which reports an id, a media type from a four-entry allowlist and a byte count — the image itself stays in the content block where a client renders it.

An over-budget result drops book summaries as before. Where that is still not enough it is now an error rather than JSON cut at the ceiling: unparseable text was tolerable in a text block and is not something structuredContent can carry, and the two channels have to hold the same value.

Pagination

Feeds are paginated by the instance's _books per page_ setting (default 60); the page size is not

Only the beginning is shown; read the rest in the repo