Servidor MCP

Conecte seus agentes de IA aos seus PDF.

O servidor Model Context Protocol do iFillPDF dá ao Claude, ao ChatGPT, ao Gemini e ao Cursor as mesmas capacidades do editor: analisar um formulário, preencher, virar modelo ou buscar no cofre — direto da conversa. Os outros servidores MCP de PDF só leem; este preenche.

Agent callStreamable HTTP
analyze_pdf(cerfa.pdf)
schema.fields[] · 18 champs
fill_pdf({ field_1: … })
filled.pdf prêt
Transporte
HTTP + SSE
Autenticação
OAuth / Bearer
Ferramentas
12 ferramentas
01

Conexão

O servidor é remoto e roda em Streamable HTTP (a SSE antiga continua disponível para clientes mais velhos). Não tem nada para instalar na sua máquina: sem Python, sem OCR local, sem processo em segundo plano por dev do time. Escolha o seu cliente e resolva a autenticação em um clique — a conta gratuita já usa todas as ferramentas, com marca d’água na exportação.

claude mcp add --transport http ifillpdf https://mcp.ifillpdf.com/mcp

# La première connexion ouvre le flux OAuth iFillPDF dans le navigateur.

SSE antiga: https://mcp.ifillpdf.com/sse. Sem navegador (CI, pipeline), use a chave ifk_live_… criada no seu perfil.

02

Autenticação e escopos

Dois modos, verificados a cada requisição: o JWT OAuth 2.1 do Supabase, com descoberta dinâmica e PKCE, ou uma chave Bearer ifk_live_…. A chave Bearer é uma credencial de serviço de longa duração e recebe todos os escopos abaixo — trate como segredo de produção.

documents:readLire les documents, leur schéma et leurs valeurs.
documents:writeCréer, analyser, remplir et coffrer des documents.
vault:writeAjouter des pièces personnelles au coffre.
templates:readLister et lire les modèles visibles.
templates:writeCréer, dupliquer, modifier et supprimer vos modèles.
Segurança: conecte o servidor a um ambiente de trabalho, não à sua base de produção sensível. Agentes caem em prompt injection — mantenha uma confirmação humana nas ações destrutivas. Os arquivos ficam hospedados na União Europeia (Frankfurt).
03

Fluxo típico

O agente encadeia a detecção dos campos e depois o preenchimento. A detecção é feita por IA e funciona até em PDF escaneado, sem AcroForm. Para formulários recorrentes, crie o modelo uma vez e instancie nas próximas.

1. analyze_pdf      → envia o PDF e devolve schema.fields[]
2. add_to_vault     → (opcional) dados bancários, holerite, RG
3. fill_pdf         → preenche os campos detectados e devolve o PDF
4. use_template     → instancia um modelo já pronto
04

Prompts de exemplo

O que dá para pedir em português mesmo, e as ferramentas que isso dispara.

« Preencha este contrato de locação e guarde os dados bancários no cofre. »

analyze_pdf → add_to_vault → fill_pdf

« Ache um modelo de contrato de prestação de serviços e já preencha pra mim. »

list_templates → use_template → fill_pdf

« Quais campos este PDF espera antes de eu assinar? »

analyze_pdf → get_document

« Transforme este contrato analisado em um modelo reutilizável do time. »

create_template
05

Referência das ferramentas

Doze ferramentas em três famílias. Cada uma faz o próprio controle de escopo; escopo faltando devolve um erro pedindo para reautorizar a conexão.

A

Documents (5)

+
get_documentdocuments:read

Récupère l’état, le schéma et les valeurs d’un document. wait_for_completion attend côté serveur jusqu’à la fin de l’analyse IA.

Inputs
document_id (uuid) · wait_for_completion?
list_documentsdocuments:read

Liste les documents de l’équipe, du plus récent au plus ancien, paginé par curseur.

Inputs
limit (1-100, déf. 20) · cursor? · q? · status? · include_voided?
analyze_pdfdocuments:write

Upload un PDF, détecte chaque champ remplissable et renvoie un schéma structuré (schema.fields[] avec position, label sémantique, type attendu, et rôles dans parties).

Inputs
pdf_base64 (≤4 MB, marche depuis ChatGPT/Claude.ai), pending_upload_id, ou pdf_url · name? · description?
fill_pdfdocuments:write

Remplit les champs détectés et produit le PDF complété. Textes, cases à cocher, nombres, et signatures/images via {dataUrl}.

Inputs
document_id · values (field_id → valeur) · return_format? (url par défaut, base64 pour hôtes sandboxés)
request_pdf_uploaddocuments:write

Renvoie une URL Supabase signée à usage unique pour téléverser des PDF jusqu’à 25 MB, puis appeler analyze_pdf avec pending_upload_id.

Inputs
fileName (.pdf) · sizeBytes (≤ 25 MB)
B

Coffre (1)

+
add_to_vaultvault:write

Stocke une pièce personnelle (fiche de paie, RIB, KBIS, passeport) dans le coffre. iFillPDF la réutilise pour pré-remplir les formulaires.

Inputs
file_base64 · file_name · mime_type (pdf/jpeg/png/webp/heic) · label?
C

Modèles (6)

+
list_templatestemplates:read

Parcourt la bibliothèque publique (scope=public) ou vos modèles équipe/privés (scope=mine).

Inputs
scope (public | mine) · category? · language? · q? · limit · cursor?
get_templatetemplates:read

Inspecte un modèle (champs, parties, structure). Ne renvoie jamais de valeurs pré-remplies.

Inputs
template_id
create_templatetemplates:write

Fige un document analysé en modèle réutilisable (privé ou équipe). La publication publique est réservée aux admins.

Inputs
source_document_id · name? · description? · category? · tags[]? · language? · visibility? (private | team)
use_templatetemplates:write

Duplique un modèle en nouveau document de travail pré-rempli avec ses valeurs par défaut. Gratuit — ne consomme pas de quota.

Inputs
template_id
update_templatetemplates:write

Met à jour les métadonnées et la visibilité de votre propre modèle. Seul le créateur peut éditer.

Inputs
template_id · name? · description? · category? · tags[]? · language? · visibility? (private | team)
delete_templatetemplates:write

Supprime définitivement votre modèle et ses fichiers. Les documents déjà créés à partir du modèle ne sont pas affectés.

Inputs
template_id
06

Hosts em sandbox (ChatGPT, Claude.ai, web)

Hosts MCP em sandbox não conseguem fazer requisição HTTP de saída (um PUT numa URL assinada, um GET num link de download). Para esses, passe os bytes pelo próprio canal MCP:

Upload

analyze_pdf com pdf_base64 (≤ 4 MB) em vez de request_pdf_upload.

Download

fill_pdf com return_format: "base64" (cai para URL acima de 4 MB).

Já num agente de linha de comando local, que faz requisições de saída, prefira as URLs assinadas e o pending_upload_id para dar conta de arquivos de até 25 MB. O contrato REST completo está na página de desenvolvedores e em /openapi.json.

Servidor MCP de PDF: Claude, ChatGPT, Gemini e Cursor — iFillPDF