Docling MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOCLING_MCP_DO_OCR | No | Set to 'false' to disable the OCR pipeline. Default: true. | |
| DOCLING_MCP_KEEP_IMAGES | No | Set to 'true' to retain page images in converted documents. Default: false. | |
| DOCLING_MCP_SERVICE_URL | No | Base URL of the Docling Serve instance. Required when conversion mode is remote. | |
| DOCLING_MCP_IMAGES_SCALE | No | Image scale factor (e.g. 1.0, 2.0). Increase to avoid tensor batching errors. Default: 1.0. | |
| DOCLING_MCP_CONVERSION_MODE | No | Conversion mode: 'remote' (default) or 'local' (requires docling-mcp[local] extra). | |
| DOCLING_MCP_SERVICE_API_KEY | No | API key for authenticating with Docling Serve. | |
| DOCLING_MCP_SERVICE_TIMEOUT | No | Request timeout in seconds for the remote Docling Serve API. Default: 300.0. | |
| DOCLING_MCP_FALLBACK_TO_LOCAL | No | Set to 'true' to fall back to local conversion when Docling Serve is unreachable. | |
| DOCLING_MCP_IMAGE_EXPORT_MODE | No | Controls how images are rendered when exporting to Markdown. Accepted values: 'placeholder' (default), 'embedded' (base64 data-URI), 'referenced' (file path / URL). | |
| DOCLING_MCP_DO_TABLE_STRUCTURE | No | Set to 'false' to disable table structure detection. Default: true. | |
| DOCLING_MCP_SERVICE_MAX_RETRIES | No | Maximum number of retry attempts for remote API requests. Default: 3. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_document_in_local_cacheA | Check whether a Docling document is already converted and present in the local cache. |
| remove_document_from_local_cacheA | Remove a document from the local cache and release its memory. Call this tool when a client is finished with a document and wants to release the memory it occupies. After a successful call the key is no longer present in the cache. |
| convert_document_into_docling_documentA | Convert a document from a URL or local path into a Docling document. Use this tool when you have an existing file (PDF, DOCX, HTML, image, etc.) that you want to load and parse. This tool takes a document's URL or local file path, converts it using the configured converter (remote API or local), and stores the resulting Docling document in a local cache. It returns an output with a boolean set to False along with the document's unique cache key. If the document was already in the local cache, the conversion is skipped and the output boolean is set to True. |
| convert_directory_files_into_docling_documentA | Convert all files from a local directory path and store them in local cache. This tool takes a local directory path, converts every file in the directory using the configured converter (remote API or local) and stores the resulting Docling documents in a local cache. It returns a list of conversion outputs, where each output consists of a boolean set to False along with a document's unique cache key. If a document was already in the local cache, the conversion is skipped and the output boolean is set to True. |
| list_cached_documentsA | Return the keys of all Docling documents currently held in the local cache. Use this tool to discover which documents are available before calling any tool that requires a document_key. An empty list means the cache is empty and a document must first be loaded with convert_document_into_docling_document or created with create_new_docling_document. |
| create_new_docling_documentA | Create a new, empty Docling document ready for incremental authoring. Use this tool when you want to build a document from scratch by subsequently calling add_title_to_docling_document, add_section_heading_to_docling_document, add_paragraph_to_docling_document, open_list_in_docling_document, and related tools. To convert an already-existing file (PDF, DOCX, HTML, etc.) instead, use convert_document_into_docling_document. The document is stored in the local cache under a unique key and the prompt text is recorded as a furniture item for reference. |
| export_docling_document_to_markdownA | Export a document from the local document cache to markdown format. This tool converts a Docling document that exists in the local cache into a markdown formatted string, which can be used for display or further processing. Set page_no to export a single page instead of the whole document. |
| save_docling_documentA | Save a document from the local document cache to disk in both markdown and JSON formats. This tool takes a document that exists in the local cache and saves it to the specified cache directory with filenames based on the document key. Both markdown and JSON versions of the document are saved. When page_no is set, only that page is saved in markdown, to a page-specific file, while the JSON file still contains the full document. |
| get_page_thumbnailB | Generate a thumbnail image for the requested page of a document in the local cache. |
| add_title_to_docling_documentA | Add or update the title of a document in the local document cache. This tool modifies an existing document that has already been processed and stored in the local cache. It requires that the document already exists in the cache before a title can be added. |
| add_section_heading_to_docling_documentA | Add a section heading to an existing document in the local document cache. This tool inserts a section heading with the specified heading text and level into a document that has already been processed and stored in the local cache. Section levels typically represent heading hierarchy (e.g., 1 for H1, 2 for H2). |
| add_paragraph_to_docling_documentB | Add a paragraph of text to an existing document in the local document cache. This tool inserts a new paragraph under the specified section header and level into a document that has already been processed and stored in the cache. |
| open_list_in_docling_documentA | Open a new list group in an existing document in the local document cache. This tool begins a list context on the document's internal stack. Once a list is open, only add_list_items_to_list_in_docling_document may be called to populate it. Attempting to add a title, section heading, paragraph, or another list before calling close_list_in_docling_document will raise an error. Nested lists are supported: call open_list_in_docling_document again after adding items to start an inner list, then close each list with close_list_in_docling_document in reverse order. |
| close_list_in_docling_documentA | Closes a list group in an existing document in the local document cache. This tool closes a previously opened list structure within a document. It requires that the document exists and that there is more than one item in the document's stack cache. |
| add_list_items_to_list_in_docling_documentA | Add list items to an open list in an existing document in the local document cache. This tool inserts new list items with the specified text and marker into an open list within a document. It requires that the document exists and that there is at least one item in the document's stack cache. |
| add_table_in_html_format_to_docling_documentA | Add an HTML-formatted table to an existing document in the local document cache. This tool parses the provided HTML table string, converts it to a structured table representation, and adds it to the specified document. It also supports optional captions and footnotes for the table. |
| get_overview_of_document_anchorsA | Retrieve a structured overview of a document from the local document cache. This tool returns a text representation of the Docling document's structure, showing the hierarchy and types of elements within the document. Each line in the output includes the document anchor reference and item label. |
| search_for_text_in_document_anchorsA | Search for specific text and keywords within a document's anchors. This tool takes a string of text to search for and returns a string of all document anchors that contain the exact text. The search is case-insensitive. If the exact text is not found, the tool will search for individual keywords within the text, splitting it on non-alphanumeric characters. If keywords are found, they are listed alongside their number of occurrences in parentheses. |
| get_text_of_document_item_at_anchorA | Retrieve the text content of a specific document item identified by its anchor. This tool extracts the text from a Docling document item at the specified anchor location within a document that exists in the local document cache. |
| update_text_of_document_item_at_anchorA | Update the text content of a specific document item identified by its anchor. This tool modifies the text of an existing document item at the specified anchor location within a document that exists in the local document cache. It requires that the document already exists in the cache before a modification can be made. |
| delete_document_items_at_anchorsA | Delete multiple document items identified by their anchors. This tool removes specified items from a Docling document that exists in the local document cache, based on their anchor references. It requires that the document already exists in the cache before performing the deletion. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| generate_docling_document_from_pdf | Convert a local file into a Docling document and return its document key. |
| convert_and_summarize | Convert a document and produce a structured summary. |
| convert_directory_and_list | Convert all files in a directory and list the results. |
| author_structured_document | Create a new structured Docling document on a given topic. |
| convert_and_rewrite | Convert a document and rewrite its content following specific instructions. |
| review_and_edit_document | Review the structure of a cached document and interactively edit it. |
| find_and_replace_in_document | Find text in a cached document and replace it at the correct anchor. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Most tools have clearly distinct resource+action targets, and the descriptions actively disambiguate close pairs (e.g. create_new_docling_document explicitly says to use convert_document_into_docling_document for existing files). Minor overlap remains between check_document_in_local_cache and list_cached_documents, and between export_docling_document_to_markdown and save_docling_document, but the distinctions are documented.
Names are uniformly snake_case and verb-first (check_, convert_, add_, get_, delete_, etc.), which is readable and predictable. However, the object naming is inconsistent: some tools append the full '_to_docling_document' suffix while others use plain 'document', 'cached_documents', or 'page_thumbnail'.
At 21 tools it is on the heavy side, but the surface splits into coherent clusters (cache, conversion, authoring, inspection, export), and nearly every tool maps to a distinct operation. The list authoring stack (open/close/add_items) inflates the count slightly but is justified.
The lifecycle is well covered: conversion, cache listing/checking/removal, document creation, structural authoring (title, headings, paragraphs, lists, tables), anchor-based inspection/search/update/delete, and export/save/thumbnail. Gaps are minor, e.g. no whole-document text extraction or format export beyond markdown/JSON, and no item reordering or bulk text replacement.