MCP-Server

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.

Agent callStreamable HTTP
analyze_pdf(cerfa.pdf)
schema.fields[] · 18 champs
fill_pdf({ field_1: … })
filled.pdf prêt
Transport
HTTP + SSE
Auth
OAuth / Bearer
Tools
12 Tools
01

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.

02

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.
Sicherheit: Häng den Server an eine Arbeitsumgebung, nicht an sensible Produktivdaten. Agenten fallen auf Prompt Injection herein — lass destruktive Aktionen deshalb immer von einem Menschen bestätigen.
03

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 Vorlage
04

Beispiel-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. »

analyze_pdf → add_to_vault → fill_pdf

« Such mir eine Vorlage für die Anlage N und füll sie schon mal vor. »

list_templates → use_template → fill_pdf

« Welche Felder erwartet dieses PDF, bevor ich es unterschreibe? »

analyze_pdf → get_document

« Mach aus diesem analysierten Vertrag eine wiederverwendbare Team-Vorlage. »

create_template
05

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.

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

Sandbox-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:

Upload

analyze_pdf mit pdf_base64 (≤ 4 MB) statt request_pdf_upload.

Download

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.

MCP-Server für PDF – ausfüllen & signieren | iFillPDF