Um agente de IA deve perguntar a um documento três coisas antes de renderizar uma única página: quantas páginas ele tem, qual o tamanho de cada página e se ele precisa de senha. O servidor GroupDocs.Viewer.Mcp responde as duas primeiras com uma chamada barata (get_view_info), executada localmente na sua máquina, e a questão da senha é resolvida no prompt. O agente então renderiza apenas as páginas que importam:

O que é contract.docx — quantas páginas, e qual o tamanho da página?

A versão passo a passo com configuração e solução de problemas está na documentação: Como verificar as páginas de um documento antes de renderizá-las.

Por que inspecionar primeiro?

Cada página que a ferramenta render_page produz volta para o agente como um PNG embutido, frequentemente com algumas centenas de kilobytes. Um agente que renderiza um arquivo de 60 páginas para encontrar uma tabela paga por 59 imagens que não precisava, tanto em tempo quanto na janela de contexto. A ferramenta de inspeção, get_view_info, não renderiza nada. Ela retorna um pequeno objeto JSON, de modo que a decisão sobre o que renderizar é feita com base em fatos e não em suposições.

O padrão pode ser reutilizado em qualquer cliente: Claude Desktop, Claude Code, Cursor, VS Code com GitHub Copilot ou Windsurf. É um hábito que você coloca em um prompt, não um recurso que você configura.

Pergunta 1: Quantas páginas há?

get_view_info retorna pageCount. Esta é a única proteção contra um ponto crítico documentado: render_page não verifica o número da página em relação ao documento. Solicite a página 40 de um arquivo de 12 páginas e você ainda receberá uma imagem, salva como <name>_page40.png, de uma página que não é a página 40.

Um prompt que incorpora a proteção:

Quantas páginas tem o relatório? Então mostre-me a última.

Para planilhas, a contagem é ainda mais importante. O mecanismo divide uma planilha em páginas, e o número pode ser muito maior do que a planilha aparenta. Saber isso primeiro impede que o agente renderize todas elas.

Pergunta 2: Qual é o tamanho de cada página?

Qual é o tamanho das páginas deste PDF — Letter ou A4?

A resposta lista number, width e height para cada página, em pontos. 612 por 792 corresponde ao US Letter; cerca de 595 por 842 corresponde ao A4. Um documento com uma página em paisagem entre páginas em retrato mostra isso nos tamanhos, e essa página costuma ser a tabela ou o desenho que alguém está perguntando.

Outros dois campos, name e visible, são preenchidos onde o formato os possui, por exemplo nomes de planilhas e slides ou folhas ocultas. Caso contrário, são null e true.

Pergunta 3: O arquivo precisa de senha?

get_view_info não possui campo de proteção, portanto o tipo de arquivo e a contagem de páginas não informam se é necessária senha. Um arquivo protegido por senha precisa da senha em cada chamada, para qualquer ferramenta. Forneça-a antecipadamente no prompt:

A senha para contract.pdf está na minha mensagem. Verifique quantas páginas ele tem, então mostre-me a página 2.

Sem a senha, a chamada falha, e o agente pode pedir a senha em vez de adivinhar. Se a chamada falhar, get_view_info retorna um texto iniciando com View-info lookup failed for seguido do tipo de exceção e da mensagem, de modo que o agente pode ler o motivo e solicitar a senha ou o nome correto do arquivo.

Um prompt reutilizável de inspecionar-antes-de-renderizar

Antes de renderizar qualquer coisa do arquivo nomeado abaixo, verifique seu tipo de arquivo, contagem de páginas e tamanhos de página. Diga-me o que encontrou, então renderize apenas as páginas necessárias para responder à minha pergunta. Arquivo: contract.docx. Pergunta: onde está a cláusula de rescisão?

O agente chama get_view_info, relata o tipo de arquivo e a contagem de páginas, seleciona as páginas e chama render_page para cada uma. A ferramenta get_license_status é a terceira ferramenta no servidor; use-a quando precisar saber se as páginas renderizadas terão marca d’água.

Sessão de exemplo

Uma ilustração baseada no formato de resposta documentado, não uma captura de tela.

You:   Inspect report.pdf before rendering anything.

Agent: [calls get_view_info on report.pdf]
       report.pdf: Portable Document Format File (.pdf), 2 pages.
       Page 1: 612 x 792 points (US Letter). Page 2: 612 x 792 points.
       Which page would you like me to render?

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

Etapa Agente Mecanismo
Escolher o arquivo Obtém o nome do arquivo do seu prompt Resolve-o na pasta de armazenamento, lista arquivos disponíveis se o nome não corresponder
Inspecionar Decide quais perguntas são relevantes Retorna o tipo de arquivo, contagem de páginas e tamanhos de página
Selecionar páginas Mapeia sua pergunta para números de página Nada
Renderizar Chama render_page para cada página escolhida Produz o PNG

Limites honestos

  • Modo de avaliação. As páginas renderizadas contêm uma marca d’água de avaliação e um processo do servidor abre no máximo 15 documentos. Pergunte “O servidor Viewer está licenciado?” para que o agente chame get_license_status antes de confiar na saída.
  • A contagem de páginas não escolhe páginas para você. get_view_info diz quais páginas existem, não qual contém a resposta. Para isso, renderize uma página de índice ou alguns candidatos.
  • Apenas PNG. Não há opção de formato em render_page.

Perguntas Frequentes

Como um agente de IA pode obter a contagem de páginas de um PDF? Se o servidor Viewer estiver conectado, Claude pode chamar get_view_info e ler pageCount sem renderizar nada. A resposta vem do documento, não de uma suposição.

A ferramenta MCP de informações do documento pode dizer ao agente quais páginas renderizar? Sim. Forneça primeiro a contagem de páginas e os tamanhos, depois informe o que está procurando. Ela renderiza as páginas que respondem à pergunta.

Inspecionar um documento faz upload dele para algum lugar? Não. O servidor lê o arquivo da pasta que você configurou e retorna um pequeno objeto JSON ao seu cliente.

Aprofunde-se