Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Docling MCP

by docling-projectversion 3.5.0i★ –iRuns on your computer
Registry nameio.github.docling-project/docling-mcp

Install

Overview

Description from the maker (original English)

Convert PDFs and other documents to structured formats via Docling, for AI applications.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: DOCLING_MCP_SERVICE_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: DOCLING_MCP_CONVERSION_MODE, DOCLING_MCP_SERVICE_URL, DOCLING_MCP_SERVICE_API_KEY, DOCLING_MCP_SERVICE_TIMEOUT, DOCLING_MCP_SERVICE_MAX_RETRIES, DOCLING_MCP_FALLBACK_TO_LOCAL, DOCLING_MCP_KEEP_IMAGES, DOCLING_MCP_IMAGES_SCALE, DOCLING_MCP_DO_OCR, DOCLING_MCP_OCR_ENGINE, DOCLING_MCP_OCR_LANG, DOCLING_MCP_DO_TABLE_STRUCTURE, DOCLING_MCP_DO_PICTURE_DESCRIPTION, DOCLING_MCP_PICTURE_DESCRIPTION_PRESET, DOCLING_MCP_IMAGE_EXPORT_MODE, DOCLING_MCP_CACHE_MAX_DOCUMENTS

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "docling": {
      "command": "uvx",
      "args": [
        "docling-mcp"
      ],
      "env": {
        "DOCLING_MCP_CONVERSION_MODE": "your-value",
        "DOCLING_MCP_SERVICE_URL": "your-value",
        "DOCLING_MCP_SERVICE_API_KEY": "your-value",
        "DOCLING_MCP_SERVICE_TIMEOUT": "your-value",
        "DOCLING_MCP_SERVICE_MAX_RETRIES": "your-value",
        "DOCLING_MCP_FALLBACK_TO_LOCAL": "your-value",
        "DOCLING_MCP_KEEP_IMAGES": "your-value",
        "DOCLING_MCP_IMAGES_SCALE": "your-value",
        "DOCLING_MCP_DO_OCR": "your-value",
        "DOCLING_MCP_OCR_ENGINE": "your-value",
        "DOCLING_MCP_OCR_LANG": "your-value",
        "DOCLING_MCP_DO_TABLE_STRUCTURE": "your-value",
        "DOCLING_MCP_DO_PICTURE_DESCRIPTION": "your-value",
        "DOCLING_MCP_PICTURE_DESCRIPTION_PRESET": "your-value",
        "DOCLING_MCP_IMAGE_EXPORT_MODE": "your-value",
        "DOCLING_MCP_CACHE_MAX_DOCUMENTS": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add docling --env DOCLING_MCP_CONVERSION_MODE=your-value --env DOCLING_MCP_SERVICE_URL=your-value --env DOCLING_MCP_SERVICE_API_KEY=your-value --env DOCLING_MCP_SERVICE_TIMEOUT=your-value --env DOCLING_MCP_SERVICE_MAX_RETRIES=your-value --env DOCLING_MCP_FALLBACK_TO_LOCAL=your-value --env DOCLING_MCP_KEEP_IMAGES=your-value --env DOCLING_MCP_IMAGES_SCALE=your-value --env DOCLING_MCP_DO_OCR=your-value --env DOCLING_MCP_OCR_ENGINE=your-value --env DOCLING_MCP_OCR_LANG=your-value --env DOCLING_MCP_DO_TABLE_STRUCTURE=your-value --env DOCLING_MCP_DO_PICTURE_DESCRIPTION=your-value --env DOCLING_MCP_PICTURE_DESCRIPTION_PRESET=your-value --env DOCLING_MCP_IMAGE_EXPORT_MODE=your-value --env DOCLING_MCP_CACHE_MAX_DOCUMENTS=your-value -- uvx docling-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "docling": {
      "command": "uvx",
      "args": [
        "docling-mcp"
      ],
      "env": {
        "DOCLING_MCP_CONVERSION_MODE": "your-value",
        "DOCLING_MCP_SERVICE_URL": "your-value",
        "DOCLING_MCP_SERVICE_API_KEY": "your-value",
        "DOCLING_MCP_SERVICE_TIMEOUT": "your-value",
        "DOCLING_MCP_SERVICE_MAX_RETRIES": "your-value",
        "DOCLING_MCP_FALLBACK_TO_LOCAL": "your-value",
        "DOCLING_MCP_KEEP_IMAGES": "your-value",
        "DOCLING_MCP_IMAGES_SCALE": "your-value",
        "DOCLING_MCP_DO_OCR": "your-value",
        "DOCLING_MCP_OCR_ENGINE": "your-value",
        "DOCLING_MCP_OCR_LANG": "your-value",
        "DOCLING_MCP_DO_TABLE_STRUCTURE": "your-value",
        "DOCLING_MCP_DO_PICTURE_DESCRIPTION": "your-value",
        "DOCLING_MCP_PICTURE_DESCRIPTION_PRESET": "your-value",
        "DOCLING_MCP_IMAGE_EXPORT_MODE": "your-value",
        "DOCLING_MCP_CACHE_MAX_DOCUMENTS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "docling": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "docling-mcp"
      ],
      "env": {
        "DOCLING_MCP_CONVERSION_MODE": "your-value",
        "DOCLING_MCP_SERVICE_URL": "your-value",
        "DOCLING_MCP_SERVICE_API_KEY": "your-value",
        "DOCLING_MCP_SERVICE_TIMEOUT": "your-value",
        "DOCLING_MCP_SERVICE_MAX_RETRIES": "your-value",
        "DOCLING_MCP_FALLBACK_TO_LOCAL": "your-value",
        "DOCLING_MCP_KEEP_IMAGES": "your-value",
        "DOCLING_MCP_IMAGES_SCALE": "your-value",
        "DOCLING_MCP_DO_OCR": "your-value",
        "DOCLING_MCP_OCR_ENGINE": "your-value",
        "DOCLING_MCP_OCR_LANG": "your-value",
        "DOCLING_MCP_DO_TABLE_STRUCTURE": "your-value",
        "DOCLING_MCP_DO_PICTURE_DESCRIPTION": "your-value",
        "DOCLING_MCP_PICTURE_DESCRIPTION_PRESET": "your-value",
        "DOCLING_MCP_IMAGE_EXPORT_MODE": "your-value",
        "DOCLING_MCP_CACHE_MAX_DOCUMENTS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • DOCLING_MCP_CONVERSION_MODE env
    Conversion mode: 'remote' (default) or 'local' (requires docling-mcp[local] extra).
  • DOCLING_MCP_SERVICE_URL env
    Base URL of the Docling Serve instance. Required when conversion mode is remote.
  • DOCLING_MCP_SERVICE_API_KEY secret env
    API key for authenticating with Docling Serve.
  • DOCLING_MCP_SERVICE_TIMEOUT env
    Request timeout in seconds for the remote Docling Serve API. Default: 300.0.
  • DOCLING_MCP_SERVICE_MAX_RETRIES env
    Maximum number of retry attempts for remote API requests. Default: 3.
  • DOCLING_MCP_FALLBACK_TO_LOCAL env
    Set to 'true' to fall back to local conversion when Docling Serve is unreachable.
  • DOCLING_MCP_KEEP_IMAGES env
    Set to 'true' to retain page images in converted documents. Default: false.
  • DOCLING_MCP_IMAGES_SCALE env
    Image scale factor (e.g. 1.0, 2.0). Increase to avoid tensor batching errors. Default: 1.0.
  • DOCLING_MCP_DO_OCR env
    Set to 'false' to disable the OCR pipeline. Default: true.
  • DOCLING_MCP_OCR_ENGINE env
    OCR engine kind: 'auto' (default), 'easyocr', 'tesseract', 'tesserocr', 'ocrmac', 'rapidocr'. Must be installed on the conversion backend.
  • DOCLING_MCP_OCR_LANG env
    Comma-separated OCR languages (e.g. 'iso:en,iso:de' or 'eng,deu'). When unset the engine's default languages apply.
  • DOCLING_MCP_DO_TABLE_STRUCTURE env
    Set to 'false' to disable table structure detection. Default: true.
  • DOCLING_MCP_DO_PICTURE_DESCRIPTION env
    Set to 'true' to run a vision-language model to generate textual descriptions for figures and pictures. Requires a VLM to be available on the conversion backend. Default: false.
  • DOCLING_MCP_PICTURE_DESCRIPTION_PRESET env
    Preset ID for the picture-description VLM (e.g. 'smolvlm', 'granite_vision'). When unset the backend default is used. Only applies when DOCLING_MCP_DO_PICTURE_DESCRIPTION=true.
  • DOCLING_MCP_IMAGE_EXPORT_MODE env
    Controls how images are rendered when exporting to Markdown. Accepted values: 'placeholder' (default, emits ), 'embedded' (base64 data-URI), 'referenced' (file path / URL).
  • DOCLING_MCP_CACHE_MAX_DOCUMENTS env
    Maximum number of documents to keep in the in-memory cache. Oldest (least-recently-used) documents are evicted when the limit is reached. Default: 10.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account docling-project, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32589 servers in this category
  • Published to the registry more recently than 93% of the other 32589 servers in this category
  • Basic checks equal to or better than 100% of the other 32589 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Docling MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: DOCLING_MCP_SERVICE_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (3.5.0) reached the registry 2 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Detailing Manager

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated yesterday
Install

Detailing Manager

by RadoslavMoshev

Connect your auto detailing studio's tasks, cars, clients and revenue to Claude or ChatGPT.

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Docling MCP: making docling agentic

A document processing service using the Docling-MCP library and MCP (Model Context Protocol) for tool integration.

Overview

Docling MCP is a service that provides tools for document conversion, processing and generation. It uses the Docling library to convert PDF documents into structured formats and provides a caching mechanism to improve performance. The service exposes functionality through a set of tools that can be called by client applications.

Compatibility

docling-mcpMCP Python SDK
>=3.0.0mcp>=2.0.0
>=2.0.0,<3.0.0mcp>=1.9.4,<2.0.0

If your MCP client application has not yet migrated to MCP SDK v2, pin:

pip install "docling-mcp<3.0.0"

See MIGRATION.md for the full migration guide.

Installation Options

Remote Mode (Recommended - Lightweight)

For users with access to Docling Serve API:

Getting Docling Serve: Visit docling-serve for installation guides. You can deploy it from published container images or look for managed Docling SaaS offerings.

pip install docling-mcp

Then configure your environment:

export DOCLING_MCP_SERVICE_URL=https://your-docling-service.example.com

export DOCLING_MCP_SERVICE_API_KEY=your-api-key-here export DOCLING_MCP_CONVERSION_MODE=remote

Local Mode (Full Features)

For users who need local conversion or don't have Docling Serve access:

pip install docling-mcp[local]

Then configure your environment:

export DOCLING_MCP_CONVERSION_MODE=local
Hybrid Mode (Best of Both)

Install with local support and enable automatic fallback:

pip install docling-mcp[local]

Configure for remote with fallback:

export DOCLING_MCP_SERVICE_URL=https://your-docling-service.example.com

export DOCLING_MCP_CONVERSION_MODE=remote export DOCLING_MCP_FALLBACK_TO_LOCAL=true

Features

  • Conversion tools:
  • PDF document conversion to structured JSON format (DoclingDocument)
  • Generation tools:
  • Document generation in DoclingDocument, which can be exported to multiple formats
  • Local document caching for improved performance
  • Support for local files and URLs as document sources
  • Memory management for handling large documents
  • Logging system for debugging and monitoring
  • RAG applications with Milvus upload and retrieval

Configuration

All settings use the DOCLING_MCP_ prefix and can be supplied as environment variables, in a .env file in the working directory, or via the env block of your MCP client config. Copy .env.example as a starting point.

Conversion mode
VariableDefaultDescription
DOCLING_MCP_CONVERSION_MODEremoteremote or local
Remote service (required when DOCLING_MCP_CONVERSION_MODE=remote)
VariableDefaultDescription
DOCLING_MCP_SERVICE_URL—URL of the Docling Serve instance
DOCLING_MCP_SERVICE_API_KEY—API key for the service
DOCLING_MCP_SERVICE_TIMEOUT300.0Timeout in seconds for a whole conversion job
DOCLING_MCP_SERVICE_MAX_RETRIES3Max retry attempts
DOCLING_MCP_FALLBACK_TO_LOCALfalseFall back to local if service is unreachable (requires docling-mcp[local])
Conversion pipeline (applies to both modes)
VariableDefaultDescription
DOCLING_MCP_KEEP_IMAGESfalseRetain page images in output
DOCLING_MCP_IMAGES_SCALE1.0Image scale factor (increase to avoid tensor padding errors)
DOCLING_MCP_DO_OCRtrueRun OCR pipeline
DOCLING_MCP_OCR_ENGINEautoOCR engine by its docling engine kind: auto, easyocr, tesseract (system binary), tesserocr (Python bindings), ocrmac, rapidocr. The engine must be installed on the conversion backend. In remote mode it is sent as the Docling Serve ocr_preset, so server-defined preset names also work there
DOCLING_MCP_OCR_LANG—Comma-separated OCR languages, passed to the engine unchanged. iso:en,iso:de works with any engine (docling ≥ 2.127, recommended with auto); bare codes are engine-specific (eng for Tesseract, en for EasyOCR or Docling Serve). Unset means the engine's defaults
DOCLING_MCP_DO_TABLE_STRUCTUREtrueDetect table structure
DOCLING_MCP_DO_PICTURE_DESCRIPTIONfalseRun a vision-language model to generate textual descriptions for figures and pictures
DOCLING_MCP_PICTURE_DESCRIPTION_PRESET—Preset ID for the picture-description VLM (e.g. smolvlm, granite_vision). When unset the backend default is used. Only applies when DOCLING_MCP_DO_PICTURE_DESCRIPTION=true

[!TIP]

Enabling DOCLING_MCP_DO_PICTURE_DESCRIPTION=true adds a VLM inference step for every figure in the document. On resource-constrained hardware (e.g. a laptop running the model on CPU) this can significantly increase conversion time.

- Remote mode — increase DOCLING_MCP_SERVICE_TIMEOUT (in seconds) to give the remote service enough time to complete. The default is 300.0 (5 minutes).

- Local mode / MCP client timeout — the MCP client itself may also enforce a request timeout. For example, in LM Studio set the timeout field (in milliseconds) in your mcp.json:

`json

{

"mcpServers": {

"docling": {

"url": "http://localhost:8000/mcp",

"timeout": 300000

}

}

}

`

Markdown export
VariableDefaultDescription
DOCLING_MCP_IMAGE_EXPORT_MODEplaceholderHow images are rendered in Markdown output: placeholder (emits ), embedded (base64 data-URI), referenced (file path / URL)
Cache
VariableDefaultDescription
DOCLING_MCP_CACHE_MAX_DOCUMENTS10Maximum number of documents to keep in the in-memory cache. When the limit is reached the least-recently-used document is evicted.
LlamaIndex RAG (--tools llama-index-rag)
VariableDefaultDescription
DOCLING_MCP_LI_API_BASEhttp://127.0.0.1:1234/v1OpenAI-compatible LLM endpoint
DOCLING_MCP_LI_API_KEYnoneAPI key for the LLM endpoint
DOCLING_MCP_LI_MODEL_IDibm/granite-3.2-8bLLM model identifier
DOCLING_MCP_LI_EMBEDDING_MODELBAAI/bge-base-en-v1.5HuggingFace embedding model
LlamaStack (--tools llama-stack-rag / --tools llama-stack-ie)
VariableDefaultDescription
DOCLING_MCP_LLS_URLhttp://localhost:8321LlamaStack server URL
DOCLING_MCP_LLS_VDB_EMBEDDINGall-MiniLM-L6-v2Embedding model for vector DB
DOCLING_MCP_LLS_EXTRACTION_MODELopenai/gpt-oss-20bModel used for structured extraction
Setting variables in an MCP client config
{

"mcpServers": { "docling": { "command": "uvx", "args": [ "--from=docling-mcp", "docling-mcp-server" ], "env": { "DOCLING_MCP_CONVERSION_MODE": "remote", "DOCLING_MCP_SERVICE_URL": "https://your-docling-service.example.com", "DOCLING_MCP_SERVICE_API_KEY": "your-api-key-here" } } } }

Getting started

The easiest way to install Docling MCP and connect it to your client is by launching it via uvx.

Depending on the transfer protocol required, specify the argument --transport, for example

  • `stdio` used e.g. in Claude for Desktop and LM Studio

sh uvx --from docling-mcp docling-mcp-server --transport stdio

  • `sse` used e.g. in Llama Stack

sh uvx --from docling-mcp docling-mcp-server --transport sse

  • `streamable-http` used e.g. in containers setup

sh uvx --from docling-mcp docling-mcp-server --transport streamable-http

More options are available, e.g. the selection of which toolgroup to launch. Use the --help argument to inspect all the CLI options.

For developing the MCP tools further, please refer to the Developing section of CONTRIBUTING.md for instructions.

Integration with MCP clients

One of the easiest ways to experiment with the tools provided by Docling MCP is to leverage an AI desktop client with MCP support. Most of these clients use a common config interface. Adding Docling MCP in your favorite client is usually as simple as adding the following entry in the configuration file.

{

"mcpServers": { "docling": { "command": "uvx", "args": [ "--from=docling-mcp", "docling-mcp-server" ] } } }

When using [Claude for Desktop](https://claude.ai/download), simply edit the config file claude_desktop_config.json with the snippet above or the example provided here.

In [LM Studio](https://lmstudio.ai/), edit the mcp.json file with the appropriate section or simply click on the button below for a direct install.

Other integrations are described in the [integrations] page.

Examples

Converting documents

Example of prompt for converting PDF documents:

Convert the PDF document at <provide file-path> into DoclingDocument and return its document-key.
Generating documents

Example of prompt for generating new documents:

I want you to write a Docling document. To do this, you will create a document first by invoking `create_new_docling_document`. Next you can add a title (by i

Only the beginning is shown; read the rest in the repo

Ask PopNx