Docling by pagespool
Server Details
Hosted Docling: convert PDF, Office files and images to Markdown and JSON, with OCR and tables.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools are an unambiguous submit/poll pair: `convert_document` starts a job and returns a `task_id`, while `get_conversion` only inspects an existing job. The descriptions explicitly cross-reference each other, so an agent cannot reasonably confuse them.
Both names follow a consistent verb_noun snake_case pattern (`convert_document`, `get_conversion`). The verbs are accurate and non-overlapping.
Two tools is thin by the usual 3-15 guideline, but the asynchronous conversion pattern genuinely requires exactly a submit and a status/result fetch, so each tool earns its place. Nothing feels padded or missing at the tool level.
The core lifecycle (submit, poll, retrieve markdown or result_url) is fully covered, including failure reporting. Minor gaps exist around lifecycle management: no cancel/delete, no list of past conversions, and no synchronous shortcut for small files, but agents can work around these.
Available Tools
2 toolsconvert_documentConvert a document to Markdown with DoclingAInspect
Convert a document up to 25 MB and 200 pages to Markdown with Docling: OCR, tables, headings and reading order.
Pass the file as base64 in content_base64, or as a download link in
file, and its name in filename. Returns task_id and task_status.
Call get_conversion with the task_id until task_status is success
or failure; a long PDF can take several minutes.
Costs 1 credit per PDF page converted (2 with force_ocr) and 10 credits
per other file, refunded if the conversion fails. Requires an API key.
The file is deleted when the conversion ends; the result is kept for
7 days.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | The file as a download link, instead of `content_base64`. In ChatGPT, pass the user's uploaded file here. Other clients can set `download_url` to a public https URL. | |
| filename | Yes | The file name with its extension, such as report.pdf. Docling reads PDF, Word, PowerPoint, Excel, HTML, Markdown, CSV and images. | |
| force_ocr | No | Replace a PDF's text layer with OCR text. Doubles the price of a PDF. | |
| page_range | No | Optional. [first, last] pages to convert, 1-based. | |
| content_base64 | No | The file content, base64-encoded. Up to 25 MB before encoding. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (which only say it is non-read-only, open-world, non-idempotent) by disclosing cost (1 credit per PDF page, 2 with force_ocr, 10 for other files), refund-on-failure, API-key requirement, file deletion after conversion, 7-day result retention, and the 25 MB / 200 page limits. These are exactly the operational facts an agent needs before spending credits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and limits, then input form, then the follow-up polling instruction, then cost and lifecycle. Dense and well-organized, with only minor duplication of the schema's base64/download-link wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the async workflow, cost, limits, auth, and data lifecycle, which is everything an agent needs to invoke it correctly and know when to hand off to get_conversion. An output schema exists, so return-value detail is properly left out.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter is already documented, including the mutual exclusivity of `file` and `content_base64`. The description restates that either/or choice and the need for `filename`, but adds no format or syntax detail for `page_range` or `force_ocr` beyond the price note. Baseline 3 is appropriate where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Convert a document ... to Markdown with Docling') plus the feature scope (OCR, tables, headings, reading order) and hard limits. It is unmistakably distinct from the sibling get_conversion, which only polls status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes the two input paths ('Pass the file as base64 in `content_base64`, or as a download link in `file`') and then routes the agent onward: 'Call `get_conversion` with the `task_id` until `task_status` is `success` or `failure`'. It also warns that a long PDF can take several minutes, so the agent knows not to treat slowness as failure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_conversionCheck a Docling conversionARead-onlyInspect
Check a conversion you started with convert_document.
Returns task_id and task_status (pending, started, success or
failure). On success it includes the markdown when it is under
100 KB, otherwise a result_url to download the full result with your
API key (free). On failure it includes error, one sentence with the
reason. Results are deleted 7 days after submission. Requires an API key.
Credits: free. This tool is not metered.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | The task_id returned by convert_document. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond them by enumerating the task_status values, explaining the 100 KB threshold that switches the response from inline `markdown` to a `result_url`, describing the `error` shape on failure, and stating the 7-day deletion window. It also discloses auth ('Requires an API key') and cost ('free, not metered'), which are exactly the operational facts an agent needs and which no annotation conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first clause identifies the tool's role, then it front-loads the returned fields before the conditionals (markdown vs result_url, failure error). Every sentence carries a distinct operational fact — statuses, size cap, retention, auth, credits — with no restatement of the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter status-check tool this covers the full lifecycle concerns: what comes back in each status, how large results are delivered, how errors surface, how long results survive, and the auth/cost model. Even though an output schema exists, the size-based branching and retention policy are behavioral facts worth stating and they are stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single `task_id` parameter is already documented as coming from `convert_document`, so the description adds no syntax or format detail beyond the schema. With one fully-documented parameter and an output schema present, the baseline 3 is the correct ceiling for added value here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Check a conversion') and anchors it to the sibling tool that produces the input ('you started with `convert_document`'). An agent can tell immediately this is the status-polling counterpart to conversion submission, not a converter itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes the workflow context by tying the tool to a prior `convert_document` call, which implies the polling pattern, and it discloses practical constraints (7-day retention, free/not metered, API key needed). It stops short of explicit guidance on polling cadence or when to stop retrying versus re-submitting after a `failure`, so it is clear context but not full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
convert_document - First observed
get_conversion
Related MCP Connectors
Convert PDF, Word, Excel and scanned documents to Markdown, tables and RAG chunks. OCR.
Document-to-Markdown MCP server — convert PDF, Office and HTML into LLM-ready Markdown.
Document conversion MCP server: PDF to Markdown, image OCR, spreadsheet parsing.
Hosted MarkItDown: convert Word, PowerPoint, Excel, HTML and the text of PDFs to Markdown.
11
Related MCP Servers
- AlicenseAqualityAmaintenanceConverts documents to clean Markdown for AI agents from a URL or base64 — no API key, built for remote hosting. Supports PDF (tables preserved as Markdown/CSV/JSON), DOCX, PPTX, XLSX, EPUB, HTML and CSV; scanned PDFs and images go through offline OCR. Includes full-text search, page-range reading, metadata inspection, PDF split/merge and image export, with SSRF-protected fetching, 30 MB limits and10AGPL 3.0

Docling-rs MCPofficial
AlicenseAqualityAmaintenanceIt converts documents to Markdown or docling JSON for AI agents. That covers PDFs with layout analysis, table structure and OCR, plus DOCX, PPTX, XLSX, HTML, EPUB, e-mail, images and audio. It serves MarkItDown's "convert_to_markdown" tool under the same name and contract, along with "convert" and "list_input_formats".183121MIT- AlicenseAqualityDmaintenanceMCP server wrapping Docling to give text-only LLMs document vision via tools for converting PDFs, images, and Office files to Markdown, extracting tables, OCR, and RAG chunking.41MIT
- AlicenseNot gradedqualityBmaintenanceThis service allows users to convert various file types (such as PDF, DOCX, and images) and web URLs into Markdown format. It functions as a local interface to a hosted document-to-Markdown conversion API.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.