{"data":{"slug":"xberg-io-xberg","name":"xberg","tagline":"A polyglot document intelligence framework with a Rust core","github_url":"https://github.com/xberg-io/xberg","owner":"xberg-io","repo":"xberg","owner_avatar_url":"https://avatars.githubusercontent.com/u/241328462?v=4","primary_language":"Rust","stars":9128,"forks":562,"topics":["bun","csharp","document-intelligence","elixir","ffi","golang","java","metadata-extraction","node","pdf-extraction","pdfium","php","python","rag","ruby","rust","table-extraction","tesseract","text-extraction","wasm"],"archived":false,"github_pushed_at":"2026-08-16T16:00:11+00:00","maintenance_label":"Very active","stars_delta_30d":460,"url":"https://www.graphcanon.com/tools/xberg-io-xberg","markdown_url":"https://www.graphcanon.com/tools/xberg-io-xberg.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/xberg-io-xberg","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=xberg-io-xberg","description":"A polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured data from 101 formats (115 file extensions) plus code intelligence for 371 code languages. 15 language bindings — Rust, Python, Ruby, Java, Go, PHP, Elixir, C#, TypeScript — plus CLI, REST API, and MCP server.","homepage_url":"https://docs.xberg.io","license":"MIT","open_issues":13,"watchers":32,"ai_summary":"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).","readme_excerpt":"### CLI & Deployment\n\n<details>\n<summary><strong>CLI Tool</strong></summary>\n\n```sh\nbrew install xberg-io/tap/xberg\n```\n\n12 commands: `extract`, `batch`, `detect`, `formats`, `version`, `cache` (stats/clear/manifest/warm), `serve`, `mcp`, `api`, `embed`, `chunk`, `completions`.\n\nSee [CLI usage guide](https://docs.xberg.io/cli/usage/) for detailed documentation.\n\n</details>\n\n<details>\n<summary><strong>Docker</strong></summary>\n\n```sh\ndocker pull ghcr.io/xberg-io/xberg:latest\n```\n\nRun in API, CLI, or MCP modes. See [Docker guide](https://docs.xberg.io/guides/docker/) for examples.\n\n</details>\n\n<details>\n<summary><strong>REST API Server</strong></summary>\n\n```sh\nxberg serve --host 0.0.0.0 --port 8000\n```\n\nOne POST endpoint handles all formats. Returns JSON or Markdown. Stream large files. See [API server guide](https://docs.xberg.io/guides/api-server/).\n\n</details>\n\n<details>\n<summary><strong>MCP Server</strong></summary>\n\n```sh\nxberg mcp --transport stdio\n```\n\n9 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).\n\nAdd to Claude Desktop or Cursor:\n\n```json\n{\n  \"mcpServers\": {\n    \"xberg\": { \"command\": \"xberg\", \"args\": [\"mcp\"] }\n  }\n}\n```\n\nSee [MCP integration guide](https://docs.xberg.io/guides/mcp-integration/).\n\n</details>\n\n---\n\n## Quick Start\n\nExtract text from a document:\n\n```rust\nuse xberg::{extract, ExtractInput, ExtractionConfig};\n\n#[tokio::main]\nasync fn main() -> xberg::Result<()> {\n    let config = ExtractionConfig::default();\n    let output = extract(\n        ExtractInput::from_uri(\"document.pdf\"),\n        &config\n    ).await?;\n\n    println!(\"{}\", output.results[0].content);\n    Ok(())\n}\n```\n\nCommon use cases — see [Quick start guide](https://docs.xberg.io/getting-started/quickstart/) for language-specific examples, OCR, batch processing, and API configuration.\n\n---\n\n---\n\n### Deployment Modes\n\n| Mode | Command | Transport | Use case |\n|------|---------|-----------|----------|\n| **Library** | `xberg::extract()` | Async functions | Embed in your application |\n| **CLI** | `xberg extract document.pdf` | 12 commands | Scripts, batch jobs, CI/CD |\n| **REST API** | `xberg serve` | HTTP POST | Microservice, serverless deployment |\n| **MCP Server** | `xberg mcp` | stdio or HTTP | Claude, Cursor, IDE agents |\n| **Docker** | `docker run ghcr.io/xberg-io/xberg` | All modes | Container deployment |\n\n---\n\n## License\n\nMIT License (MIT) — see [LICENSE](LICENSE) for details.","github_created_at":"2025-01-31T21:50:02+00:00","created_at":"2026-07-07T17:37:22.257746+00:00","updated_at":"2026-08-18T12:01:13.385936+00:00","categories":[{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"}],"tags":[{"slug":"bun","name":"bun"},{"slug":"csharp","name":"csharp"},{"slug":"document-intelligence","name":"document-intelligence"},{"slug":"elixir","name":"elixir"},{"slug":"ffi","name":"ffi"},{"slug":"golang","name":"golang"},{"slug":"java","name":"java"},{"slug":"metadata-extraction","name":"metadata-extraction"}],"trust":{"provenance":{"is_fork":false,"github_id":925434317,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-18T12:01:12.526Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":30,"days_since_push":1,"last_release_at":"2026-08-04T20:29:02Z","stars_delta_30d":460,"open_issues_delta_30d":-5},"security_summary":{"status":"findings","scanner":"mcp_manifest@v1","low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:09:25.831Z","medium_count":1,"scan_profile":"mcp_manifest","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-08-18T12:01:12.995Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-08-18T12:01:12.995Z"},"languages":{"value":["rust","javascript","typescript","python"],"source":"github.language+package.json+pyproject.toml","observed_at":"2026-08-18T12:01:12.995Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-08-18T12:01:12.995Z"}},"decision_facts":{"hosting":null,"pricing":{"model":"freemium","summary":"Open-source MIT license; enterprise support is available."},"requirements":{"notes":["xberg offers flexible deployment modes including CLI, REST API server, Docker container, and MCP integration"]},"constraints":{"pricing_model":"freemium"},"when_to_use":["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"],"when_not_to_use":["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"],"source":"enrich:decision_facts","observed_at":"2026-07-10T18:06:44.038Z"},"constraint_facets":{"pricing_model":"freemium"},"decision_summary":[{"label":"Pricing","value":"freemium - Open-source MIT license; enterprise support is available."},{"label":"Requirements","value":"xberg offers flexible deployment modes including CLI, REST API server, Docker container, and MCP integration"},{"label":"Adopt for","value":"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"},{"label":"License detail","value":"MIT License allows for both free and commercial use with no need to disclose source code but requires attribution."}]}}