MCP server per collegare Claude Desktop a Fatture in Cloud (analisi dati, preventivi, bozze fattura)
Strong foundation with 19 well-named tools, comprehensive schemas, and Italian descriptions. All tools have clear verb-noun naming (fic_list_*, fic_get_*, fic_create_*, fic_update_*, fic_delete_*). Input schemas are complete with type definitions and parameter descriptions. However, descriptions are brief (avg ~80 chars, below the 194-char baseline), and output schemas are not documented. Error handling via describeError() is good but lacks recovery guidance in tool descriptions. No tool annotations visible in registration code (toolAnnotations=true in features but not evident in src/tools/). Tool composition is clean, each tool has one responsibility, and IDs chain properly across list/get/create operations.
Crea una nuova fattura per un cliente esistente, come semplice creazione del documento: non viene mai inviata via email né trasmessa allo SDI. L'invio resta un'azione manuale da completare direttamente in Fatture in Cloud.
Crea un nuovo prodotto/servizio nel catalogo dell'azienda.
Crea un nuovo preventivo per un cliente esistente. Il documento viene solo creato: non viene mai inviato via email né emesso.
Elimina definitivamente un prodotto/servizio dal catalogo. L'operazione non è reversibile: usarla solo dopo conferma esplicita dell'utente.
Recupera i dettagli completi di un cliente a partire dal suo id.
Recupera le informazioni dell'azienda configurata (ragione sociale, regime fiscale, ecc.). Utile anche come test di connessione al connettore.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'Recupera i dettagli completi') but do not specify the JSON structure, field names, or types. LLMs cannot plan downstream tool calls or extract data reliably without knowing response shape.
Descriptions are brief (avg ~80 chars, below 194-char baseline). Many lack context on WHEN to use the tool vs. similar ones. E.g., fic_list_clients vs. fic_get_client distinction is clear, but fic_list_quotes vs. fic_list_invoices could explain when to call each.
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) declared in features but not visible in tool registration code. Verify that src/tools/registry.ts or individual tool files explicitly set these hints when registering tools with McpServer.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Recupera i dettagli completi di un documento emesso (preventivo, fattura, ecc.) a partire dal suo id.
Recupera i dettagli completi di un prodotto/servizio a partire dal suo id, incluso lo stock corrente.
Calcola un riepilogo del fatturato (totale, numero fatture, importo medio, totali per cliente) sulle fatture emesse in un intervallo di date.
Calcola l'elenco delle rate/pagamenti non ancora incassati sulle fatture emesse in un intervallo di date, evidenziando quelli scaduti. Utile per analizzare la situazione crediti verso clienti.
Recupera i dettagli completi di un fornitore a partire dal suo id.
Elenca i clienti dell'azienda Fatture in Cloud, con ricerca testuale e paginazione.
Elenca le fatture dell'azienda, con ricerca testuale, intervallo di date e paginazione.
Elenca il catalogo prodotti/servizi dell'azienda, inclusi prezzo, aliquota IVA predefinita e livello di magazzino se gestito.
Elenca i preventivi dell'azienda, con ricerca testuale, intervallo di date e paginazione.
Elenca i corrispettivi (ricevute/incassi giornalieri) registrati sull'azienda.
Elenca i fornitori dell'azienda Fatture in Cloud, con ricerca testuale e paginazione.
Elenca le aliquote IVA configurate sull'azienda, con i relativi id. Utile per comporre le righe di preventivi/fatture con l'aliquota corretta.
Modifica i campi indicati di un prodotto/servizio esistente. I campi non specificati restano invariati.
Error messages in describeError() are user-friendly but do not guide LLM recovery. E.g., 404 returns 'Risorsa non trovata' but does not suggest calling fic_list_clients to find the correct ID. Recovery guidance is missing.
Destructive tool (fic_delete_product) lacks confirmation/dry-run pattern. Description warns 'non è reversibile' but tool accepts no confirmation parameter. Agents cannot preview impact before deletion.