PDFops

Ferramentas PDF determinísticas para agentes de IA: inspecionar campos AcroForm, preencher formulários, mesclar PDFs e gerar faturas. Teste sem chave, npx -y pdfops-mcp.

Documentação

pdfops-mcp

Servidor MCP que oferece ferramentas PDF determinísticas para agentes de IA, com suporte da API PDFops: inspecione campos de formulários AcroForm, preencha formulários, mescle PDFs e gere faturas — sem Chromium, sem dependências nativas, sem necessidade de hospedagem.

Além de um agente local, as ferramentas operam em caminhos de arquivo, então os bytes do PDF nunca transitam pelo contexto do modelo: seu agente diz "preencha /tmp/form.pdf e salve em /tmp/out.pdf" e recebe uma confirmação de uma linha. Cada entrada PDF também aceita uma URL https:// ou uma URI data:application/pdf;base64,…, e cada saída pode ser retornada inline em vez de gravada — é isso que faz o servidor funcionar em runtimes hospedados (veja abaixo).

Instalação

Claude Code

claude mcp add pdfops -- npx -y pdfops-mcp
# with a key:
claude mcp add pdfops -e PDFOPS_API_KEY=pdfops_live_… -- npx -y pdfops-mcp

Claude Desktop (claude_desktop_config.json) / Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "pdfops": {
      "command": "npx",
      "args": ["-y", "pdfops-mcp"],
      "env": { "PDFOPS_API_KEY": "pdfops_live_…" }
    }
  }
}

VS Code (.vscode/mcp.json, observe a chave servers e o type)

{
  "servers": {
    "pdfops": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "pdfops-mcp"],
      "env": { "PDFOPS_API_KEY": "pdfops_live_…" }
    }
  }
}

Qualquer outro cliente stdio (Windsurf, Cline, Zed, seu próprio agente): comando npx, argumentos -y pdfops-mcp. Passo a passo por cliente e uma transcrição real de chamada de ferramenta: pdfops.dev/mcp.

PDFOPS_API_KEY é opcional — sem ele você obtém o teste sem chave (100 solicitações/IP/mês). Uma chave gratuita (250/mês, sem cartão) leva um campo em pdfops.dev/pricing.

Ferramentas

FerramentaO que faz
pdf_inspectLista os campos de formulário de um PDF (nomes, tipos, opções, valores) + um modelo de preenchimento pronto para colar. Chame primeiro em PDFs desconhecidos.
pdf_fillPreenche campos AcroForm → grava o PDF preenchido. O flatten opcional incorpora os valores e remove o formulário.
pdf_mergeMescla ≥2 PDFs em ordem → grava o resultado.
pdf_invoiceDados estruturados → PDF de fatura completo. Determinístico: mesma entrada, saída byte idêntica.
pdfops_usageVerificação de cota para a chave configurada.

Execução remota (Smithery, hospedagem Glama, gateways de IDE em nuvem)

Um runtime MCP hospedado executa este servidor em uma máquina onde os caminhos de arquivo do seu agente não existem. Nada muda na configuração — passe fontes que o servidor possa acessar e omita output_path:

  • Entradas (pdf_path, pdf_paths): uma URL https:// que o servidor possa buscar (≤50 MB), ou uma URI data:application/pdf;base64,… para arquivos pequenos.
  • Saídas: omita output_path e pdf_fill / pdf_merge / pdf_invoice retornam o PDF inline como um recurso application/pdf incorporado (pdfops://filled.pdf, …) que o cliente salva. Com output_path definido, o arquivo é gravado onde o servidor executa.

Localmente, caminhos absolutos continuam funcionando exatamente como antes e permanecem a forma recomendada — os bytes ficam fora do contexto do modelo.

Exemplos de prompts

  • "Quais campos ~/forms/fw9.pdf tem?" → pdf_inspect
  • "Preencha ~/forms/fw9.pdf para Ada Lovelace, 12 Analytical Way, Londres; salve achatado como ~/out/w9-ada.pdf" → pdf_inspect, depois pdf_fill com flatten: true
  • "Preencha o formulário de integração uma vez por linha de contractors.csv em ~/out/" → um pdf_inspect, depois pdf_fill por linha
  • "Mescle ~/out/w9-ada.pdf, ~/docs/nda.pdf e ~/docs/cover.pdf em um pacote, capa primeiro" → pdf_merge
  • "Fature a Globex por 3 dias de consultoria a $650, imposto de 8,5%, vencimento em 30 dias" → pdf_invoice
  • "Quantas solicitações PDFops ainda tenho este mês?" → pdfops_usage

Fluxo de exemplo do agente

"Preencha o modelo W-9 em ~/docs/w9.pdf para Ada Lovelace e mescle com ~/docs/cover.pdf"

  1. pdf_inspect → descobre nomes de campos + modelo de preenchimento
  2. pdf_fill → grava o W-9 preenchido
  3. pdf_merge → grava o pacote combinado

Links

Documentação da API: pdfops.dev/docs · OpenAPI: pdfops.dev/openapi.json · Cliente tipado: pdfops-sdk · Perguntas: hello@pdfops.dev

Política de Privacidade

Este servidor executa na sua máquina e envia apenas o que uma chamada de ferramenta precisa para a API PDFops (https://pdfops.dev): os bytes do PDF que você aponta, os valores de campo que você fornece e sua chave de API, se você definir uma. A PDFops processa a solicitação em memória e retorna o resultado; ela não armazena seus documentos. O uso anônimo é medido por IP e por tag de cliente (mcp) apenas para cota e atribuição. Nada é compartilhado com terceiros. A política completa, incluindo retenção e detalhes de contato, está em https://pdfops.dev/privacy. Perguntas: hello@pdfops.dev.

MIT © PDFops