Docling MCP

O Docling MCP é um serviço que fornece ferramentas para conversão, processamento e geração de documentos. Ele utiliza a biblioteca Docling para converter documentos PDF em formatos estruturados e oferece um mecanismo de cache para melhorar o desempenho.

Documentação

Docling

Docling MCP: tornando o docling 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

Um serviço de processamento de documentos que utiliza a biblioteca Docling-MCP e o MCP (Model Context Protocol) para integração de ferramentas.

Visão geral

O Docling MCP é um serviço que fornece ferramentas para conversão, processamento e geração de documentos. Ele utiliza a biblioteca Docling para converter documentos PDF em formatos estruturados e fornece um mecanismo de cache para melhorar o desempenho. O serviço expõe funcionalidades por meio de um conjunto de ferramentas que podem ser chamadas por aplicativos clientes.

Compatibilidade

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

Se o seu aplicativo cliente MCP ainda não migrou para o MCP SDK v2, fixe:

pip install "docling-mcp<3.0.0"

Consulte MIGRATION.md para o guia completo de migração.

Opções de instalação

Modo remoto (recomendado - leve)

Para usuários com acesso à API Docling Serve:

Obtendo o Docling Serve: Visite docling-serve para guias de instalação. Você pode implantá-lo a partir de imagens de contêiner publicadas ou procurar ofertas gerenciadas de SaaS do Docling.

pip install docling-mcp

Em seguida, configure seu ambiente:

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 (recursos completos)

Para usuários que precisam de conversão local ou não têm acesso ao Docling Serve:

pip install docling-mcp[local]

Em seguida, configure seu ambiente:

export DOCLING_MCP_CONVERSION_MODE=local

Modo híbrido (o melhor dos dois mundos)

Instale com suporte local e habilite fallback automático:

pip install docling-mcp[local]

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

Recursos

  • Ferramentas de conversão:
    • Conversão de documentos PDF para formato JSON estruturado (DoclingDocument)
  • Ferramentas de geração:
    • Geração de documentos em DoclingDocument, que podem ser exportados para vários formatos
  • Cache local de documentos para melhorar o desempenho
  • Suporte para arquivos locais e URLs como fontes de documentos
  • Gerenciamento de memória para lidar com documentos grandes
  • Sistema de registro para depuração e monitoramento
  • Aplicações RAG com upload e recuperação no Milvus

Configuração

Todas as configurações usam o prefixo DOCLING_MCP_ e podem ser fornecidas como variáveis de ambiente, em um arquivo .env no diretório de trabalho, ou por meio do bloco env da configuração do seu cliente MCP. Copie .env.example como ponto de partida.

Modo de conversão

VariávelPadrãoDescrição
DOCLING_MCP_CONVERSION_MODEremoteremote ou local

Serviço remoto (obrigatório quando DOCLING_MCP_CONVERSION_MODE=remote)

VariávelPadrãoDescrição
DOCLING_MCP_SERVICE_URLURL da instância do Docling Serve
DOCLING_MCP_SERVICE_API_KEYChave de API para o serviço
DOCLING_MCP_SERVICE_TIMEOUT300.0Tempo limite de solicitação em segundos
DOCLING_MCP_SERVICE_MAX_RETRIES3Número máximo de tentativas
DOCLING_MCP_FALLBACK_TO_LOCALfalseReverter para local se o serviço estiver inacessível (requer docling-mcp[local])

Pipeline de conversão (aplica-se a ambos os modos)

VariávelPadrãoDescrição
DOCLING_MCP_KEEP_IMAGESfalseManter imagens de página na saída
DOCLING_MCP_IMAGES_SCALE1.0Fator de escala da imagem (aumente para evitar erros de preenchimento de tensor)
DOCLING_MCP_DO_OCRtrueExecutar pipeline de OCR
DOCLING_MCP_DO_TABLE_STRUCTUREtrueDetectar estrutura de tabelas

Exportação Markdown

VariávelPadrãoDescrição
DOCLING_MCP_IMAGE_EXPORT_MODEplaceholderComo as imagens são renderizadas na saída Markdown: placeholder (emite <!-- image -->), embedded (data-URI base64), referenced (caminho do arquivo / URL)

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

VariávelPadrãoDescrição
DOCLING_MCP_LI_API_BASEhttp://127.0.0.1:1234/v1Endpoint LLM compatível com OpenAI
DOCLING_MCP_LI_API_KEYnoneChave de API para o endpoint LLM
DOCLING_MCP_LI_MODEL_IDibm/granite-3.2-8bIdentificador do modelo LLM
DOCLING_MCP_LI_EMBEDDING_MODELBAAI/bge-base-en-v1.5Modelo de incorporação HuggingFace

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

VariávelPadrãoDescrição
DOCLING_MCP_LLS_URLhttp://localhost:8321URL do servidor LlamaStack
DOCLING_MCP_LLS_VDB_EMBEDDINGall-MiniLM-L6-v2Modelo de incorporação para banco de dados vetorial
DOCLING_MCP_LLS_EXTRACTION_MODELopenai/gpt-oss-20bModelo usado para extração estruturada

Definindo variáveis na configuração de um 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"
      }
    }
  }
}

Primeiros passos

A maneira mais fácil de instalar o Docling MCP e conectá-lo ao seu cliente é iniciá-lo via uvx.

Dependendo do protocolo de transferência necessário, especifique o argumento --transport, por exemplo

  • stdio usado, por exemplo, no Claude for Desktop e LM Studio

    uvx --from docling-mcp docling-mcp-server --transport stdio
    
  • sse usado, por exemplo, no Llama Stack

    uvx --from docling-mcp docling-mcp-server --transport sse
    
  • streamable-http usado, por exemplo, em configurações de contêineres

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

Mais opções estão disponíveis, por exemplo, a seleção de qual grupo de ferramentas iniciar. Use o argumento --help para inspecionar todas as opções de CLI.

Para desenvolver ainda mais as ferramentas MCP, consulte a seção Developing do CONTRIBUTING.md para instruções.

Integração com clientes MCP

Uma das maneiras mais fáceis de experimentar as ferramentas fornecidas pelo Docling MCP é aproveitar um cliente desktop de IA com suporte a MCP. A maioria desses clientes usa uma interface de configuração comum. Adicionar o Docling MCP no seu cliente favorito geralmente é tão simples quanto adicionar a seguinte entrada no arquivo de configuração.

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

Ao usar Claude for Desktop, basta editar o arquivo de configuração claude_desktop_config.json com o trecho acima ou o exemplo fornecido aqui.

No LM Studio, edite o arquivo mcp.json com a seção apropriada ou simplesmente clique no botão abaixo para uma instalação direta.

Add MCP Server docling to LM Studio

Outras integrações são descritas na página integrations.

Exemplos

Convertendo documentos

Exemplo de prompt para converter documentos PDF:

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

Gerando documentos

Exemplo de prompt para gerar novos 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.

Contribuindo

Aceitamos contribuições externas. Consulte CONTRIBUTING.md para detalhes sobre como começar.

Licença

O código do Docling MCP está sob a licença MIT. Para uso de modelos individuais, consulte as licenças dos modelos encontradas nos pacotes originais.

LF AI & Data

O Docling e o Docling MCP são hospedados como um projeto na LF AI & Data Foundation.

IBM ❤️ Open Source AI: O projeto foi iniciado pela equipe de IA para conhecimento no IBM Research Zurich.