Você pode permitir que um agente de IA veja uma página de documento em vez de ler um despejo de texto dela. O servidor GroupDocs.Viewer.Mcp renderiza qualquer página de um arquivo PDF, Word, Excel ou PowerPoint como PNG e a devolve ao agente, fazendo isso localmente na sua máquina:

Quantas páginas tem report.pdf? Então mostre-me a última.

A versão passo a passo com configuração e solução de problemas está na documentação: Como permitir que um agente de IA veja páginas de documentos.

Por que a extração de texto falha em documentos reais?

Um extrator de texto devolve caracteres na ordem de leitura. Ele não devolve o gráfico de barras entre dois parágrafos, o selo “APPROVED” no canto, o layout em colunas de uma tabela de preços ou uma página que é uma digitalização e não contém caracteres. Um agente que trabalha a partir desse resultado responde com confiança sobre um documento que viu apenas pela metade, e a metade que falta costuma ser a parte que você perguntou.

A solução não é um prompt melhor. É uma entrada diferente: a página como imagem, fornecida a um modelo que aceita entrada de imagem.

Abordagem errada: canalizar tudo por um extrator de texto

O padrão comum é converter o documento em texto, colar o texto na janela de contexto e fazer perguntas. Funciona para prosa. Falha de quatro maneiras que você pode verificar em qualquer documento que possua:

  • O layout desaparece, então “o total está na coluna da direita?” não pode ser respondido.
  • Figuras dentro de gráficos e diagramas desaparecem, porque são desenhadas, não digitadas.
  • Selos, assinaturas e escrita manual desaparecem.
  • Um PDF escaneado não gera texto.

Um modelo não pode reparar informações que foram descartadas antes de ver o documento.

Abordagem correta: renderizar uma página PDF como imagem para o LLM

render_page renderiza uma página como PNG, devolve a imagem inline ao agente e salva uma cópia na sua pasta de saída como <name>_page<N>.png. O servidor suporta mais de 170 formatos, incluindo PDF, DOCX, XLSX, PPTX, ODT, RTF, HTML, EML e MSG. Um modelo com capacidade de visão então vê a página da mesma forma que você faria.

O agente não deve adivinhar números de página, portanto combina render_page com get_view_info, que devolve o tipo de arquivo, a contagem de páginas e o tamanho de cada página sem renderizar nada. Uma terceira ferramenta, get_license_status, relata o modo de licenciamento ativo.

Como executo o servidor para Claude, Cursor ou Copilot?

A imagem Docker é autônoma:

docker run --rm -i -v $(pwd)/documents:/data \
  ghcr.io/groupdocs-viewer/viewer-net-mcp:latest

Com o SDK .NET 10 instalado, dnx GroupDocs.Viewer.Mcp --yes executa o mesmo servidor sem Docker. Registre-o no Claude Desktop, Claude Code, Cursor, VS Code com GitHub Copilot, Windsurf e outros clientes; a página hub lista a configuração exata para cada um. O cliente inicia o servidor como um processo filho e se comunica com ele via entrada e saída padrão, portanto não há porta de entrada nem endpoint a ser protegido.

Sessão de exemplo

Esta é uma ilustração construída a partir do comportamento documentado das duas ferramentas, não uma captura de tela.

Você:   Quantas páginas tem report.pdf? Então mostre-me a última.

Agente: [calls get_view_info on report.pdf]
       report.pdf é um PDF com 2 páginas, ambas 612 x 792 pontos (US Letter).
       [calls render_page with page = 2]
       Página 2 de 'report.pdf' Salvo em: <output folder>/report_page2.png
       Aqui está o que a página 2 mostra: ...

A imagem aparece inline nos clientes que a exibem. A resposta em texto é a descrição do agente sobre o que ele vê na página.

O que o agente decide e o que o motor faz?

O agente decide qual página responde à pergunta e o que perguntar ao modelo sobre ela. O motor executa a parte que precisa ser exata: abrir o arquivo, paginá‑lo da forma que o documento pagina e produzir o PNG. O modelo nunca precisa adivinhar o layout da página, pois recebe a página renderizada.

Limites honestos

  • Modo de avaliação. Sem licença, as páginas renderizadas carregam uma marca d’água de avaliação e um processo de servidor abre no máximo 15 documentos. A marca d’água pode cobrir o detalhe que você está perguntando. Pergunte ao agente “O servidor Viewer está licenciado?” para que ele chame get_license_status antes de confiar no que lê.
  • Apenas PNG. A saída é uma imagem PNG; não há opção de formato.
  • Sem verificação de número de página. render_page não rejeita um número de página além da última. Verifique a contagem com get_view_info primeiro.
  • O modelo deve aceitar imagens. Com um modelo apenas de texto o agente ainda recebe o caminho do arquivo salvo, mas não pode dizer o que há na página.
  • Imagens são grandes. Cada página é um PNG inline, frequentemente algumas centenas de kilobytes. Renderize apenas as páginas que a tarefa necessita, não o arquivo inteiro.
  • Uma coisa sai da máquina. A imagem renderizada vai para o agente e, a partir daí, para o modelo que ele usa. Um modelo hospedado localmente mantém tudo na máquina.

FAQ

O Claude pode ver minha página PDF e seu layout? Sim, se a página PDF for renderizada como imagem e o modelo Claude em uso aceitar entrada de imagem. render_page produz essa imagem localmente e a devolve ao cliente.

Preciso fazer upload do documento em algum lugar para renderizá‑lo? O servidor lê o arquivo da pasta que você monta e grava a imagem ao lado dele; o documento não é enviado pelo servidor. A imagem da página vai para o modelo do seu agente.

Funciona para Excel e PowerPoint, não apenas PDF? Sim. O PowerPoint renderiza uma imagem por slide, e as planilhas do Excel são divididas em páginas, com a contagem visível através de get_view_info.

Aprofunde