mdfi.ai
Pre-release · evaluating first deployments

Your documents never leave your network.

mdfi turns anything — PDF, Word, PowerPoint, Excel, email, images, audio, web pages — into clean structured markdown for LLMs and RAG pipelines. It runs entirely inside your own infrastructure.

In its default configuration, mdfi sends nothing to a third party. No document, no page image, no fragment of text leaves your machine. Model weights download once, on first run; your documents never do.

Your infrastructure · docker compose up

Anything in

  • PDF · scans
  • DOCX · PPTX · XLSX
  • Email (.eml)
  • Images · audio
  • HTML · URLs · code

mdfi

  • Local parsing engines
  • Quality score 0–100
  • Tiered escalation
  • REST API · job queue
  • Per-user isolation

Structured out

  • Markdown + frontmatter
  • RAG chunks + headings
  • Extracted fields
  • Quality report
  • MCP tools for agents

Everything above runs locally. Nothing crosses this boundary.

This line is dashed because you decide whether it exists. The optional vision tier and field extraction are the only steps that send your documents anywhere, and both are off by default. Point them at your own GPU (vLLM, Ollama, LM Studio) and this line disappears entirely — configuration, not code. Point them at Mistral and it stays under EU jurisdiction. Separately, a first run downloads model weights from the public model hubs; that is software, not your data, and the status table below states exactly what is and is not covered.

Why this, why now

Every serious document-parsing service in 2026 — Reducto, LlamaParse, Mistral, LandingAI, Azure Document Intelligence, AWS Textract — is a hosted API. Using one means your documents leave your perimeter.

For a growing set of European organisations, that is no longer a trade-off they are allowed to make.

2 Aug 2026
The EU AI Act becomes broadly applicable. Non-compliance carries penalties up to €35M or 7% of global turnover.1
NIS2
Now in full effect, with 24-hour incident reporting obligations across essential and important entities.1
EDPB
Guidance identifies on-premise inference as the strongest available data-protection mitigation for LLM processing.2
CLOUD Act
Jurisdiction follows the corporate parent, not the data centre. An "EU region" on a US provider does not resolve this.3
Spend
Gartner projects $80B in sovereign cloud infrastructure spending in 2026, up 35.6% year on year.4

What it does

Not just conversion. mdfi scores the quality of its own output and escalates hard documents to stronger processing, so you spend heavy compute only where it is actually needed.

Universal input

Documents, Office formats, email archives, images, audio transcription, web pages and source code — one pipeline, one output shape.

Knows when it failed

Every conversion returns a 0–100 score. Crucially it detects parses that look like valid markdown but are not — truncated tables, unclosed fences, a model that degenerated into filler — and tells you which, in words. A silent bad parse is the expensive failure in a RAG pipeline.

Tiered escalation

Fast local parsing first. Only documents that score below your threshold escalate to heavier processing. Predictable cost, no blanket VLM spend.

Built for pipelines

REST API with async jobs, batch submission, webhooks, Redis persistence and S3 archival. API-key auth with per-user isolation and usage records.

RAG-ready output

Heading-aware overlapping chunks with breadcrumb metadata and character offsets, ready for direct vector-database ingestion.

Agent-native

Ships an MCP server, so Claude and other LLM clients can convert documents directly — still without anything leaving your network.

Bring your own model

The model tier is a swappable interface, not a hard-wired vendor. Point it at inference on your own hardware, at an EU-jurisdiction provider, or at a hosted API — your compliance posture, your call.

Status, honestly

This is working software, not a waitlist page — but it is pre-release, and you should know exactly what exists before you spend time on it.

Capability Today Detail
Local conversion, all formats Shipping 427 automated tests, failure paths included
Zero outbound calls by default Shipping Default tier performs no external requests
REST API, jobs, batches, webhooks Shipping Docker Compose stack, non-root containers
Quality scoring and chunking Shipping 0–100 score, heading-aware RAG chunks
Failed-conversion detection Shipping Catches truncated tables, unclosed fences, degenerate model output
Vision tier on your own hardware Shipping vLLM, Ollama, LM Studio, llama.cpp — page images never leave the host
Vision tier under EU jurisdiction Shipping Mistral, via the same adapter — no CLOUD Act exposure
Scanned PDFs on your own hardware Shipping Pages rendered locally, then read by your local model
Field extraction from schemas Shipping Runs on whichever model you configured; a hosted API if you configure none
Air-gapped installer In progress Model weights pre-bundled, no download at runtime
Immutable audit log Planned Per-conversion record of who, what, when, which engine
SOC 2 / ISO 27001 Not held No certification claimed

Who this is for

Teams in legal, healthcare, insurance, financial services and the public sector who need to put documents into an LLM pipeline and cannot send those documents to a third-party API.

If your current answer is "we built something with PyPDF and it mangles tables", or "we would use a parsing API but legal said no", this is aimed squarely at you.

Tell us what you are actually dealing with

We are talking to a small number of teams before the first release, to make sure the air-gapped build solves the real problem rather than the imagined one. If document processing inside your own perimeter is a live constraint for you, we would like thirty minutes of your time.

No demo script and no pitch — the useful conversation is about your constraint, your volumes, and what your security review would ask for.

Document types and rough monthly volume, if you know it.
Regulation, a customer contract, an internal policy — whatever applies.

We use what you send only to reply to you. No newsletter, no CRM, no analytics, no third party in the loop — the form posts to this domain. Ask us to delete it and we will, the same day.

Prefer to read code first? The repository opens shortly under Apache-2.0. Ask and we will send it early.