Server MCP

Collega i tuoi agenti IA ai tuoi PDF.

Il server Model Context Protocol di iFillPDF dà a Claude, ChatGPT, Gemini e Cursor le stesse capacità dell'editor: analizzare un modulo, compilarlo, trasformarlo in modello o attingere alla cassaforte — direttamente dalla conversazione.

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

Connessione

Il server parla Streamable HTTP (la SSE storica resta disponibile per i client meno recenti). Scegli il tuo client: l'autenticazione si risolve in 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 legacy: https://mcp.ifillpdf.com/sse. Senza un browser a disposizione (CI), passa a una chiave ifk_live_… creata dal tuo profilo.

02

Autenticazione e scope

Due modalità, verificate a ogni richiesta: il JWT OAuth 2.1 di Supabase (consenso dell'utente) oppure una chiave Bearer ifk_live_…. Una chiave Bearer è una credenziale di servizio a lunga durata e ottiene tutti gli scope elencati qui sotto.

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.
Sicurezza: collega il server a un ambiente di lavoro, non a dati di produzione sensibili. Gli agenti possono cadere vittima di prompt injection — mantieni una conferma umana sulle azioni distruttive.
03

Flusso tipico

Un agente concatena il rilevamento dei campi e poi la compilazione. Per i moduli ricorrenti, crea un modello una volta sola e istanzialo in seguito.

1. analyze_pdf      → carica il PDF, restituisce schema.fields[]
2. add_to_vault     → (facoltativo) IBAN, busta paga, passaporto
3. fill_pdf         → compila i campi rilevati, restituisce il PDF
4. use_template     → istanzia un modello già pronto
04

Prompt di esempio

Che cosa puoi chiedere in linguaggio naturale e gli strumenti che si attivano.

« Compila questo contratto di locazione e metti l'IBAN in cassaforte. »

analyze_pdf → add_to_vault → fill_pdf

« Trova un modello di F24 e precompilamelo. »

list_templates → use_template → fill_pdf

« Quali campi si aspetta questo PDF prima che lo firmi? »

analyze_pdf → get_document

« Trasforma questo contratto analizzato in un modello di team riutilizzabile. »

create_template
05

Riferimento degli strumenti

Dodici strumenti divisi in tre famiglie. Ognuno applica il proprio controllo di scope; uno scope mancante restituisce un errore che invita a ri-autorizzare la connessione.

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

Host in sandbox (ChatGPT, Claude.ai, web)

Gli host MCP in sandbox non possono effettuare richieste HTTP in uscita (un PUT verso un URL firmato, un GET su un link di download). Per loro, fai transitare i byte sul canale MCP stesso:

Caricamento

analyze_pdf con pdf_base64 (≤ 4 MB) invece di request_pdf_upload.

Scaricamento

fill_pdf con return_format: "base64" (passa automaticamente a un URL oltre i 4 MB).

Da un agente CLI locale in grado di fare richieste in uscita, preferisci gli URL firmati e pending_upload_id per gestire file fino a 25 MB. Il contratto REST completo è sulla pagina sviluppatori e in /openapi.json.

Server MCP iFillPDF per Claude, ChatGPT, Gemini e Cursor