Skip to main content

docling-rs-mcp

A Model Context Protocol server that converts documents to Markdown for AI agents — PDF with layout analysis, table structure and OCR, DOCX, PPTX, XLSX, HTML, EPUB, e-mail, scans and 40-odd other formats. It is docling.rs, a Rust port of IBM's docling, and it serves MarkItDown's convert_to_markdown(uri) tool under the same name and contract: a markitdown-mcp setup switches by changing the command.

uvx docling-rs-mcp --root ~/Documents

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "docling": { "command": "uvx", "args": ["docling-rs-mcp", "--root", "/Users/me/Documents"] }
  }
}

Claude Code: claude mcp add docling -- uvx docling-rs-mcp --root ~/Documents.

Tools

Tool Returns
convert_to_markdown(uri) Markdown of the document behind an http:/https:/file:/data: URI or a path
convert(uri, to?, images?, options?) md, json (docling's DoclingDocument), html, text, latex, chunks, vtt or pandoc, with docling.rs's conversion options — {"pages": "1-5"}, {"ocr_lang": "ch"}, {"password": "…"}, …
list_input_formats() the extensions the server converts

PDF models

Office, HTML, Markdown and e-mail need no models. PDFs and images use ONNX models for layout, tables and OCR (~720 MB). Fetch them once:

uvx docling-rs-mcp --download-models

They land in the docling.rs cache ($DOCLING_RS_CACHE_DIR, else ~/.cache/docling.rs) and the server finds them from then on; --download-models=all adds the code/formula enrichment models (~740 MB more). Until then PDFs convert from their text layer, as MarkItDown's do.

macOS: PyPI has no macOS wheel of docling-rs yet, so uv builds it from source on first use — install a Rust toolchain (rustup) and run the --download-models line in a terminal once; the build is cached, and an MCP client then starts the server without waiting for it.

What a call may reach

Local paths and file: URIs are confined to --root (repeatable; the working directory by default, except in /, where it is required). http(s) URLs are fetched only with --allow-url-fetch, and private or loopback addresses stay blocked. --http serves Streamable HTTP on 127.0.0.1:3001 instead of stdio. --help lists every flag; the security model is in docs/SECURITY.md.

The same server ships in the docling-rs binary (docling-rs mcp) and the ghcr.io/docling-project/docling-rs image, models included; with the docling-rs Python package installed it is also python -m docling_rs.mcp. On NVIDIA GPUs, uv run --with docling-rs-cuda python -m docling_rs.mcp.

MIT licensed.

Metadata

Release files for docling-rs-mcp 2.34.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docling-rs-mcp 2.34.0
File Size Uploaded
docling_rs_mcp-2.34.0.tar.gz 3.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for docling-rs-mcp 2.34.0
File Interpreter ABI Platform
docling_rs_mcp-2.34.0-py3-none-any.whl Python 3 none any Details

Total release size: 7.3 kB

Release files / docling_rs_mcp-2.34.0.tar.gz

Download URL docling_rs_mcp-2.34.0.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5e3adcfc08fd00fb72d18b52d385e4d959f9339d63a71d06c5219321ff133d10
BLAKE2b-256 checksum
How to use checksums
ea51b5230e30722bf85edd42a79a5d9c4ec4fc1b358fd9680c773f680cffc44e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / docling_rs_mcp-2.34.0-py3-none-any.whl

Download URL docling_rs_mcp-2.34.0-py3-none-any.whl
Size 3.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5ebae311d4cac837794eedbb9316d1c07025df56413497dcbd6cf9e38f43baad
BLAKE2b-256 checksum
How to use checksums
7a8b585d314c27840178400124d3f357dc58f7111e6ab6748d4584d74f2c5bc6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

2.35.0

2 release files

This release

2.34.0 This release

2 release files

2.30.1

2 release files

2.27.0

2 release files

2.24.0

2 release files

2.22.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page