/ Каталог / Песочница / Kreuzberg
● Сообщество kreuzberg-dev ⚡ Сразу

Kreuzberg

автор kreuzberg-dev · kreuzberg-dev/kreuzberg

Extract clean text, tables, and metadata from PDFs, Office docs, images, and 97+ other formats — via a Rust-core MCP.

Kreuzberg is a polyglot document intelligence framework. The MCP server wraps the core Rust pipeline: Claude calls it to extract structured content from any document format without you shelling out to Unstructured/Tika/pdfplumber. Handles OCR for scanned PDFs, table detection, and metadata in one call.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

kreuzberg.replay ▶ готово
0/0

Установка

Выберите клиент

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

Откройте Claude Desktop → Settings → Developer → Edit Config. Перезапустите после сохранения.

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

Cursor использует ту же схему mcpServers, что и Claude Desktop. Конфиг проекта приоритетнее глобального.

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

Щёлкните значок MCP Servers на боковой панели Cline, затем "Edit Configuration".

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

Тот же формат, что и Claude Desktop. Перезапустите Windsurf для применения.

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

Continue использует массив объектов серверов, а не map.

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

Добавьте в context_servers. Zed перезагружается автоматически.

claude mcp add kreuzberg -- uvx kreuzberg-mcp

Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.

Сценарии использования

Реальные сценарии: Kreuzberg

Extract tables from a messy PDF into clean markdown

👤 Analysts dealing with report PDFs ⏱ ~10 min beginner

Когда использовать: You have a PDF with tables that pdftotext mangles and you don't want to retype them.

Предварительные требования
  • MCP installeduvx kreuzberg-mcp — or add via claude mcp add
Поток
  1. Extract
    Use kreuzberg to extract /docs/2025-annual-report.pdf. Give me the tables as markdown and the body text separately.✓ Скопировано
    → Clean markdown tables with preserved headers
  2. Verify
    For the "Revenue by Segment" table, reconcile the column totals. Flag any OCR misreads.✓ Скопировано
    → Arithmetic check with flagged cells

Итог: Markdown tables you can paste into a doc without rework.

Подводные камни
  • Scanned PDF — OCR mistakes 6 for 8 — Use the OCR confidence output and re-scan low-confidence cells manually
Сочетать с: filesystem

Ingest a folder of mixed-format docs for downstream indexing

👤 Engineers building RAG pipelines ⏱ ~30 min intermediate

Когда использовать: Client drops you a zip with PDFs, Word docs, PowerPoints, and you need clean text for embedding.

Предварительные требования
  • Filesystem MCP scoped to the folder — Launch fs MCP with the ingest dir as root
Поток
  1. Inventory
    List every file under /ingest/. For each, call kreuzberg.detect_format and report.✓ Скопировано
    → Format-per-file table
  2. Bulk extract
    For each file, extract text + metadata. Write cleaned .txt next to the original and a manifest.json with metadata.✓ Скопировано
    → All files processed; manifest contains every entry
  3. Quality check
    List every file where extraction returned <100 chars — those are likely scanned or corrupt. Re-run with OCR forced.✓ Скопировано
    → Low-content files identified and retried

Итог: A folder of cleaned text files ready for embedding, with a metadata manifest.

Подводные камни
  • Encrypted PDF — Kreuzberg returns an error — decrypt with qpdf or ask for the unlocked copy
Сочетать с: filesystem · memory

Комбинации

Сочетайте с другими MCP — эффект x10

kreuzberg + filesystem

Walk a folder and extract every doc in place

For each PDF under /docs, extract text and save as .md next to it.✓ Скопировано
kreuzberg + memory

Ingest extracted content into a knowledge graph

Extract /contracts/*.pdf and store key terms in memory for cross-doc querying.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
extract_text path: str, ocr?: bool Primary extraction call free
extract_metadata path: str Just want metadata without body text free
extract_tables path: str Table-focused extraction free
detect_format path: str Confirm format before extraction free

Стоимость и лимиты

Во что обходится

Квота API
Unlimited — local
Токенов на вызов
Proportional to doc size; a 20-page PDF ≈ 8k tokens of output
Деньги
Free (open source)
Совет
Use extract_metadata first on large files to avoid processing irrelevant ones

Безопасность

Права, секреты, радиус поражения

Хранение учётных данных: None for local mode
Исходящий трафик: None — all processing is local

Устранение неполадок

Частые ошибки и исправления

ModuleNotFoundError: tesseract

Install Tesseract system binary: brew install tesseract / apt install tesseract-ocr

Проверить: `tesseract --version`
Empty output on PDF

Likely image-only PDF — re-run with ocr=true

Проверить: Check output.metadata.has_text_layer
XLSX tables come out jumbled

Pass sheet name explicitly: tool supports sheet arg

Альтернативы

Kreuzberg в сравнении

АльтернативаКогда использоватьКомпромисс
markdownify-mcpYou want a lighter, Node-based converter without OCRFewer formats, no table preservation
Unstructured.ioYou need enterprise PDF parsing and accept the cloud costPaid; cloud-hosted

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills