calibreweb-mcp
calibreweb-mcp
Un servidor de solo lectura del Model Context Protocol para Calibre-Web (y Calibre-Web Automated), la interfaz web autohospedada de bibliotecas de libros electrónicos.
Calibre-Web no tiene una API REST; su única interfaz estable legible por máquina es el feed del catálogo OPDS que sirve para aplicaciones de lectura de libros electrónicos. Este servidor habla ese feed: XML Atom con autenticación HTTP Basic de entrada, datos estructurados de libros de salida. Busca en la biblioteca, navega por las vistas y estanterías seleccionadas, sigue enlaces de descarga por formato y obtén imágenes de portada directamente en la conversación. Nunca escribe nada: cada herramienta es una petición GET a las rutas OPDS.

📖 Documentación completa: calibreweb-mcp.ni-c.de
Requisitos
Node.js 22 o superior
Una instancia de Calibre-Web (desarrollada contra la imagen actual
linuxserver/calibre-web; Calibre-Web Automated funciona de la misma manera)Un usuario de Calibre-Web para el servidor. El feed OPDS se autentica con el inicio de sesión web normal: usa una cuenta dedicada con solo los roles de Ver y Descargar, no tu cuenta de administrador. Si la instancia permite la navegación anónima, el servidor también puede ejecutarse sin credenciales.
Related MCP server: access-calibre
Configuración
Variable | Requerido | Descripción |
| sí | URL raíz de la instancia, por ejemplo |
| sí¹ | Nombre de usuario de la cuenta de Calibre-Web. |
| sí¹ | Contraseña de esa cuenta (la contraseña de inicio de sesión web). |
| no |
|
¹ Deja ambos sin establecer para una instancia que permita navegación anónima; establecer solo uno de ellos es un error de configuración.
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-mcpClaude 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 = "..." }Herramientas
Todas las herramientas son de solo lectura (readOnlyHint: true).
Herramienta | Descripción |
| Buscar por título, autor, serie, editorial y etiquetas. Calibre-Web devuelve todas las coincidencias a la vez; el resultado se limita del lado del cliente ( |
| Listados de libros por vista: |
| Estanterías públicas más las estanterías propias del usuario configurado. |
| Los libros en una estantería, en el orden de la estantería. |
| La portada de un libro, devuelta como una imagen que el cliente puede mostrar. |
| Total de libros, autores, categorías y series. |
Las entradas de libros incluyen autores, etiquetas, serie (con índice), valoración, un resumen acotado, una URL de portada y URLs de descarga por formato — enlaces listos para que un humano los abra, ya que el modelo en sí no tiene razón para descargar un EPUB.
Paginación
Los feeds se paginan según la configuración de libros por página de la instancia (por defecto 60); el tamaño de página no es controlable por el cliente. Cada listado devuelve pagination.nextOffset cuando existen más páginas — pásalo como offset en la siguiente llamada. La vista discover es una selección aleatoria y no está paginada.
Deliberadamente fuera del alcance
Sin escrituras. El feed OPDS no tiene ninguna, y este servidor no añadiría ninguna.
Sin descargas de archivos. Las herramientas devuelven URLs de descarga, no los archivos de los libros electrónicos.
Sin navegación por facetas (autores/series/etiquetas/editoriales/idiomas/formatos como sus propios feeds de índice).
search_bookscubre esas búsquedas; las rutas existen y se pueden añadir herramientas para ellas si hay un caso de uso real.
Seguridad
El servidor es de solo lectura por construcción — solo peticiones GET, sin estado en ninguna parte.
Los metadatos de los libros son datos de terceros no confiables; cada resultado lo indica, se eliminan los caracteres de control y se deshabilita el procesamiento de entidades XML (los documentos que declaran un DOCTYPE o entidades son rechazados de plano).
Las respuestas están limitadas antes de analizarlas (8 MB de feeds, 1 MB de portadas) y nuevamente antes de que lleguen al modelo (presupuestos por libro y por respuesta).
Los hrefs del feed solo se transmiten cuando se resuelven al origen configurado a través de http(s) — un feed hostil no puede insertar URLs
javascript:,file:o de origen cruzado en los resultados.Se rechazan las redirecciones para que las credenciales Basic nunca se puedan reutilizar en otro host; las portadas solo se transmiten para tipos de contenido de imagen reales.
La contraseña se elimina del entorno del proceso al inicio, y las URLs se redactan de credenciales antes de aparecer en cualquier registro o resultado.
Contenedor
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-mcpDesarrollo
npm install
npm test # unit tests against a stubbed OPDS feed, no instance needed
npm run lint
npm run buildVer CONTRIBUTING.md.
Publicación
Actualiza
CHANGELOG.mdy aumenta la versión enpackage.json(+ archivo de bloqueo).npm run lint && npm run test:coverage && npm run buildEtiqueta la publicación:
git tag -s vX.Y.Z -m "vX.Y.Z" && git push origin vX.Y.Z
Licencia
Maintenance
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server to manage and organize a Calibre ebook library, enabling metadata editing, search, conversion, and more through AI assistants.174MIT
- Alicense-qualityDmaintenanceMCP server enabling LLMs to query a local Calibre Content Server for ebook metadata, chapters, and content in HTML or Markdown.15MIT
- AlicenseAqualityCmaintenanceA 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
- AlicenseAqualityBmaintenanceAn MCP server that lets an LLM browse, search, and download books from OPDS catalogs (e.g., Project Gutenberg, Standard Ebooks) using tools for feed navigation, full-text search, and acquisition link downloads.41AGPL 3.0
Related MCP Connectors
MCP server for Project Gutenberg — 75,000+ public-domain ebooks with full plain-text retrieval.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ni-c/calibreweb-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server