Docling MCP

Docling MCP es un servicio que proporciona herramientas para la conversión, el procesamiento y la generación de documentos. Utiliza la biblioteca Docling para convertir documentos PDF en formatos estructurados y ofrece un mecanismo de caché para mejorar el rendimiento.

Documentación

Docling

Docling MCP: haciendo que docling sea agéntico

CI PyPI version PyPI - Python Version uv Ruff Pydantic v2 pre-commit License MIT PyPI Downloads LF AI & Data MCP Registry docling-mcp MCP server MCP Toplist

Un servicio de procesamiento de documentos que utiliza la biblioteca Docling-MCP y MCP (Protocolo de Contexto de Modelo) para la integración de herramientas.

Descripción general

Docling MCP es un servicio que proporciona herramientas para la conversión, el procesamiento y la generación de documentos. Utiliza la biblioteca Docling para convertir documentos PDF en formatos estructurados y proporciona un mecanismo de caché para mejorar el rendimiento. El servicio expone funcionalidades a través de un conjunto de herramientas que pueden ser invocadas por aplicaciones cliente.

Compatibilidad

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

Si su aplicación cliente MCP aún no ha migrado al SDK de MCP v2, fije:

pip install "docling-mcp<3.0.0"

Consulte MIGRATION.md para la guía de migración completa.

Opciones de instalación

Modo remoto (recomendado - ligero)

Para usuarios con acceso a la API de Docling Serve:

Obtener Docling Serve: visite docling-serve para las guías de instalación. Puede implementarlo desde imágenes de contenedor publicadas o buscar ofertas de Docling SaaS administradas.

pip install docling-mcp

Luego configure su entorno:

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

Modo local (funciones completas)

Para usuarios que necesitan conversión local o no tienen acceso a Docling Serve:

pip install docling-mcp[local]

Luego configure su entorno:

export DOCLING_MCP_CONVERSION_MODE=local

Modo híbrido (lo mejor de ambos)

Instale con soporte local y habilite la fallback automática:

pip install docling-mcp[local]

Configure para remoto con 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

Características

  • Herramientas de conversión:
    • Conversión de documentos PDF a formato JSON estructurado (DoclingDocument)
  • Herramientas de generación:
    • Generación de documentos en DoclingDocument, que se pueden exportar a múltiples formatos
  • Caché local de documentos para mejorar el rendimiento
  • Soporte para archivos locales y URL como fuentes de documentos
  • Gestión de memoria para manejar documentos grandes
  • Sistema de registro para depuración y monitoreo
  • Aplicaciones RAG con carga y recuperación en Milvus

Configuración

Todas las configuraciones usan el prefijo DOCLING_MCP_ y se pueden proporcionar como variables de entorno, en un archivo .env en el directorio de trabajo, o mediante el bloque env de la configuración de su cliente MCP. Copie .env.example como punto de partida.

Modo de conversión

VariablePredeterminadoDescripción
DOCLING_MCP_CONVERSION_MODEremoteremote o local

Servicio remoto (requerido cuando DOCLING_MCP_CONVERSION_MODE=remote)

VariablePredeterminadoDescripción
DOCLING_MCP_SERVICE_URLURL de la instancia de Docling Serve
DOCLING_MCP_SERVICE_API_KEYClave de API para el servicio
DOCLING_MCP_SERVICE_TIMEOUT300.0Tiempo de espera de solicitud en segundos
DOCLING_MCP_SERVICE_MAX_RETRIES3Intentos de reintento máximos
DOCLING_MCP_FALLBACK_TO_LOCALfalseRecurrir a local si el servicio no está disponible (requiere docling-mcp[local])

Pipeline de conversión (aplica a ambos modos)

VariablePredeterminadoDescripción
DOCLING_MCP_KEEP_IMAGESfalseConservar imágenes de página en la salida
DOCLING_MCP_IMAGES_SCALE1.0Factor de escala de imagen (aumentar para evitar errores de relleno de tensor)
DOCLING_MCP_DO_OCRtrueEjecutar pipeline de OCR
DOCLING_MCP_DO_TABLE_STRUCTUREtrueDetectar estructura de tablas

Exportación a Markdown

VariablePredeterminadoDescripción
DOCLING_MCP_IMAGE_EXPORT_MODEplaceholderCómo se renderizan las imágenes en la salida Markdown: placeholder (emite <!-- image -->), embedded (data-URI base64), referenced (ruta de archivo / URL)

RAG con LlamaIndex (--tools llama-index-rag)

VariablePredeterminadoDescripción
DOCLING_MCP_LI_API_BASEhttp://127.0.0.1:1234/v1Endpoint LLM compatible con OpenAI
DOCLING_MCP_LI_API_KEYnoneClave de API para el endpoint LLM
DOCLING_MCP_LI_MODEL_IDibm/granite-3.2-8bIdentificador del modelo LLM
DOCLING_MCP_LI_EMBEDDING_MODELBAAI/bge-base-en-v1.5Modelo de embeddings de HuggingFace

LlamaStack (--tools llama-stack-rag / --tools llama-stack-ie)

VariablePredeterminadoDescripción
DOCLING_MCP_LLS_URLhttp://localhost:8321URL del servidor LlamaStack
DOCLING_MCP_LLS_VDB_EMBEDDINGall-MiniLM-L6-v2Modelo de embeddings para la base de datos vectorial
DOCLING_MCP_LLS_EXTRACTION_MODELopenai/gpt-oss-20bModelo utilizado para la extracción estructurada

Configuración de variables en la configuración de un cliente MCP

{
  "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"
      }
    }
  }
}

Primeros pasos

La forma más sencilla de instalar Docling MCP y conectarlo a su cliente es lanzándolo mediante uvx.

Dependiendo del protocolo de transferencia requerido, especifique el argumento --transport, por ejemplo

  • stdio usado, por ejemplo, en Claude for Desktop y LM Studio

    uvx --from docling-mcp docling-mcp-server --transport stdio
    
  • sse usado, por ejemplo, en Llama Stack

    uvx --from docling-mcp docling-mcp-server --transport sse
    
  • streamable-http usado, por ejemplo, en configuraciones de contenedores

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

Hay más opciones disponibles, por ejemplo, la selección de qué grupo de herramientas lanzar. Use el argumento --help para inspeccionar todas las opciones de CLI.

Para desarrollar más las herramientas MCP, consulte la sección Developing de CONTRIBUTING.md para obtener instrucciones.

Integración con clientes MCP

Una de las formas más fáciles de experimentar con las herramientas proporcionadas por Docling MCP es aprovechar un cliente de escritorio de IA con soporte MCP. La mayoría de estos clientes usan una interfaz de configuración común. Agregar Docling MCP en su cliente favorito suele ser tan simple como agregar la siguiente entrada en el archivo de configuración.

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

Al usar Claude for Desktop, simplemente edite el archivo de configuración claude_desktop_config.json con el fragmento anterior o el ejemplo proporcionado aquí.

En LM Studio, edite el archivo mcp.json con la sección adecuada o simplemente haga clic en el botón a continuación para una instalación directa.

Add MCP Server docling to LM Studio

Otras integraciones se describen en la página integrations.

Ejemplos

Conversión de documentos

Ejemplo de prompt para convertir documentos PDF:

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

Generación de documentos

Ejemplo de prompt para generar nuevos documentos:

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 invoking `add_title_to_docling_document`) and then iteratively add new section-headings and paragraphs. If you want to insert lists (or nested lists), you will first open a list (by invoking `open_list_in_docling_document`), next add the list_items (by invoking `add_listitem_to_list_in_docling_document`). After adding list-items, you must close the list (by invoking `close_list_in_docling_document`). Nested lists can be created in the same way, by opening and closing additional lists.

During the writing process, you can check what has been written already by calling the `export_docling_document_to_markdown` tool, which will return the currently written document. At the end of the writing, you must save the document and return me the filepath of the saved document.

The document should investigate the impact of tokenizers on the quality of LLMs.

Contribuciones

Agradecemos las contribuciones externas. Consulte CONTRIBUTING.md para obtener detalles sobre cómo comenzar.

Licencia

El código de Docling MCP está bajo la licencia MIT. Para el uso de modelos individuales, consulte las licencias de los modelos en los paquetes originales.

LF AI & Data

Docling y Docling MCP se alojan como un proyecto en la LF AI & Data Foundation.

IBM ❤️ Open Source AI: El proyecto fue iniciado por el equipo de IA para el conocimiento en IBM Research Zurich.