Document navigation,
for AI Agents.

The lightweight, layout-aware document parser for AI agents. Turn messy PDFs, DOCX, PPTX, and URLs into a clean, queryable tree of sections. Let your LLM pull only the data they need, preserving complex tables and citations while saving >90% tokens.

Add to your agent
docslicerMCP server
HSBC_Annual_Report_And_Accounts_2025.pdfPDF

docslicer

PDF · DOCX · PPTX · HTMLMulti-Format
~32 pages/secSingle-thread · CPU Only
630 KB installNo ML models · runs anywhere
Open SourceAGPL-3.0
[1]Install

Install the Python library or MCP server

Library
Python library
MCP server
Claude Code
Claude Desktop & CoworkDownload .mcpb
Everything elseMCP config & paths
[2]Developer quick start

One parse call.
Agents, RAG, and data pipelines.

Go from a 400-page PDF to agent-ready Python objects in three lines.
No API keys, no gigabytes of model weights — just queryable data.

docslicer-mcp
# Installed as an MCP server, docslicer exposes five tools.
# Your agent calls them directly — no Python, no glue code.

parse(source, password=None, refresh=False)
# Local path or http(s) URL — format detected automatically.
# → doc_id, title, pages, document_tokens, and the outline:
#
#   - Highlights                        ~2k
#   - Financial Summary                 ~48k
#     - Income statement commentary     ~12k
#       - Net interest income           ~3k
#
# Every line carries what reading it would cost, subsections included,
# so the agent budgets context before spending it. Short documents skip
# the outline and come back as full text.

search(doc_id, query, limit=8)
# For when the outline is not enough — a heading that names nothing
# ("Note 14"), or a figure buried in a table no heading mentions.
# → hits: heading, snippet, read_tokens. Places to read, not answers.

read(doc_id, headings)
# → text, tokens_returned
# Headings exactly as the outline prints them; a heading carries its
# subsections. "Notes > Revenue" picks one when the name repeats.
# [Page X] markers stay inline, numbered as the document numbers them.

get_outline(doc_id)
# The outline again, once it has scrolled out of context. Cheap.

to_markdown(source | doc_id, output_path=None)
# Writes the whole document to disk and returns output_path, never the
# text — so document size never touches the agent's context.
docslicer-mcp
# Installed as an MCP server, docslicer exposes five tools.
# Your agent calls them directly — no Python, no glue code.

parse(source, password=None, refresh=False)
# Local path or http(s) URL — format detected automatically.
# → doc_id, title, pages, document_tokens, and the outline:
#
#   - Highlights                        ~2k
#   - Financial Summary                 ~48k
#     - Income statement commentary     ~12k
#       - Net interest income           ~3k
#
# Every line carries what reading it would cost, subsections included,
# so the agent budgets context before spending it. Short documents skip
# the outline and come back as full text.

search(doc_id, query, limit=8)
# For when the outline is not enough — a heading that names nothing
# ("Note 14"), or a figure buried in a table no heading mentions.
# → hits: heading, snippet, read_tokens. Places to read, not answers.

read(doc_id, headings)
# → text, tokens_returned
# Headings exactly as the outline prints them; a heading carries its
# subsections. "Notes > Revenue" picks one when the name repeats.
# [Page X] markers stay inline, numbered as the document numbers them.

get_outline(doc_id)
# The outline again, once it has scrolled out of context. Cheap.

to_markdown(source | doc_id, output_path=None)
# Writes the whole document to disk and returns output_path, never the
# text — so document size never touches the agent's context.
[3]Features

Layout-aware parsing
that understands the page.

DocSlicer reconstructs the document structure - so your LLM sees clean,
faithful content instead of scrambled text.

PART I
Item 1. Business
Products
iPhone
Mac
iPad
PART I
Item 1. Business
Products
iPhone
Mac
iPad

Heading hierarchy

Every heading is detected and reconstructed into a navigable outline tree — so an agent can jump straight to the section it needs instead of scanning the whole document.

123456

Reading order

Multi-column layouts, figures, and footnotes are untangled into the exact sequence a human would read — no scrambled text bleeding across columns.

Net interest incomecolspan = 3Year endedQuarter endedDec 25Dec 24Dec 23Dec 25Sep 25Dec 24Interest income97,872108,631100,86824,50324,36126,004Interest expense(63,078)(75,898)(65,072)(15,307)(15,584)(17,819)Net interest income34,79432,73335,7969,1968,7778,185

Tables

Table structure is recovered cell-by-cell, preserving the row- and column-spans that flat text extraction silently throws away.

[4]Benchmarks

The only parser that combines
speed and accuracy.

BizDocBench scores parsers on six axes, across PDF, DOCX, PPTX and HTML. DocSlicer is the only tool that is well-suited for agentic harnesses, combining fast parsing, with accuracy and support for multiple document types

docslicerAll formatsPDF only
fast and accurate0.51251020501000.40.50.60.70.80.9aggregate pages / sec (log)bizdocbench scoredocslicer0.88 · 31.3 p/sdocling0.70 · 3.5 p/smarkitdown0.58 · 27.4 p/sunstructured0.58 · 0.5 p/sopendataloader0.54 · 117.3 p/spymupdf4llm0.45 · 11.8 p/smineru0.41 · 0.7 p/smarker0.37 · 0.9 p/s
vs docling
10× faster
Document Hierarchy Accuracy
>85%
Table Accuracy
>80%
RAG Performace
Best in Class
Reproduce this run
Full results8 tools · 6 axes
ToolScoreCoveragen=77Speedn=parsedHierarchyn=9Faithfuln=9Tablesn=12Retrievaln=19Parsed
docslicer0.881.000.880.850.980.800.7677/77
docling0.701.000.380.490.890.750.7177/77
markitdown0.581.000.850.060.800.260.5477/77
unstructured0.580.910.110.430.910.480.6470/77
opendataloader0.540.581.000.390.650.270.3345/77
pymupdf4llm0.450.600.650.110.650.360.3646/77
mineru0.410.600.140.420.620.300.3946/77
marker0.370.600.160.190.610.300.3846/77

77 business documents · Apple M4 Max, 16 cores, 64 GB · every tool at its official defaults, versions pinned · score is the mean of the six axes, each macro-averaged over its documents · speed is a log-scaled throughput score over the documents a tool parsed · a failed or assisted parse scores 0 on every axis

[5]Get started

One parser.
Every document.
Zero wasted tokens.

DocSlicer is free and open source under AGPL-3.0. Using it in a closed-source product? Reach out about a commercial license.