Skip to content

MCP Integration — Tool Reference

Esegue il parsing di testo diretto, sincrono, con zero-retention.

{
"name": "factum_parse_text",
"inputSchema": {
"type": "object",
"properties": {
"text": { "type": "string", "description": "Testo del documento da analizzare" },
"doc_type": {
"type": "string",
"enum": ["auto", "fattura", "f24", "generico"],
"default": "auto"
}
},
"required": ["text"]
}
}

Output: ParseResponse con DocumentEnvelope v2 (schema_version, meta, payload).

Errori: 401 (chiave mancante), 422 (text vuoto), 503 (sidecar PII giù).

Carica un file (XML FatturaPA o PDF) per elaborazione asincrona.

{
"name": "factum_upload_document",
"inputSchema": {
"type": "object",
"properties": {
"filename": { "type": "string", "description": "Nome file (es. IT01234567890_2026.xml)" },
"file": { "type": "string", "description": "Contenuto base64 del file" }
},
"required": ["filename", "file"]
}
}

Output: DocumentResponse (status done o processing con job_id per il polling).

Errori: 401, 413 (> 10 MB), 415 (Content-Type), 422 (XML non valido).

Liveness/status pubblico, senza autenticazione.

{
"name": "factum_status",
"inputSchema": { "type": "object", "properties": {} }
}

Output: { "status": "ok", "version": "...", "uptime_seconds": N }.

  • Il testo passato a factum_parse_text vive solo in RAM per la durata della richiesta: mai su disco, mai in DB, mai in log.
  • Il sidecar PII pseudonimizza prima dell’LLM e ripristina il mapping dopo la risposta.
  • Nulla viene ritentato in modo esplicito dall’agente se il tool restituisce 503 (privacy block): il server è fail-closed di proposito.