calibreweb-mcp
calibreweb-mcp
読み取り専用の Model Context Protocol サーバーで、Calibre-Web(および Calibre-Web Automated)向けのものです。Calibre-Web はセルフホスト型の電子書籍ライブラリ Web UI です。
Calibre-Web には REST API はありません。唯一安定した機械可読インターフェースは、電子書籍リーダーアプリ向けの OPDS カタログフィードです。このサーバーはそのフィードを扱います:Atom XML で HTTP Basic 認証を受け付け、構造化された書籍データを出力します。ライブラリを検索し、キュレーションされたビューや棚をブラウズし、フォーマットごとのダウンロードリンクをたどり、カバー画像をそのまま会話に取り込めます。書き込みは一切行いません。すべてのツールは OPDS ルートへの GET リクエストです。

📖 完全なドキュメント: calibreweb-mcp.ni-c.de
必要条件
Node.js 22 以上
Calibre-Web インスタンス(現在の
linuxserver/calibre-webイメージに対して開発済み。Calibre-Web Automated も同様に動作します)サーバー用の Calibre-Web ユーザー。OPDS フィードは通常の Web ログインで認証します。管理者アカウントではなく、表示とダウンロードの権限のみを持つ専用アカウントを使用してください。インスタンスが匿名ブラウジングを許可している場合、サーバーは認証情報なしでも実行できます。
Related MCP server: access-calibre
設定
変数 | 必須 | 説明 |
| はい | インスタンスのルート URL(例: |
| はい¹ | Calibre-Web アカウントのユーザー名。 |
| はい¹ | そのアカウントのパスワード(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 をダウンロードする理由はないため、人間が開ける準備済みのリンクです。
ページネーション
フィードはインスタンスの 1 ページあたりの書籍数 設定(デフォルト 60)でページネーションされます。ページサイズはクライアント側で制御できません。すべての一覧で、さらにページが存在する場合に pagination.nextOffset が返されます。次の呼び出しで offset として渡します。discover ビューはランダム選択であり、ページネーションされません。
意図的に範囲外
書き込みなし。 OPDS フィードには書き込みがなく、このサーバーも追加しません。
ファイルダウンロードなし。 ツールはダウンロード URL を返しますが、電子書籍のペイロードは返しません。
ファセットブラウジングなし(著者/シリーズ/タグ/出版社/言語/フォーマットを個別のインデックスフィードとして)。
search_booksでそれらの検索をカバーします。ルートは存在し、実際のユースケースがあればツールを追加できます。
安全性
サーバーは設計上読み取り専用です。GET リクエストのみで、状態は一切持ちません。
書籍メタデータは信頼できないサードパーティデータです。すべての結果にその旨が明記され、制御文字は削除され、XML エンティティ処理は無効化されています(DOCTYPE またはエンティティを宣言するドキュメントは完全に拒否されます)。
レスポンスは解析前に制限され(フィードは 8 MB、表紙は 1 MB)、さらにモデルに到達する前に制限されます(書籍ごと、レスポンスごとの予算)。
フィードの 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 buildCONTRIBUTING.md を参照してください。
リリース
CHANGELOG.mdを更新し、package.json(+ ロックファイル)のバージョンを上げます。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