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"]
|