docling-rs-mcp 2.22.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,51 @@
1
+ /target
2
+
3
+ # Stray CLI conversion outputs (`docling-rs --to dclx <file>` writes next to CWD)
4
+ /*.dclx
5
+
6
+ # ONNX Runtime profiler output (written to CWD when session profiling is on)
7
+ onnxruntime_profile_*.json
8
+
9
+ # wasm-bindgen output for the docling-wasm demo (built from source, see its README)
10
+ crates/docling-wasm/www/pkg/
11
+ # ML models the scan demo fetches same-origin (download_dependencies.sh, run in www/)
12
+ crates/docling-wasm/www/models/
13
+ crates/docling-wasm/www/.models/
14
+
15
+ # Secrets — never commit (holds CARGO_REGISTRY_TOKEN)
16
+ .env
17
+ .env.*
18
+ # …but the documented template for docling-rag config is committed.
19
+ !.env.example
20
+
21
+ # Local RAG vector store (default RAG_DATABASE_URL=sqlite://data/rag.db)
22
+ /data/
23
+
24
+ # Python virtual environments (venv) — not committed, but can be created from requirements.txt
25
+ /.venv*
26
+
27
+ # Downloaded native libs / models (not committed)
28
+ .pdfium/
29
+ *.onnx
30
+ .models/
31
+
32
+ # Python bytecode cache from the comparison scripts
33
+ __pycache__/
34
+ *.pyc
35
+
36
+ # Local docling scratch dir for this migration work
37
+ /scratch-gt/
38
+
39
+ # Benchmarks for GPU (not committed, large and reproducible)
40
+ /bench-gpu/
41
+
42
+ # docling-py is a standalone crate (own workspace) — its build dirs
43
+ crates/docling-py/target/
44
+ crates/docling-py/.venv/
45
+ crates/docling-py/python/docling_rs/*.so
46
+
47
+ # docling's .dclx loader extracts each archive it reads next to the file
48
+ tests/data/**/*_artifacts/
49
+ tests/data/**/groundtruth_dclx/tests/
50
+ # docling-parse renderer plugin (#478, scripts/install/build_docling_parse_render.sh)
51
+ .docling-parse/
@@ -0,0 +1,87 @@
1
+ Metadata-Version: 2.5
2
+ Name: docling-rs-mcp
3
+ Version: 2.22.0
4
+ Summary: MCP server that converts documents to Markdown for AI agents: PDF with layout, tables and OCR, DOCX, PPTX, XLSX, HTML, scans. docling in Rust, MarkItDown's convert_to_markdown tool.
5
+ Project-URL: Homepage, https://github.com/docling-project/docling.rs
6
+ Project-URL: Repository, https://github.com/docling-project/docling.rs
7
+ Project-URL: Documentation, https://github.com/docling-project/docling.rs/blob/master/crates/docling-cli/README.md#mcp-server--docling-rs-mcp
8
+ Project-URL: Issues, https://github.com/docling-project/docling.rs/issues
9
+ License: MIT
10
+ Keywords: claude,docling,document-conversion,llm,markitdown,markitdown-mcp,mcp,mcp-server,model-context-protocol,ocr,pdf-to-markdown,rag
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Rust
16
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
17
+ Classifier: Topic :: Text Processing :: Markup :: Markdown
18
+ Requires-Python: >=3.9
19
+ Requires-Dist: docling-rs==2.22.0
20
+ Description-Content-Type: text/markdown
21
+
22
+ # docling-rs-mcp
23
+
24
+ <!-- mcp-name: io.github.docling-project/docling-rs -->
25
+
26
+ A [Model Context Protocol](https://modelcontextprotocol.io) server that
27
+ converts documents to Markdown for AI agents — PDF with layout analysis,
28
+ table structure and OCR, DOCX, PPTX, XLSX, HTML, EPUB, e-mail, scans and
29
+ 40-odd other formats. It is [docling.rs](https://github.com/docling-project/docling.rs),
30
+ a Rust port of IBM's [docling](https://github.com/docling-project/docling),
31
+ and it serves **MarkItDown's `convert_to_markdown(uri)` tool** under the same
32
+ name and contract: a `markitdown-mcp` setup switches by changing the command.
33
+
34
+ ```bash
35
+ uvx docling-rs-mcp --root ~/Documents
36
+ ```
37
+
38
+ Claude Desktop (`claude_desktop_config.json`):
39
+
40
+ ```json
41
+ {
42
+ "mcpServers": {
43
+ "docling": { "command": "uvx", "args": ["docling-rs-mcp", "--root", "/Users/me/Documents"] }
44
+ }
45
+ }
46
+ ```
47
+
48
+ Claude Code: `claude mcp add docling -- uvx docling-rs-mcp --root ~/Documents`.
49
+
50
+ ## Tools
51
+
52
+ | Tool | Returns |
53
+ |---|---|
54
+ | `convert_to_markdown(uri)` | Markdown of the document behind an `http:`/`https:`/`file:`/`data:` URI or a path |
55
+ | `convert(uri, to?, images?, options?)` | `md`, `json` (docling's `DoclingDocument`), `html`, `text`, `latex`, `chunks`, `vtt` or `pandoc`, with docling.rs's [conversion options](https://github.com/docling-project/docling.rs/blob/master/docs/OPTIONS.md) — `{"pages": "1-5"}`, `{"ocr_lang": "ch"}`, `{"password": "…"}`, … |
56
+ | `list_input_formats()` | the extensions the server converts |
57
+
58
+ ## PDF models
59
+
60
+ Office, HTML, Markdown and e-mail need no models. PDFs and images use
61
+ ONNX models for layout, tables and OCR (~720 MB). Fetch them once:
62
+
63
+ ```bash
64
+ uvx docling-rs-mcp --download-models
65
+ ```
66
+
67
+ They land in the docling.rs cache (`$DOCLING_RS_CACHE_DIR`, else
68
+ `~/.cache/docling.rs`) and the server finds them from then on;
69
+ `--download-models=all` adds the code/formula enrichment models (~740 MB
70
+ more). Until then PDFs convert from their text layer, as MarkItDown's do.
71
+
72
+ ## What a call may reach
73
+
74
+ Local paths and `file:` URIs are confined to `--root` (repeatable; the
75
+ working directory by default, except in `/`, where it is required).
76
+ `http(s)` URLs are fetched only with
77
+ `--allow-url-fetch`, and private or loopback addresses stay blocked.
78
+ `--http` serves Streamable HTTP on `127.0.0.1:3001` instead of stdio.
79
+ `--help` lists every flag; the security model is in
80
+ [docs/SECURITY.md](https://github.com/docling-project/docling.rs/blob/master/docs/SECURITY.md#docling-rs-mcp-model-context-protocol-server-669).
81
+
82
+ The same server ships in the `docling-rs` binary (`docling-rs mcp`) and the
83
+ `ghcr.io/docling-project/docling-rs` image, models included; with the
84
+ `docling-rs` Python package installed it is also `python -m docling_rs.mcp`.
85
+ On NVIDIA GPUs, `uv run --with docling-rs-cuda python -m docling_rs.mcp`.
86
+
87
+ MIT licensed.
@@ -0,0 +1,66 @@
1
+ # docling-rs-mcp
2
+
3
+ <!-- mcp-name: io.github.docling-project/docling-rs -->
4
+
5
+ A [Model Context Protocol](https://modelcontextprotocol.io) server that
6
+ converts documents to Markdown for AI agents — PDF with layout analysis,
7
+ table structure and OCR, DOCX, PPTX, XLSX, HTML, EPUB, e-mail, scans and
8
+ 40-odd other formats. It is [docling.rs](https://github.com/docling-project/docling.rs),
9
+ a Rust port of IBM's [docling](https://github.com/docling-project/docling),
10
+ and it serves **MarkItDown's `convert_to_markdown(uri)` tool** under the same
11
+ name and contract: a `markitdown-mcp` setup switches by changing the command.
12
+
13
+ ```bash
14
+ uvx docling-rs-mcp --root ~/Documents
15
+ ```
16
+
17
+ Claude Desktop (`claude_desktop_config.json`):
18
+
19
+ ```json
20
+ {
21
+ "mcpServers": {
22
+ "docling": { "command": "uvx", "args": ["docling-rs-mcp", "--root", "/Users/me/Documents"] }
23
+ }
24
+ }
25
+ ```
26
+
27
+ Claude Code: `claude mcp add docling -- uvx docling-rs-mcp --root ~/Documents`.
28
+
29
+ ## Tools
30
+
31
+ | Tool | Returns |
32
+ |---|---|
33
+ | `convert_to_markdown(uri)` | Markdown of the document behind an `http:`/`https:`/`file:`/`data:` URI or a path |
34
+ | `convert(uri, to?, images?, options?)` | `md`, `json` (docling's `DoclingDocument`), `html`, `text`, `latex`, `chunks`, `vtt` or `pandoc`, with docling.rs's [conversion options](https://github.com/docling-project/docling.rs/blob/master/docs/OPTIONS.md) — `{"pages": "1-5"}`, `{"ocr_lang": "ch"}`, `{"password": "…"}`, … |
35
+ | `list_input_formats()` | the extensions the server converts |
36
+
37
+ ## PDF models
38
+
39
+ Office, HTML, Markdown and e-mail need no models. PDFs and images use
40
+ ONNX models for layout, tables and OCR (~720 MB). Fetch them once:
41
+
42
+ ```bash
43
+ uvx docling-rs-mcp --download-models
44
+ ```
45
+
46
+ They land in the docling.rs cache (`$DOCLING_RS_CACHE_DIR`, else
47
+ `~/.cache/docling.rs`) and the server finds them from then on;
48
+ `--download-models=all` adds the code/formula enrichment models (~740 MB
49
+ more). Until then PDFs convert from their text layer, as MarkItDown's do.
50
+
51
+ ## What a call may reach
52
+
53
+ Local paths and `file:` URIs are confined to `--root` (repeatable; the
54
+ working directory by default, except in `/`, where it is required).
55
+ `http(s)` URLs are fetched only with
56
+ `--allow-url-fetch`, and private or loopback addresses stay blocked.
57
+ `--http` serves Streamable HTTP on `127.0.0.1:3001` instead of stdio.
58
+ `--help` lists every flag; the security model is in
59
+ [docs/SECURITY.md](https://github.com/docling-project/docling.rs/blob/master/docs/SECURITY.md#docling-rs-mcp-model-context-protocol-server-669).
60
+
61
+ The same server ships in the `docling-rs` binary (`docling-rs mcp`) and the
62
+ `ghcr.io/docling-project/docling-rs` image, models included; with the
63
+ `docling-rs` Python package installed it is also `python -m docling_rs.mcp`.
64
+ On NVIDIA GPUs, `uv run --with docling-rs-cuda python -m docling_rs.mcp`.
65
+
66
+ MIT licensed.
@@ -0,0 +1,44 @@
1
+ # PyPI distribution `docling-rs-mcp`: what `uvx docling-rs-mcp` installs and
2
+ # runs (#669), like MarkItDown's `markitdown-mcp`. It has no server code of
3
+ # its own — the server is `docling_rs.mcp`, the one `docling-rs mcp` runs,
4
+ # compiled into the docling-rs wheel — so this package only pins that wheel
5
+ # and names the command. pypi-publish.yml writes the release version into
6
+ # `version` and into the docling-rs pin before building; the committed
7
+ # values are placeholders (install locally with `pip install --no-deps`).
8
+ [build-system]
9
+ requires = ["hatchling>=1.24"]
10
+ build-backend = "hatchling.build"
11
+
12
+ [project]
13
+ name = "docling-rs-mcp"
14
+ version = "2.22.0"
15
+ description = "MCP server that converts documents to Markdown for AI agents: PDF with layout, tables and OCR, DOCX, PPTX, XLSX, HTML, scans. docling in Rust, MarkItDown's convert_to_markdown tool."
16
+ readme = "README.md"
17
+ license = { text = "MIT" }
18
+ requires-python = ">=3.9"
19
+ keywords = [
20
+ "mcp", "model-context-protocol", "mcp-server", "markitdown", "markitdown-mcp",
21
+ "docling", "pdf-to-markdown", "document-conversion", "ocr", "claude", "llm", "rag",
22
+ ]
23
+ classifiers = [
24
+ "Development Status :: 3 - Alpha",
25
+ "Intended Audience :: Developers",
26
+ "License :: OSI Approved :: MIT License",
27
+ "Programming Language :: Python :: 3",
28
+ "Programming Language :: Rust",
29
+ "Topic :: Text Processing :: Markup :: Markdown",
30
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
31
+ ]
32
+ dependencies = ["docling-rs==2.22.0"]
33
+
34
+ [project.scripts]
35
+ docling-rs-mcp = "docling_rs_mcp:main"
36
+
37
+ [project.urls]
38
+ Homepage = "https://github.com/docling-project/docling.rs"
39
+ Repository = "https://github.com/docling-project/docling.rs"
40
+ Documentation = "https://github.com/docling-project/docling.rs/blob/master/crates/docling-cli/README.md#mcp-server--docling-rs-mcp"
41
+ Issues = "https://github.com/docling-project/docling.rs/issues"
42
+
43
+ [tool.hatch.build.targets.wheel]
44
+ packages = ["src/docling_rs_mcp"]
@@ -0,0 +1,6 @@
1
+ """``uvx docling-rs-mcp``: the docling.rs MCP server. The server itself is
2
+ :mod:`docling_rs.mcp` in the docling-rs package; this one names the command."""
3
+
4
+ from docling_rs.mcp import main
5
+
6
+ __all__ = ["main"]
@@ -0,0 +1,3 @@
1
+ from docling_rs.mcp import main
2
+
3
+ main()