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 MCP: haciendo que docling sea agéntico
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-mcp | MCP Python SDK |
|---|---|
>=3.0.0 | mcp>=2.0.0 |
>=2.0.0,<3.0.0 | mcp>=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
| Variable | Predeterminado | Descripción |
|---|---|---|
DOCLING_MCP_CONVERSION_MODE | remote | remote o local |
Servicio remoto (requerido cuando DOCLING_MCP_CONVERSION_MODE=remote)
| Variable | Predeterminado | Descripción |
|---|---|---|
DOCLING_MCP_SERVICE_URL | — | URL de la instancia de Docling Serve |
DOCLING_MCP_SERVICE_API_KEY | — | Clave de API para el servicio |
DOCLING_MCP_SERVICE_TIMEOUT | 300.0 | Tiempo de espera de solicitud en segundos |
DOCLING_MCP_SERVICE_MAX_RETRIES | 3 | Intentos de reintento máximos |
DOCLING_MCP_FALLBACK_TO_LOCAL | false | Recurrir a local si el servicio no está disponible (requiere docling-mcp[local]) |
Pipeline de conversión (aplica a ambos modos)
| Variable | Predeterminado | Descripción |
|---|---|---|
DOCLING_MCP_KEEP_IMAGES | false | Conservar imágenes de página en la salida |
DOCLING_MCP_IMAGES_SCALE | 1.0 | Factor de escala de imagen (aumentar para evitar errores de relleno de tensor) |
DOCLING_MCP_DO_OCR | true | Ejecutar pipeline de OCR |
DOCLING_MCP_DO_TABLE_STRUCTURE | true | Detectar estructura de tablas |
Exportación a Markdown
| Variable | Predeterminado | Descripción |
|---|---|---|
DOCLING_MCP_IMAGE_EXPORT_MODE | placeholder | Có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)
| Variable | Predeterminado | Descripción |
|---|---|---|
DOCLING_MCP_LI_API_BASE | http://127.0.0.1:1234/v1 | Endpoint LLM compatible con OpenAI |
DOCLING_MCP_LI_API_KEY | none | Clave de API para el endpoint LLM |
DOCLING_MCP_LI_MODEL_ID | ibm/granite-3.2-8b | Identificador del modelo LLM |
DOCLING_MCP_LI_EMBEDDING_MODEL | BAAI/bge-base-en-v1.5 | Modelo de embeddings de HuggingFace |
LlamaStack (--tools llama-stack-rag / --tools llama-stack-ie)
| Variable | Predeterminado | Descripción |
|---|---|---|
DOCLING_MCP_LLS_URL | http://localhost:8321 | URL del servidor LlamaStack |
DOCLING_MCP_LLS_VDB_EMBEDDING | all-MiniLM-L6-v2 | Modelo de embeddings para la base de datos vectorial |
DOCLING_MCP_LLS_EXTRACTION_MODEL | openai/gpt-oss-20b | Modelo 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
-
stdiousado, por ejemplo, en Claude for Desktop y LM Studiouvx --from docling-mcp docling-mcp-server --transport stdio -
sseusado, por ejemplo, en Llama Stackuvx --from docling-mcp docling-mcp-server --transport sse -
streamable-httpusado, por ejemplo, en configuraciones de contenedoresuvx --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.
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.