calibreweb-mcp
calibreweb-mcp
Сервер Model Context Protocol только для чтения для Calibre-Web (и Calibre-Web Automated), самостоятельно размещаемого веб-интерфейса библиотеки электронных книг.
У Calibre-Web нет REST API — единственным стабильным машиночитаемым интерфейсом является канал каталога OPDS, который он предоставляет для приложений для чтения электронных книг. Этот сервер работает с этим каналом: Atom XML с HTTP Basic авторизацией на входе, структурированные данные о книгах на выходе. Поиск по библиотеке, просмотр курируемых представлений и полок, переход по ссылкам для скачивания в разных форматах и получение обложек прямо в диалог. Он никогда ничего не записывает: каждый инструмент — это GET-запрос к маршрутам OPDS.

📖 Полная документация: calibreweb-mcp.ni-c.de
Требования
Node.js 22 или новее
Экземпляр Calibre-Web (разрабатывался с текущим образом
linuxserver/calibre-web; Calibre-Web Automated работает так же)Пользователь Calibre-Web для сервера. OPDS-канал аутентифицируется с помощью обычного веб-входа — используйте выделенную учётную запись только с ролями «Просмотр» и «Скачивание», а не свою учётную запись администратора. Если экземпляр разрешает анонимный просмотр, сервер может работать и без учётных данных.
Related MCP server: access-calibre
Конфигурация
Переменная | Обязательная | Описание |
| да | Корневой URL экземпляра, например |
| да¹ | Имя пользователя учётной записи Calibre-Web. |
| да¹ | Пароль этой учётной записи (пароль для веб-входа). |
| нет |
|
¹ Оставьте оба незаданными для экземпляра, разрешающего анонимный просмотр; задание только одного из них является ошибкой конфигурации.
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 = "..." }Инструменты
Все инструменты доступны только для чтения (readOnlyHint: true).
Инструмент | Описание |
| Поиск по названию, автору, серии, издателю и тегам. Calibre-Web возвращает все совпадения сразу; результат ограничивается на стороне клиента ( |
| Списки книг по представлениям: |
| Публичные полки, а также собственные полки настроенного пользователя. |
| Книги на полке в порядке их расположения. |
| Обложка книги, возвращается как изображение, которое клиент может отобразить. |
| Общее количество книг, авторов, категорий и серий. |
Записи книг включают авторов, теги, серии (с индексом), рейтинг, ограниченное краткое описание, URL обложки и URL для скачивания в каждом формате — готовые ссылки, которые человек может открыть, поскольку у самой модели нет причин скачивать EPUB.
Пагинация
Каналы разбиты на страницы в соответствии с настройкой «книг на странице» экземпляра (по умолчанию 60);
размер страницы не управляется клиентом. Каждый список возвращает pagination.nextOffset, когда есть ещё страницы — передайте его как offset в следующем вызове. Представление discover представляет собой случайную выборку и не пагинируется.
Намеренно исключено из области видимости
Нет записи. В OPDS-канале её нет, и этот сервер не будет её добавлять.
Нет скачивания файлов. Инструменты возвращают URL для скачивания, а не сами файлы электронных книг.
Нет навигации по фасетам (авторы/серии/теги/издатели/языки/форматы в виде отдельных индексных каналов).
search_booksпокрывает эти поиски; маршруты существуют, и инструменты для них можно добавить, если возникнет реальная необходимость.
Безопасность
Сервер предназначен только для чтения по своей конструкции — только GET-запросы, никакого состояния.
Метаданные книг — это ненадёжные данные от третьих лиц; каждый результат сообщает об этом, управляющие символы удаляются, а обработка XML-сущностей отключена (документы, объявляющие DOCTYPE или сущности, отклоняются полностью).
Ответы ограничиваются по размеру перед парсингом (8 МБ для каналов, 1 МБ для обложек) и снова перед передачей модели (бюджеты на одну книгу и на один ответ).
Ссылки href в канале передаются только в том случае, если они ведут на настроенный источник по http(s) — враждебный канал не сможет внедрить
javascript:,file:или межсайтовые URL в результаты.Перенаправления отклоняются, чтобы учётные данные Basic не могли быть воспроизведены на другом хосте; обложки передаются только для реальных типов контента изображений.
Пароль удаляется из окружения процесса при запуске, а URL очищаются от учётных данных перед появлением в любом логе или результате.
Контейнер
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Разработка
npm install
npm test # unit tests against a stubbed OPDS feed, no instance needed
npm run lint
npm run buildСм. CONTRIBUTING.md.
Релиз
Обновите
CHANGELOG.mdи увеличьте версию вpackage.json(+ lockfile).npm run lint && npm run test:coverage && npm run buildСоздайте тег релиза:
git tag -s vX.Y.Z -m "vX.Y.Z" && git push origin vX.Y.Z
Лицензия
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