calibreweb-mcp
calibreweb-mcp
Calibre-Web(및 Calibre-Web Automated)용 읽기 전용 Model Context Protocol 서버입니다. Calibre-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 피드는 일반 웹 로그인으로 인증합니다. 관리자 계정이 아닌 보기 및 다운로드 권한만 있는 전용 계정을 사용하세요. 인스턴스에서 익명 탐색을 허용하는 경우 서버는 자격 증명 없이도 실행할 수 있습니다.
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 또는 엔터티를 선언하는 문서는 완전히 거부).
응답은 구문 분석 전에 제한되고(8MB 피드, 1MB 표지), 모델에 도달하기 전에 다시 제한됩니다(책당 및 응답당 예산).
피드 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