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 MCP: tornando o docling agêntico
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-mcp | MCP Python SDK |
|---|---|
>=3.0.0 | mcp>=2.0.0 |
>=2.0.0,<3.0.0 | mcp>=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ável | Padrão | Descrição |
|---|---|---|
DOCLING_MCP_CONVERSION_MODE | remote | remote ou local |
Serviço remoto (obrigatório quando DOCLING_MCP_CONVERSION_MODE=remote)
| Variável | Padrão | Descrição |
|---|---|---|
DOCLING_MCP_SERVICE_URL | — | URL da instância do Docling Serve |
DOCLING_MCP_SERVICE_API_KEY | — | Chave de API para o serviço |
DOCLING_MCP_SERVICE_TIMEOUT | 300.0 | Tempo limite de solicitação em segundos |
DOCLING_MCP_SERVICE_MAX_RETRIES | 3 | Número máximo de tentativas |
DOCLING_MCP_FALLBACK_TO_LOCAL | false | Reverter para local se o serviço estiver inacessível (requer docling-mcp[local]) |
Pipeline de conversão (aplica-se a ambos os modos)
| Variável | Padrão | Descrição |
|---|---|---|
DOCLING_MCP_KEEP_IMAGES | false | Manter imagens de página na saída |
DOCLING_MCP_IMAGES_SCALE | 1.0 | Fator de escala da imagem (aumente para evitar erros de preenchimento de tensor) |
DOCLING_MCP_DO_OCR | true | Executar pipeline de OCR |
DOCLING_MCP_DO_TABLE_STRUCTURE | true | Detectar estrutura de tabelas |
Exportação Markdown
| Variável | Padrão | Descrição |
|---|---|---|
DOCLING_MCP_IMAGE_EXPORT_MODE | placeholder | Como 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ável | Padrão | Descrição |
|---|---|---|
DOCLING_MCP_LI_API_BASE | http://127.0.0.1:1234/v1 | Endpoint LLM compatível com OpenAI |
DOCLING_MCP_LI_API_KEY | none | Chave de API para o endpoint LLM |
DOCLING_MCP_LI_MODEL_ID | ibm/granite-3.2-8b | Identificador do modelo LLM |
DOCLING_MCP_LI_EMBEDDING_MODEL | BAAI/bge-base-en-v1.5 | Modelo de incorporação HuggingFace |
LlamaStack (--tools llama-stack-rag / --tools llama-stack-ie)
| Variável | Padrão | Descrição |
|---|---|---|
DOCLING_MCP_LLS_URL | http://localhost:8321 | URL do servidor LlamaStack |
DOCLING_MCP_LLS_VDB_EMBEDDING | all-MiniLM-L6-v2 | Modelo de incorporação para banco de dados vetorial |
DOCLING_MCP_LLS_EXTRACTION_MODEL | openai/gpt-oss-20b | Modelo 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
-
stdiousado, por exemplo, no Claude for Desktop e LM Studiouvx --from docling-mcp docling-mcp-server --transport stdio -
sseusado, por exemplo, no Llama Stackuvx --from docling-mcp docling-mcp-server --transport sse -
streamable-httpusado, por exemplo, em configurações de contêineresuvx --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.
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.