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.27.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.27.0
File Size Uploaded
docling_rs_mcp-2.27.0.tar.gz 3.8 kB Details

Built distribution (wheel)

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

Total release size: 7.3 kB

Release files / docling_rs_mcp-2.27.0.tar.gz

Download URL docling_rs_mcp-2.27.0.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c53568e52c24040d680fd214638b24ddde182d1060d9f49324995be67bd1f1eb
BLAKE2b-256 checksum
How to use checksums
3790413ea2b35d82aacd3fabd77c3bc6a75c83aa9a0a01183a71ab208d96277c
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.27.0-py3-none-any.whl

Download URL docling_rs_mcp-2.27.0-py3-none-any.whl
Size 3.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8e469dcb46aee4e151f7e4f29c73d1aa9e5397ba4feac73e8d6c54f5b3a3906
BLAKE2b-256 checksum
How to use checksums
dddd36b01026de94dd1f7666451555254f196c3e75d2cd2293086422b33986b5
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

This release

2.27.0 This release

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