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

pdf-reader-mcp

제작: SylphxAI · SylphxAI/pdf-reader-mcp

One tool, read_pdf, that extracts text, images, and metadata from local or remote PDFs 5-10× faster via parallel page processing.

pdf-reader-mcp (SylphxAI) is a focused Node.js MCP exposing a single tool that handles all PDF extraction. Uses PDF.js with parallel page workers and Y-coordinate layout preservation. Supports local paths and HTTP/HTTPS URLs. 94% test coverage makes it safer for production pipelines.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

pdf-reader.replay ▶ 준비됨
0/0

설치

클라이언트 선택

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

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "pdf-reader": {
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ],
      "_inferred": true
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "pdf-reader",
      "command": "npx",
      "args": [
        "-y",
        "pdf-reader-mcp"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "pdf-reader": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "pdf-reader-mcp"
        ]
      }
    }
  }
}

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

claude mcp add pdf-reader -- npx -y pdf-reader-mcp

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

사용 사례

실전 활용법: pdf-reader-mcp

How to review a contract PDF with Claude

👤 Legal ops, founders, PMs ⏱ ~20 min beginner

언제 쓸까: You need to understand what's in a 50-page contract and flag unusual clauses.

흐름
  1. Read the full PDF
    Use read_pdf on ./contracts/msa-acme.pdf. Extract text and metadata.✓ 복사됨
    → Full text + author/title/date metadata
  2. Ask for a structured summary
    Summarize: parties, term, payment terms, IP, termination, unusual clauses. Quote the exact clause for each.✓ 복사됨
    → Structured summary with quotes
  3. Red-flag review
    Compared to a standard SaaS MSA, what clauses are unusual or risky? Cite page numbers.✓ 복사됨
    → Prioritized list of things to negotiate

결과: A 15-minute review instead of a 2-hour one — with citations.

함정
  • Scanned PDFs return empty text — pdf-reader needs a text layer; run ocrmypdf input.pdf output.pdf first

Digest a folder of research PDFs into a summary table

👤 Analysts, researchers ⏱ ~15 min beginner

언제 쓸까: You downloaded 30 whitepapers and need a skim-layer before deciding what to read deeply.

흐름
  1. List PDFs
    List all PDFs in ./papers/. For each, extract title and abstract.✓ 복사됨
    → Table: filename, title, abstract
  2. Classify and rank
    Classify each paper into [relevant / tangential / skip]. Give a 1-line 'why'.✓ 복사됨
    → Prioritized reading list

결과: A reading order based on content, not file name.

함께 쓰기: filesystem

Extract structured data from invoice PDFs

👤 Finance, AP teams ⏱ ~20 min intermediate

언제 쓸까: You receive PDF invoices and want them as CSV or JSON for your books.

흐름
  1. Extract per invoice
    For each PDF in ./inbox/, extract: vendor, invoice_number, date, total, line_items[]. Return as JSON array.✓ 복사됨
    → Structured JSON per invoice
  2. Flag anomalies
    Highlight any invoices with totals >$10k or with line items that don't add up✓ 복사됨
    → Review queue

결과: Automated AP triage with human-in-the-loop for flags.

함께 쓰기: google-sheets

조합

다른 MCP와 조합해 10배 효율

pdf-reader + filesystem

Iterate over a PDF folder, write summaries alongside

For each PDF in ./papers/, write a corresponding .md summary in the same folder.✓ 복사됨
pdf-reader + google-sheets

Invoice data straight into a Sheets ledger

Extract invoices from ./inbox/*.pdf and append one row per invoice to my 'AP' sheet.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
read_pdf path: str (local or URL), options?: { pages?, include_images?, include_metadata? } Any PDF ingest — single tool handles all operations Local CPU only

비용 및 제한

운영 비용

API 쿼터
None — runs locally
호출당 토큰
A 50-page doc is 20k-100k tokens
금액
Free
Use the pages option to limit extraction to the first N pages when prototyping

보안

권한, 시크릿, 파급범위

자격 증명 저장: None
데이터 외부 송신: Only when given HTTP URLs; local paths stay local

문제 해결

자주 발생하는 오류와 해결

Empty text from a valid PDF

PDF is image-only. Run OCR first: ocrmypdf in.pdf out.pdf, then read

확인: Check metadata; if `producer` says 'Scanner', it's imaged
Out-of-memory on huge PDFs

Pass pages: [1, 50] to chunk; process in ranges

Garbled text / wrong reading order

Some PDFs use non-standard layouts. Try disabling layout-preservation for raw stream order

대안

pdf-reader-mcp 다른 것과 비교

대안언제 쓰나단점/장점
mcp-server-pdf (simple)Minimal dependency, okay with slower single-threadedMuch slower on large docs
LlamaParse APIYou need LLM-grade layout understanding of complex forms/tablesPaid, cloud, better on messy docs

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

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