GraphCanon updated 3d · GitHub synced 3d · 30 views this month
Decision brief
xberg is a polyglot document intelligence framework with a Rust core, offering text and metadata extraction across various formats including PDFs, Office documents, and more than 97 other file types. It supports multiple
Good fit when
- You need to extract not only text but also structured information such as images, tables from over 100 file formats
- Your application requires integration across multiple languages including Rust, Python, Ruby, Java, Go, PHP, Elixir, C#, R, C, and TypeScript through various deployment modes (CLI, REST API server, or
Avoid when
- You need a solution with lower resource requirements as xberg supports extensive formats and functionalities which might be overkill for simpler tasks
- Your primary use case involves real-time document processing where latency is critical. Given the breadth of its capabilities, xberg might introduce higher processing overhead compared to more focused
- Pricing:
- freemium - Open-source MIT license; enterprise support is available.
- Requirements:
- xberg offers flexible deployment modes including CLI, REST API server, Docker container, and MCP integration
Observed Jul 10, 2026 · Source: enrich:decision_facts
Verify the decision
Maintenance and security
Full trust report- Maintenance
- Very active (1d since push)
- As of 3d
- Provenance
- Not a fork · Organization account
- As of 3d
- Security (OSV)
- 1 medium (1 medium)
- As of 1mo
Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.
Install
cargo add xberg crates.ioHow it fits your stack(8)
Typed graph edges - alternatives, integrations, successors, and dependencies. Ranked by relationship type, not raw GitHub stars.
Alternative
Integrates
Relationship graph
Optional deeper exploration of typed edges and category neighbours.
Similar tools
Same-category neighbours not already linked as typed edges.
Evidence and technical details
Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.
Overview
Extracts text, metadata, images, and structured information from various formats including PDFs, Office documents, and images. Available in multiple languages and deployment modes (CLI, REST API, MCP server).
Capability facts
- MCP server
- No MCP server detected
Source: repo_scan · Aug 18, 2026
- Languages
- rust, javascript, typescript, python
Source: github.language+package.json+pyproject.toml · Aug 18, 2026
Categories
Graph entities
Compatibility
Sourced claims from the README excerpt - not unsourced marketing copy.
Source: README excerpt (regex_v1, Aug 18, 2026)
xberg mcp --transport stdioSource link
Source: README excerpt (regex_v1, Aug 18, 2026)
Add to Claude Desktop or Cursor:Source link
Source: README excerpt (regex_v1, Aug 18, 2026)
Add to Claude Desktop or Cursor:Source link
Tags
README
CLI & Deployment
CLI Tool
brew install xberg-io/tap/xberg
12 commands: extract, batch, detect, formats, version, cache (stats/clear/manifest/warm), serve, mcp, api, embed, chunk, completions.
See CLI usage guide for detailed documentation.
Docker
docker pull ghcr.io/xberg-io/xberg:latest
Run in API, CLI, or MCP modes. See Docker guide for examples.
REST API Server
xberg serve --host 0.0.0.0 --port 8000
One POST endpoint handles all formats. Returns JSON or Markdown. Stream large files. See API server guide.
MCP Server
xberg mcp --transport stdio
9 tools (extract, extract_batch, detect_mime_type, cache_stats, list_formats, cache_clear, get_version, cache_manifest, cache_warm). 3 prompts (extract_document, extract_with_ocr, semantic_search). 4 resources (formats, models, OCR languages, embedding presets).
Add to Claude Desktop or Cursor:
{
"mcpServers": {
"xberg": { "command": "xberg", "args": ["mcp"] }
}
}
Quick Start
Extract text from a document:
use xberg::{extract, ExtractInput, ExtractionConfig};
#[tokio::main]
async fn main() -> xberg::Result<()> {
let config = ExtractionConfig::default();
let output = extract(
ExtractInput::from_uri("document.pdf"),
&config
).await?;
println!("{}", output.results[0].content);
Ok(())
}
Common use cases — see Quick start guide for language-specific examples, OCR, batch processing, and API configuration.
Deployment Modes
| Mode | Command | Transport | Use case |
|---|---|---|---|
| Library | xberg::extract() | Async functions | Embed in your application |
| CLI | xberg extract document.pdf | 12 commands | Scripts, batch jobs, CI/CD |
| REST API | xberg serve | HTTP POST | Microservice, serverless deployment |
| MCP Server | xberg mcp | stdio or HTTP | Claude, Cursor, IDE agents |
| Docker | docker run ghcr.io/xberg-io/xberg | All modes | Container deployment |
License
MIT License (MIT) — see LICENSE for details.
For agents
This page has a .md twin and JSON over the API.