/ 디렉터리 / 플레이그라운드 / ebook-mcp
● 커뮤니티 onebirdrocks ⚡ 바로 사용

ebook-mcp

제작: onebirdrocks · onebirdrocks/ebook-mcp

Point Claude at your EPUB and PDF library — get metadata, TOC, and chapter content in structured form so the model can quote and summarize precisely.

ebook-mcp wraps Python's common EPUB/PDF libs into MCP tools. Unlike generic 'read a file', it exposes table of contents and chapter boundaries, so Claude can fetch just the chapter you're asking about instead of dumping 500 pages into context.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

ebook.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ebook": {
      "command": "uvx",
      "args": [
        "ebook-mcp"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "ebook": {
      "command": "uvx",
      "args": [
        "ebook-mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "ebook": {
      "command": "uvx",
      "args": [
        "ebook-mcp"
      ],
      "_inferred": true
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "ebook": {
      "command": "uvx",
      "args": [
        "ebook-mcp"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "ebook",
      "command": "uvx",
      "args": [
        "ebook-mcp"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "ebook": {
      "command": {
        "path": "uvx",
        "args": [
          "ebook-mcp"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

claude mcp add ebook -- uvx ebook-mcp

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: ebook-mcp

Find and quote a passage you vaguely remember

👤 Readers / researchers ⏱ ~5 min beginner

언제 쓸까: 'There was something in that book about X...' — you need the exact quote and can't be bothered to flip pages.

사전 조건
  • The book file on disk — EPUB or PDF
흐름
  1. Load TOC
    Show me the TOC of ~/Books/deep-work.epub. Which chapter likely discusses shallow work vs deep work?✓ 복사됨
    → TOC + best-guess chapter
  2. Pull the chapter
    Get the text of chapter 3. Find the passage about shallow-work-as-default.✓ 복사됨
    → Quoted passage

결과: Quote in hand, citable, in 2 minutes.

함정
  • Scanned PDFs have no text layer — Run OCR first

Generate a chapter-by-chapter summary of a technical book

👤 Engineers learning from a book on their TBR ⏱ ~30 min intermediate

언제 쓸까: You want to decide whether to actually read a book, or need a refresher after finishing.

흐름
  1. TOC first
    Load TOC of book.pdf. Show me chapter titles and approximate page ranges.✓ 복사됨
    → Outline
  2. Per-chapter summary
    For each chapter, load its content and produce a 3-bullet summary. Output as a single Markdown doc.✓ 복사됨
    → Complete book digest

결과: A 1-2 page book digest you can share or revisit.

함정
  • Huge books blow the token budget if you load all chapters at once — Process one chapter at a time; write intermediate summaries to disk
함께 쓰기: filesystem

Audit your ebook library's metadata

👤 Calibre users, ebook hoarders ⏱ ~15 min beginner

언제 쓸까: Your library has 500 ebooks and you want to find ones with missing title/author metadata.

흐름
  1. Scan
    For each .epub under ~/Books, get metadata. List any where title or author is missing or contains 'Unknown'.✓ 복사됨
    → Incomplete-metadata list

결과: Quick metadata hygiene pass.

함께 쓰기: filesystem

조합

다른 MCP와 조합해 10배 효율

ebook + local-rag

Build a searchable library index

For each book, get_chapter by chapter, ingest into local-rag with book title as source.✓ 복사됨
ebook + notion

Auto-populate your reading journal

Take this just-finished book; summarize each chapter; create a Notion page in 'Books Read'.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
get_metadata path: str First pass on any book free
get_toc path: str Before pulling chapter content free
get_chapter path, chapter_id or id_range Load a specific chapter free
get_pages path, from_page, to_page (PDF only) Page-range extraction for PDFs free

비용 및 제한

운영 비용

API 쿼터
None
호출당 토큰
Chapters 2k-30k tokens depending on length
금액
Free (Apache 2.0)
Always load TOC first. Then load chapters one at a time rather than the whole book.

보안

권한, 시크릿, 파급범위

자격 증명 저장: None — local files only
데이터 외부 송신: Book content goes to your LLM provider

문제 해결

자주 발생하는 오류와 해결

Unable to parse PDF

Scanned/image-only PDF has no text layer. Run ocrmypdf first.

확인: pdftotext input.pdf - | head
EPUB chapter ID not found

IDs come from the TOC exactly. Call get_toc first.

Large PDF makes get_chapter timeout

Use get_pages with a smaller page range; batch.

대안

ebook-mcp 다른 것과 비교

대안언제 쓰나단점/장점
Calibre + custom scriptYou want full Calibre integrationMore setup; no MCP wrapper
pdfplumber / pymupdf directlyYou build your own toolingBuild your own MCP wrapper

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기