Conecta tus agentes de IA a tus PDF.
El servidor Model Context Protocol de iFillPDF le da a Claude, ChatGPT, Gemini y Cursor las mismas capacidades que el editor: detectar los campos de un formulario, rellenarlo, convertirlo en plantilla o sacar un dato de la caja fuerte — sin salir de la conversación.
Conexión
El servidor habla Streamable HTTP (la SSE heredada sigue disponible para los clientes más antiguos). Elige tu cliente: la autenticación se resuelve en un clic.
claude mcp add --transport http ifillpdf https://mcp.ifillpdf.com/mcp
# La première connexion ouvre le flux OAuth iFillPDF dans le navigateur.SSE heredada: https://mcp.ifillpdf.com/sse. Si no hay navegador disponible (CI), cambia a una clave ifk_live_… creada desde tu perfil.
Autenticación y scopes
Dos modos, verificados en cada petición: el JWT de OAuth 2.1 de Supabase (con consentimiento del usuario) o una clave Bearer ifk_live_…. Una clave Bearer es una credencial de servicio de larga duración y recibe todos los scopes de abajo.
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.Flujo típico
Un agente encadena la detección de campos y después el relleno. Para los formularios recurrentes, crea una plantilla una sola vez e instánciala a partir de ahí.
1. analyze_pdf → sube el PDF, devuelve schema.fields[]
2. add_to_vault → (opcional) IBAN, nómina, pasaporte
3. fill_pdf → rellena los campos detectados, devuelve el PDF
4. use_template → instancia una plantilla ya listaPrompts de ejemplo
Lo que puedes pedir en lenguaje natural, y las herramientas que dispara.
« Rellena este contrato de alquiler y guarda el IBAN en la caja fuerte. »
« Busca una plantilla del modelo 145 y prerrellénamela. »
« ¿Qué campos espera este PDF antes de que lo firme? »
« Convierte este contrato analizado en una plantilla de equipo reutilizable. »
Referencia de herramientas
Doce herramientas repartidas en tres familias. Cada una aplica su propio control de scope; si falta un scope, la respuesta es un error que te invita a volver a autorizar la conexión.
ADocuments (5)
+
Documents (5)
get_documentdocuments:readRé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.
document_id (uuid) · wait_for_completion?list_documentsdocuments:readListe les documents de l’équipe, du plus récent au plus ancien, paginé par curseur.
limit (1-100, déf. 20) · cursor? · q? · status? · include_voided?analyze_pdfdocuments:writeUpload 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).
pdf_base64 (≤4 MB, marche depuis ChatGPT/Claude.ai), pending_upload_id, ou pdf_url · name? · description?fill_pdfdocuments:writeRemplit les champs détectés et produit le PDF complété. Textes, cases à cocher, nombres, et signatures/images via {dataUrl}.
document_id · values (field_id → valeur) · return_format? (url par défaut, base64 pour hôtes sandboxés)request_pdf_uploaddocuments:writeRenvoie une URL Supabase signée à usage unique pour téléverser des PDF jusqu’à 25 MB, puis appeler analyze_pdf avec pending_upload_id.
fileName (.pdf) · sizeBytes (≤ 25 MB)BCoffre (1)
+
Coffre (1)
add_to_vaultvault:writeStocke une pièce personnelle (fiche de paie, RIB, KBIS, passeport) dans le coffre. iFillPDF la réutilise pour pré-remplir les formulaires.
file_base64 · file_name · mime_type (pdf/jpeg/png/webp/heic) · label?CModèles (6)
+
Modèles (6)
list_templatestemplates:readParcourt la bibliothèque publique (scope=public) ou vos modèles équipe/privés (scope=mine).
scope (public | mine) · category? · language? · q? · limit · cursor?get_templatetemplates:readInspecte un modèle (champs, parties, structure). Ne renvoie jamais de valeurs pré-remplies.
template_idcreate_templatetemplates:writeFige un document analysé en modèle réutilisable (privé ou équipe). La publication publique est réservée aux admins.
source_document_id · name? · description? · category? · tags[]? · language? · visibility? (private | team)use_templatetemplates:writeDuplique un modèle en nouveau document de travail pré-rempli avec ses valeurs par défaut. Gratuit — ne consomme pas de quota.
template_idupdate_templatetemplates:writeMet à jour les métadonnées et la visibilité de votre propre modèle. Seul le créateur peut éditer.
template_id · name? · description? · category? · tags[]? · language? · visibility? (private | team)delete_templatetemplates:writeSupprime définitivement votre modèle et ses fichiers. Les documents déjà créés à partir du modèle ne sont pas affectés.
template_idHosts en sandbox (ChatGPT, Claude.ai, web)
Los hosts MCP en sandbox no pueden hacer peticiones HTTP salientes (un PUT a una URL firmada, un GET a un enlace de descarga). Para ellos, haz pasar los bytes por el propio canal MCP:
analyze_pdf con pdf_base64 (≤ 4 MB) en lugar de request_pdf_upload.
fill_pdf con return_format: "base64" (cambia a URL por encima de 4 MB).
Desde un agente CLI local capaz de hacer peticiones salientes, prefiere las URL firmadas y pending_upload_id para manejar archivos de hasta 25 MB. El contrato REST completo está en la página para desarrolladores y en /openapi.json.