io.github.PyJudge/pdf4vllm

Registre officiel Productivité

PDF reader for vision LLMs. Auto-detects text corruption and switches to image mode.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

PYPI package pdf4vllm-mcp
Claude Code
claude mcp add pdf4vllm -- uvx pdf4vllm-mcp==1.0.2
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "pdf4vllm": {
            "command": "uvx",
            "args": [
                "pdf4vllm-mcp==1.0.2"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. pdf4vllm
  2. 문제
  3. 해결
  4. 설치
  5. Claude Desktop 설정
  6. 도구
  7. 추출 모드
  8. Problem
  9. Solution
  10. Install
  11. Claude Desktop Setup
  12. Claude Code Setup
  13. Tools
  14. Extraction Modes
  15. Output Format
  16. Configuration
  17. Test Server
  18. License

pdf4vllm

PDF reading MCP server optimized for vision LLMs.

한국어

문제

방식문제점
텍스트 추출인코딩 깨짐 → 쓰레기 출력, 이미지-텍스트 순서 뒤섞임
이미지 변환토큰 폭발 (특히 페이지 많을 때)

해결

pdf4vllm은 PDF가 지저분하다고 가정합니다.

  • 텍스트 손상 자동 감지 → 이미지로 자동 전환
  • 읽기 순서 보존 (텍스트 → 표 → 이미지 블록 순서대로)
  • 페이지 제한으로 컨텍스트 오버플로우 방지
  • 불필요한 이미지 자동 필터링 (로고, 선, 헤더/푸터)

설치

pip install pdf4vllm-mcp
# 또는
uvx pdf4vllm-mcp

Claude Desktop 설정

git clone https://github.com/PyJudge/pdf4vllm-mcp.git
cd pdf4vllm-mcp
python scripts/install_mcp.py

또는 직접 설정 (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "pdf4vllm": {
      "command": "/python/경로",
      "args": ["/pdf4vllm-mcp/경로/src/server.py"]
    }
  }
}

도구

도구설명
list_pdfsPDF 파일 찾기 (glob 패턴 name_pattern 지원)
read_pdfPDF 내용 블록으로 추출
grep_pdfPDF 내 텍스트 검색 (pdfgrep 설치 필요)

추출 모드

모드설명
auto (기본)텍스트 추출 시도 → 손상 감지 시 이미지로 전환
text_only텍스트/표만 추출, 이미지 없음
image_only페이지를 이미지로만 렌더링

Problem

ApproachIssue
Text extractionEncoding corruption → garbage output, mixed text-image ordering
Image conversionToken explosion (especially with many pages)

Solution

pdf4vllm assumes PDFs are messy.

  • Auto-detects text corruption → switches to image automatically
  • Preserves reading order (text → table → image blocks in sequence)
  • Page limits prevent context overflow
  • Filters unnecessary images (logos, lines, headers/footers)
PDF Input
    ↓
Corruption Detection (pdfminer.six + pattern analysis)
    ↓
┌─────────────┬─────────────┐
│  Corrupted  │    Clean    │
│  → Image    │  → Text +   │
│    only     │    Tables + │
│             │    Images   │
└─────────────┴─────────────┘
    ↓
Ordered Blocks (JSON)

Install

pip install pdf4vllm-mcp
# or run without installing
uvx pdf4vllm-mcp

Claude Desktop Setup

git clone https://github.com/PyJudge/pdf4vllm-mcp.git
cd pdf4vllm-mcp
python scripts/install_mcp.py

Or manually edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "pdf4vllm": {
      "command": "/path/to/python",
      "args": ["/path/to/pdf4vllm-mcp/src/server.py"]
    }
  }
}

Claude Code Setup

Create .mcp.json in your project:

{
  "mcpServers": {
    "pdf4vllm": {
      "command": "uvx",
      "args": ["pdf4vllm-mcp"]
    }
  }
}

Tools

ToolDescription
list_pdfsFind PDF files with glob filtering (name_pattern)
read_pdfExtract PDF content as ordered blocks
grep_pdfSearch text in PDFs using pdfgrep (requires pdfgrep installed)

Extraction Modes

ModeDescription
auto (default)Try text extraction → switch to image if corrupted
text_onlyText/tables only, no images
image_onlyRender pages as images only

Output Format

{
  "pages": [
    {
      "page_number": 1,
      "content_blocks": [
        {"type": "text", "content": "..."},
        {"type": "table", "content": "| A | B |"},
        {"type": "image", "content": "[IMAGE_0]"}
      ]
    }
  ]
}

When text is corrupted:

{
  "page_number": 2,
  "content_blocks": [],
  "text_corrupted": true,
  "page_image": "[IMAGE_1]"
}

Configuration

config.json or environment variables:

{
  "max_pages_per_request": 10,
  "max_image_dimension": 842,
  "page_image_dpi": 100
}
export PDF_MAX_PAGES=20
export PDF_PAGE_IMAGE_DPI=150

Test Server

pip install pdf4vllm-mcp[test]
python test_server.py
# → http://localhost:8000

License

MIT


GitHub · PyPI

Questions fréquentes

Qu'est-ce que io.github.PyJudge/pdf4vllm ?

PDF reader for vision LLMs. Auto-detects text corruption and switches to image mode.

Comment installer io.github.PyJudge/pdf4vllm ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add pdf4vllm -- uvx pdf4vllm-mcp==1.0.2. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.PyJudge/pdf4vllm ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

io.github.PyJudge/pdf4vllm est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient io.github.PyJudge/pdf4vllm ?

Il est publié par PyJudge. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.