Verbinde deine KI-Agenten mit deinen PDFs.
Der Model-Context-Protocol-Server von iFillPDF gibt Claude, ChatGPT, Gemini und Cursor dieselben Fähigkeiten wie der Editor: die Felder eines Formulars erkennen, es ausfüllen, daraus eine Vorlage bauen oder auf den Dokumententresor zugreifen — direkt aus dem Gespräch heraus.
Verbinden
Der Server spricht Streamable HTTP; die alte SSE-Variante bleibt für ältere Clients erreichbar. Nichts zu installieren, kein lokaler Prozess: Du hinterlegst die URL in deinem Client und bestätigst die Anmeldung mit einem Klick.
claude mcp add --transport http ifillpdf https://mcp.ifillpdf.com/mcp
# La première connexion ouvre le flux OAuth iFillPDF dans le navigateur.Legacy-SSE: https://mcp.ifillpdf.com/sse. Wenn kein Browser zur Verfügung steht (etwa in der CI), nimmst du stattdessen einen ifk_live_…-Key aus deinem Profil.
Authentifizierung & Scopes
Zwei Verfahren, bei jeder Anfrage neu geprüft: das OAuth-2.1-JWT von Supabase (mit ausdrücklicher Zustimmung des Nutzers, Discovery und PKCE laufen automatisch) oder ein Bearer-Key ifk_live_…. Ein Bearer-Key ist ein langlebiges Service-Credential und bekommt sämtliche Scopes aus der Liste unten.
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.Typischer Ablauf
Ein Agent verkettet Felderkennung und Ausfüllen. Die Erkennung läuft per KI und funktioniert auch bei gescannten PDFs ohne AcroForm-Felder. Für wiederkehrende Formulare legst du die Vorlage einmal an und rufst sie danach nur noch auf.
1. analyze_pdf → PDF hochladen, liefert schema.fields[]
2. add_to_vault → (optional) Bankverbindung, Gehaltsabrechnung, Ausweis
3. fill_pdf → füllt die erkannten Felder, liefert das PDF zurück
4. use_template → erzeugt ein Dokument aus einer fertigen VorlageBeispiel-Prompts
Was du in normaler Sprache verlangen kannst — und welche Tools dahinter anspringen.
« Füll diesen Mietvertrag aus und leg die Bankverbindung im Tresor ab. »
« Such mir eine Vorlage für die Anlage N und füll sie schon mal vor. »
« Welche Felder erwartet dieses PDF, bevor ich es unterschreibe? »
« Mach aus diesem analysierten Vertrag eine wiederverwendbare Team-Vorlage. »
Tool-Referenz
Zwölf Tools in drei Familien: Dokumente, Vorlagen, Tresor. Jedes Tool prüft seinen eigenen Scope; fehlt einer, kommt ein Fehler zurück, der zum erneuten Autorisieren der Verbindung auffordert.
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_idSandbox-Hosts (ChatGPT, Claude.ai, Web)
MCP-Hosts in der Sandbox dürfen keine ausgehenden HTTP-Anfragen stellen — kein PUT auf eine signierte URL, kein GET auf einen Download-Link. Für sie schickst du die Bytes über den MCP-Kanal selbst:
analyze_pdf mit pdf_base64 (≤ 4 MB) statt request_pdf_upload.
fill_pdf mit return_format: "base64" (fällt oberhalb von 4 MB automatisch auf eine URL zurück).
Aus einem lokalen CLI-Agenten, der ausgehende Anfragen stellen darf, nimmst du besser signierte URLs und pending_upload_id — damit sind Dateien bis 25 MB möglich. Den vollständigen REST-Vertrag findest du auf der Entwicklerseite und in /openapi.json.