MCPHub LabRegistrykreuzberg-dev/kreuzberg
kreuzberg-dev

kreuzberg dev/kreuzberg

Built by kreuzberg-dev β€’ 7,139 stars

What is kreuzberg dev/kreuzberg?

A polyglot document intelligence framework with a Rust core. Extract text, metadata, and structured information from PDFs, Office documents, images, and 88+ formats. Available for Rust, Python, Ruby,

How to use kreuzberg dev/kreuzberg?

1. Install a compatible MCP client (like Claude Desktop). 2. Open your configuration settings. 3. Add kreuzberg dev/kreuzberg using the following command: npx @modelcontextprotocol/kreuzberg-dev-kreuzberg 4. Restart the client and verify the new tools are active.
πŸ›‘οΈ Scoped (Restricted)
npx @modelcontextprotocol/kreuzberg-dev-kreuzberg --scope restricted
πŸ”“ Unrestricted Access
npx @modelcontextprotocol/kreuzberg-dev-kreuzberg

Key Features

Native MCP Protocol Support
Real-time Tool Activation & Execution
Verified High-performance Implementation
Secure Resource & Context Handling

Optimized Use Cases

Extending AI models with custom local capabilities
Automating system workflows via natural language
Connecting external data sources to LLM context windows

kreuzberg dev/kreuzberg FAQ

Q

Is kreuzberg dev/kreuzberg safe?

Yes, kreuzberg dev/kreuzberg follows the standardized Model Context Protocol security patterns and only executes tools with explicit user-granted permissions.

Q

Is kreuzberg dev/kreuzberg up to date?

kreuzberg dev/kreuzberg is currently active in the registry with 7,139 stars on GitHub, indicating its reliability and community support.

Q

Are there any limits for kreuzberg dev/kreuzberg?

Usage limits depend on the specific implementation of the MCP server and your system resources. Refer to the official documentation below for technical details.

Official Documentation

View on GitHub

Kreuzberg

<div align="center" style="display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 20px 0;"> <!-- Built with --> <a href="https://github.com/kreuzberg-dev/alef"> <img src="https://img.shields.io/badge/built%20with-alef%20%D7%90-007ec6" alt="Built with alef"> </a> <!-- Language Bindings --> <a href="https://crates.io/crates/kreuzberg"> <img src="https://img.shields.io/crates/v/kreuzberg?label=Rust&color=007ec6" alt="Rust"> </a> <a href="https://hex.pm/packages/kreuzberg"> <img src="https://img.shields.io/hexpm/v/kreuzberg?label=Elixir&color=007ec6" alt="Elixir"> </a> <a href="https://pypi.org/project/kreuzberg/"> <img src="https://img.shields.io/pypi/v/kreuzberg?label=Python&color=007ec6" alt="Python"> </a> <a href="https://www.npmjs.com/package/@kreuzberg/node"> <img src="https://img.shields.io/npm/v/@kreuzberg/node?label=Node.js&color=007ec6" alt="Node.js"> </a> <a href="https://www.npmjs.com/package/@kreuzberg/wasm"> <img src="https://img.shields.io/npm/v/@kreuzberg/wasm?label=WASM&color=007ec6" alt="WASM"> </a> <a href="https://central.sonatype.com/artifact/dev.kreuzberg/kreuzberg"> <img src="https://img.shields.io/maven-central/v/dev.kreuzberg/kreuzberg?label=Java&color=007ec6" alt="Java"> </a> <a href="https://github.com/kreuzberg-dev/kreuzberg/releases"> <img src="https://img.shields.io/github/v/tag/kreuzberg-dev/kreuzberg?label=Go&color=007ec6&filter=v5*" alt="Go"> </a> <a href="https://www.nuget.org/packages/Kreuzberg/"> <img src="https://img.shields.io/nuget/v/Kreuzberg?label=C%23&color=007ec6" alt="C#"> </a> <a href="https://packagist.org/packages/kreuzberg/kreuzberg"> <img src="https://img.shields.io/packagist/v/kreuzberg/kreuzberg?label=PHP&color=007ec6" alt="PHP"> </a> <a href="https://rubygems.org/gems/kreuzberg"> <img src="https://img.shields.io/gem/v/kreuzberg?label=Ruby&color=007ec6" alt="Ruby"> </a> <a href="https://kreuzberg-dev.r-universe.dev/kreuzberg"> <img src="https://img.shields.io/badge/R-kreuzberg-007ec6" alt="R"> </a> <a href="https://github.com/kreuzberg-dev/kreuzberg/pkgs/container/kreuzberg"> <img src="https://img.shields.io/badge/Docker-007ec6?logo=docker&logoColor=white" alt="Docker"> </a> <a href="https://github.com/kreuzberg-dev/kreuzberg/releases"> <img src="https://img.shields.io/badge/C-FFI-007ec6" alt="C"> </a> <a href="https://artifacthub.io/packages/search?repo=kreuzberg"> <img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/kreuzberg" alt="Artifact Hub"> </a> <!-- Project Info --> <a href="https://github.com/kreuzberg-dev/kreuzberg/blob/main/LICENSE"> <img src="https://img.shields.io/badge/License-Elastic--2.0-blue.svg" alt="License"> </a> <a href="https://docs.kreuzberg.dev"> <img src="https://img.shields.io/badge/docs-kreuzberg.dev-007ec6" alt="Documentation"> </a> <a href="https://docs.kreuzberg.dev/demo.html"> <img src="https://img.shields.io/badge/%E2%96%B6%EF%B8%8F_Live_Demo-007ec6" alt="Live Demo"> </a> <a href="https://huggingface.co/Kreuzberg"> <img src="https://img.shields.io/badge/%F0%9F%A4%97_Hugging_Face-007ec6" alt="Hugging Face"> </a> </div> <img width="3384" height="573" alt="Linkedin- Banner" src="https://github.com/user-attachments/assets/1b6c6ad7-3b6d-4171-b1c9-f2026cc9deb8" /> <div align="center" style="margin-top: 20px;"> <a href="https://discord.gg/xt9WY3GnKR"> <img height="22" src="https://img.shields.io/badge/Discord-Join%20our%20community-7289da?logo=discord&logoColor=white" alt="Discord"> </a> </div>

Extract text, metadata, and code intelligence from 91+ file formats and 306 programming languages at native speeds without needing a GPU.

Key Features

  • Code intelligence – Extract functions, classes, imports, symbols, and docstrings from 306 programming languages via tree-sitter. Results in ExtractionResult.code_intelligence with semantic chunking
  • Extensible architecture – Plugin system for custom OCR backends, validators, post-processors, document extractors, and renderers
  • Polyglot – Native bindings for Rust, Python, TypeScript/Node.js, Ruby, Go, Java, Kotlin, C#, PHP, Elixir, R, Dart, Swift, Zig, and C
  • 91+ file formats – PDF, Office documents, images, HTML, XML, emails, archives, academic formats across 8 categories
  • LLM intelligence – VLM OCR (GPT-4o, Claude, Gemini, Ollama), structured JSON extraction with schema constraints, and provider-hosted embeddings via 143 LLM providers (including local engines: Ollama, LM Studio, vLLM, llama.cpp) through liter-llm
  • OCR support – Tesseract (all bindings, including Tesseract-WASM for browsers), PaddleOCR (all native bindings), EasyOCR (Python), VLM OCR (143 vision model providers including local engines), extensible via plugin API
  • High performance – Rust core with pure-Rust PDF, SIMD optimizations and full parallelism
  • Flexible deployment – Use as library, CLI tool, REST API server, or MCP server
  • TOON wire format – Token-efficient serialization for LLM/RAG pipelines, ~30-50% fewer tokens than JSON
  • GFM-quality output – Comrak-based rendering with proper fenced code blocks, table nodes, bracket escaping, and cross-format parity (Markdown, HTML, Djot, Plain)
  • HTML passthrough – HTML-to-Markdown conversion uses html-to-markdown output directly, bypassing lossy intermediate round-trips
  • Memory efficient – Streaming parsers for multi-GB files

Complete Documentation | Live Demo | Installation Guides

Installation

Each language binding provides comprehensive documentation with examples and best practices. Choose your platform to get started:

Scripting Languages:

  • Python – PyPI package, async/sync APIs, OCR backends (Tesseract, PaddleOCR, EasyOCR)
  • Ruby – RubyGems package, idiomatic Ruby API, native bindings
  • PHP – Composer package, modern PHP 8.2+ support, type-safe API, async extraction
  • Elixir – Hex package, OTP integration, concurrent processing
  • R – r-universe package, idiomatic R API, extendr bindings
  • Dart / Flutter – pub.dev package, flutter_rust_bridge runtime, native bindings for macOS/iOS/Android/Linux/Windows

JavaScript/TypeScript:

  • @kreuzberg/node – Native NAPI-RS bindings for Node.js/Bun, fastest performance
  • @kreuzberg/wasm – WebAssembly for browsers/Deno/Cloudflare Workers, comprehensive format and OCR support (PDF, Excel, archives, all office formats, real Tesseract via the WASI build) β€” only ORT-dependent features (paddle-ocr, layout detection, embeddings, auto-rotate) and server modes (api/mcp/cli) are excluded

Compiled Languages:

  • Go – Go module with FFI bindings, context-aware async
  • Java – Maven Central, Foreign Function & Memory API
  • Kotlin – Maven Central, Kotlin/JVM with idiomatic data classes, sealed enums, and coroutine-based async
  • C# – NuGet package, .NET 6.0+, full async/await support
  • Swift – Swift Package Manager, macOS 13+/iOS 16+, native Swift types and async/await

Native:

  • Rust – Core library, flexible feature flags, zero-copy APIs
  • Zig – zig fetch + build.zig.zon, idiomatic error sets, optional types, slice-based memory
  • C (FFI) – C header + shared library, pkg-config/CMake support, cross-platform

Containers:

  • Docker – Official images with API, CLI, and MCP server modes (Core: ~1.0-1.3GB, Full: ~1.0-1.3GB with OCR + legacy format support)

Command-Line:

  • CLI – Cross-platform binary, batch processing, MCP server mode

All language bindings include precompiled binaries for both x86_64 and aarch64 architectures on Linux and macOS.

Platform Support

Complete architecture coverage across all language bindings:

LanguageLinux x86_64Linux aarch64macOS ARM64Windows x64
Pythonβœ…βœ…βœ…βœ…
Node.jsβœ…βœ…βœ…βœ…
WASMβœ…βœ…βœ…βœ…
Rubyβœ…βœ…βœ…-
Rβœ…βœ…βœ…βœ…
Elixirβœ…βœ…βœ…βœ…
Goβœ…βœ…βœ…βœ…
Javaβœ…βœ…βœ…βœ…
Kotlinβœ…βœ…βœ…βœ…
C#βœ…βœ…βœ…βœ…
PHPβœ…βœ…βœ…βœ…
Swift--βœ…-
Dartβœ…βœ…βœ…βœ…
Zigβœ…βœ…βœ…βœ…
Rustβœ…βœ…βœ…βœ…
C (FFI)βœ…βœ…βœ…βœ…
CLIβœ…βœ…βœ…βœ…
Dockerβœ…βœ…βœ…-

Note: βœ… = Precompiled binaries available with instant installation. WASM runs in any environment with WebAssembly support (browsers, Deno, Bun, Cloudflare Workers). All platforms are tested in CI. MacOS support is Apple Silicon only.

Mobile (iOS, Android)

TargetORT-dependent features*
iOS (aarch64-apple-ios, aarch64-apple-ios-sim)βœ…
Android arm64 (aarch64-linux-android)βœ…
Android x86_64 emulator (x86_64-linux-android)❌

*ORT-dependent features: PaddleOCR, layout detection, embeddings, auto-rotate. All non-ORT capabilities (Tesseract OCR, every document format, chunking, language detection, keywords, tree-sitter code intelligence, API/MCP, LLM) are available on all four mobile targets.

The x86_64-linux-android emulator triple lacks an ORT prebuilt upstream; kreuzberg's kreuzberg crate exposes an android-target aggregate feature that selects the same no-ORT feature set as WASM. The kreuzberg-ffi and kreuzberg-dart crates auto-select that aggregate for the emulator via target-conditional dependencies β€” host and arm64 phones get full features automatically.

Browsers / Edge (WebAssembly)

WASM excludes the same ORT-dependent feature set as the Android x86_64 emulator. The shared no-ORT base lives behind the no-ort-target feature in the core crate; both wasm-target and android-target compose it.

Embeddings Support (Optional)

To use embeddings functionality:

  1. Install ONNX Runtime 1.24+:

  2. Use embeddings in your code - see Embeddings Guide

Note: Kreuzberg requires ONNX Runtime version 1.24+ for embeddings. All other Kreuzberg features work without ONNX Runtime.

Supported Formats

91+ file formats across 8 major categories with intelligent format detection and comprehensive metadata extraction.

Office Documents

CategoryFormatsCapabilities
Word Processing.docx, .docm, .dotx, .dotm, .dot, .odt, .pagesFull text, tables, lists, images, metadata, styles
Spreadsheets.xlsx, .xlsm, .xlsb, .xls, .xla, .xlam, .xltm, .xltx, .xlt, .ods, .numbersSheet data, formulas, cell metadata, charts
Presentations.pptx, .pptm, .ppsx, .potx, .potm, .pot, .keySlides, speaker notes, images, metadata
PDF.pdfText, tables, images, metadata, OCR support
eBooks.epub, .fb2Chapters, metadata, embedded resources
Database.dbfTable data extraction, field type support
Hangul.hwp, .hwpxKorean document format, text extraction

Images (OCR-Enabled)

CategoryFormatsFeatures
Raster.png, .jpg, .jpeg, .gif, .webp, .bmp, .tiff, .tifOCR, table detection, EXIF metadata, dimensions, color space
Advanced.jp2, .jpx, .jpm, .mj2, .jbig2, .jb2, .pnm, .pbm, .pgm, .ppmPure Rust decoders (JPEG 2000, JBIG2), OCR, table detection
Vector.svgDOM parsing, embedded text, graphics metadata

Web & Data

CategoryFormatsFeatures
Markup.html, .htm, .xhtml, .xml, .svgDOM parsing, metadata (Open Graph, Twitter Card), link extraction
Structured Data.json, .yaml, .yml, .toml, .csv, .tsvSchema detection, nested structures, validation
Text & Markdown.txt, .md, .markdown, .djot, .mdx, .rst, .org, .rtfCommonMark, GFM, Djot, MDX, reStructuredText, Org Mode, Rich Text

Email & Archives

CategoryFormatsFeatures
Email.eml, .msgHeaders, body (HTML/plain), attachments, UTF-16 support
Archives.zip, .tar, .tgz, .gz, .7zRecursive extraction, nested archives, metadata

Academic & Scientific

CategoryFormatsFeatures
Citations.bib, .ris, .nbib, .enw, .cslBibTeX/BibLaTeX, RIS, PubMed/MEDLINE, EndNote XML, CSL JSON
Scientific.tex, .latex, .typ, .typst, .jats, .ipynbLaTeX, Typst, JATS journal articles, Jupyter notebooks
Publishing.fb2, .docbook, .dbk, .opmlFictionBook, DocBook XML, OPML outlines
Documentation.pod, .mdoc, .troffPerl POD, man pages, troff

Complete Format Reference β†’

Code Intelligence (306 Languages)

FeatureDescription
Structure ExtractionFunctions, classes, methods, structs, interfaces, enums
Import/Export AnalysisModule dependencies, re-exports, wildcard imports
Symbol ExtractionVariables, constants, type aliases, properties
Docstring ParsingGoogle, NumPy, Sphinx, JSDoc, RustDoc, and 10+ formats
DiagnosticsParse errors with line/column positions
Syntax-Aware ChunkingSplit code by semantic boundaries, not arbitrary byte offsets

Powered by tree-sitter-language-pack with dynamic grammar download. See TSLP documentation for the full language list.

Key Features

<details> <summary><strong>OCR with Table Extraction</strong></summary>

Multiple OCR backends (Tesseract, EasyOCR, PaddleOCR) with intelligent table detection and reconstruction. Extract structured data from scanned documents and images with configurable accuracy thresholds.

OCR Backend Documentation β†’

</details> <details> <summary><strong>Batch Processing</strong></summary>

Process multiple documents concurrently with configurable parallelism. Optimize throughput for large-scale document processing workloads with automatic resource management.

Batch Processing Guide β†’

</details> <details> <summary><strong>Password-Protected PDFs</strong></summary>

Handle encrypted PDFs with single or multiple password attempts. Supports both RC4 and AES encryption with automatic fallback strategies.

PDF Configuration β†’

</details> <details> <summary><strong>Language Detection</strong></summary>

Automatic language detection in extracted text using fast-langdetect. Configure confidence thresholds and access per-language statistics.

Language Detection Guide β†’

</details> <details> <summary><strong>Metadata Extraction</strong></summary>

Extract comprehensive metadata from all supported formats: authors, titles, creation dates, page counts, EXIF data, and format-specific properties.

Metadata Guide β†’

</details>

AI Coding Assistants

Kreuzberg ships with an Agent Skill that teaches AI coding assistants how to use the library correctly. It works with Claude Code, Codex, Gemini CLI, Cursor, VS Code, Amp, Goose, Roo Code, and any tool supporting the Agent Skills standard.

Install the skill into any project using the Vercel Skills CLI:

npx skills add kreuzberg-dev/kreuzberg

The skill is located at skills/kreuzberg/SKILL.md and is automatically discovered by supported AI coding tools once installed.

Documentation

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Part of Kreuzberg.dev

  • Kreuzberg Cloud β€” managed extraction API with SDKs, dashboards, and observability.
  • kreuzcrawl β€” web crawling and scraping with HTMLβ†’Markdown and headless-Chrome fallback.
  • html-to-markdown β€” fast, lossless HTMLβ†’Markdown engine.
  • liter-llm β€” universal LLM API client with native bindings for 14 languages and 143 providers.
  • tree-sitter-language-pack β€” tree-sitter grammars and code-intelligence primitives.
  • alef β€” the polyglot binding generator that produces all per-language bindings.
  • Discord β€” community, roadmap, announcements.

License

Elastic License 2.0 (ELv2) - see LICENSE for details. See https://www.elastic.co/licensing/elastic-license for the full license text.

Global Ranking

8.5
Trust ScoreMCPHub Index

Based on codebase health & activity.

Manual Config

{ "mcpServers": { "kreuzberg-dev-kreuzberg": { "command": "npx", "args": ["kreuzberg-dev-kreuzberg"] } } }