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.30.1

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.30.1
File Size Uploaded
docling_rs_mcp-2.30.1.tar.gz 3.8 kB Details

Built distribution (wheel)

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

Total release size: 7.3 kB

Release files / docling_rs_mcp-2.30.1.tar.gz

Download URL docling_rs_mcp-2.30.1.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5ff903a43f76a24a3ec30a7989c56be1a1a2892979bf555e46ddbc9f2a348503
BLAKE2b-256 checksum
How to use checksums
dbd4d9b48d8f9d7231f860f69a0dcd5ae01c3bbe44164e1d5d98d6ad2d3207a8
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 15, 2026.

Transparency log

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

Download URL docling_rs_mcp-2.30.1-py3-none-any.whl
Size 3.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b5819ddc5c0257f6f61d03f63f210000ad0f95bc64486d7d6542defdcdd9df0e
BLAKE2b-256 checksum
How to use checksums
1f09fd8c27abd6e2b087509daa2ff358c1318abd616226d7f297f9020753eb0f
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 15, 2026.

Transparency log

Release history Release notifications | RSS feed

2.35.0

2 release files

2.34.0

2 release files

This release

2.30.1 This release

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