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
| Ferramenta | O que faz |
|---|---|
pdf_inspect | Lista 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_fill | Preenche campos AcroForm → grava o PDF preenchido. O flatten opcional incorpora os valores e remove o formulário. |
pdf_merge | Mescla ≥2 PDFs em ordem → grava o resultado. |
pdf_invoice | Dados estruturados → PDF de fatura completo. Determinístico: mesma entrada, saída byte idêntica. |
pdfops_usage | Verificaçã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 URLhttps://que o servidor possa buscar (≤50 MB), ou uma URIdata:application/pdf;base64,…para arquivos pequenos. - Saídas: omita
output_pathepdf_fill/pdf_merge/pdf_invoiceretornam o PDF inline como um recursoapplication/pdfincorporado (pdfops://filled.pdf, …) que o cliente salva. Comoutput_pathdefinido, 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, depoispdf_fillcomflatten: true - "Preencha o formulário de integração uma vez por linha de contractors.csv em ~/out/" → um
pdf_inspect, depoispdf_fillpor 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"
pdf_inspect→ descobre nomes de campos + modelo de preenchimentopdf_fill→ grava o W-9 preenchidopdf_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