/ ディレクトリ / プレイグラウンド / Kreuzberg
● コミュニティ kreuzberg-dev ⚡ 即起動

Kreuzberg

作者 kreuzberg-dev · kreuzberg-dev/kreuzberg

RustコアMCPを介して、PDF、Officeドキュメント、画像、および97以上の他のフォーマットからクリーンなテキスト、表、およびメタデータを抽出します。

Kreuzbergは、多言語文書インテリジェンスフレームワークです。MCPサーバーは、コアのRustパイプラインをラップします。Claudeは、Unstructured/Tika/pdfplumberにシェルアウトすることなく、任意のドキュメント形式から構造化コンテンツを抽出するように呼び出します。スキャンされたPDF、テーブル検出、およびメタデータのOCRを1回の呼び出しで処理します。

なぜ使うのか

主な機能

ライブデモ

実際の動作

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 は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

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

Cline サイドバーの MCP Servers アイコンをクリックし、"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 はマップではなくサーバーオブジェクトの配列を使用。

~/.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

散らかったPDFから表をきれいなマークダウンに抽出する

👤 レポートPDFを扱うアナリスト ⏱ ~10 min beginner

使うタイミング: Pdftotextがマングリングするテーブルを含むPDFがあり、それらを再入力したくありません。

前提条件
  • MCPがインストールされましたuvx kreuzberg - mcp —またはclaude mcp add経由で追加
フロー
  1. 抽出
    Kreuzbergを使用して/docs/2025-annual-report.pdfを抽出します。表をマークダウンとして、本文テキストを別々に渡します。✓ コピーしました
    → 保存されたヘッダーでマークダウンテーブルをクリーンアップする
  2. 認証
    「セグメント別収益」表では、列の合計を照合します。OCRの読み間違いにフラグを立てます。✓ コピーしました
    → フラグ付きセルの算術チェック

結果: 手直しなしでドキュメントに貼り付けることができるマークダウンテーブル。

注意点
  • スキャンされたPDF — OCRミス6/8 — OCR信頼度出力を使用し、信頼度の低いセルを手動で再スキャンする
組み合わせ: ファイルシステム

ダウンストリームのインデックス作成のために、混合形式のドキュメントのフォルダーを取り込む

👤 RAGパイプラインを構築するエンジニア ⏱ ~30 min intermediate

使うタイミング: クライアントはPDF、Wordドキュメント、PowerPointをZIP形式で提供し、埋め込みにはクリーンなテキストが必要です。

前提条件
  • フォルダーにスコープを設定したファイルシステムMCP — ルートとして取り込みディレクトリを使用して fs MCP を起動します。
フロー
  1. 在庫
    List every file under /ingest/. For each, call kreuzberg.detect_format and report.✓ コピーしました
    → Format-per-file table
  2. 一括抽出
    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. 品質チェック
    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

結果: メタデータマニフェストを含む、埋め込みの準備ができたクリーンなテキストファイルのフォルダ。

注意点
  • Encrypted PDF — Kreuzberg returns an error — decrypt with qpdf or ask for the unlocked copy
組み合わせ: ファイルシステム · メモリ

組み合わせ

他のMCPと組み合わせて10倍の力を

kreuzberg + filesystem

Walk a folder and extract every doc in place

/docs の下にある各 PDF について、テキストを抽出し、その横に .md として保存します。✓ コピーしました
kreuzberg + memory

Ingest extracted content into a knowledge graph

/contracts/*.pdf を抽出し、クロスドキュメント クエリのために重要な用語をメモリに保存します。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
extract_text path: str, ocr?: bool プライマリ抽出コール free
extract_metadata path: str 本文なしのメタデータだけが欲しい free
extract_tables path: str テーブルに焦点を当てた抽出 free
detect_format path: str 抽出前に形式を確認する free

コストと制限

運用コスト

APIクォータ
無制限 - ローカル
呼び出しあたりのトークン
ドキュメントのサイズに比例します。 20 ページの PDF ≈ 8,000 トークンの出力
金額
無料(オープンソース)
ヒント
無関係なファイルの処理を避けるために、大きなファイルでは最初に extract_metadata を使用してください

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: ローカルモードの場合はなし
データ送信先: なし - すべての処理はローカルです

トラブルシューティング

よくあるエラーと対処法

ModuleNotFoundError: テッセラクト

Tesseract システム バイナリをインストールします: brew install tesseract / apt install tesseract-ocr

確認: `tesseract --version`
PDF 上の空の出力

おそらく画像のみの PDF — ocr=true で再実行

確認: Check output.metadata.has_text_layer
XLSX テーブルが乱雑になる

シート名を明示的に渡します: ツールは sheet 引数をサポートします

代替案

Kreuzberg 他との比較

代替案代わりに使う場面トレードオフ
markdownify-mcpOCR を使用しない、より軽量なノードベースのコンバーターが必要な場合フォーマットが少なく、テーブルの保存が不要
Unstructured.ioエンタープライズ PDF 解析が必要であり、クラウドのコストを受け入れる必要がある有料;クラウドホスト型

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る