Verika - Verifica P.IVA, Codice Fiscale e IBAN
Verifica partita IVA, codice fiscale e IBAN italiani con dati ufficiali (VIES, IPA, ISTAT)
¿Debería usar esto?
Calidad y seguridad
Hallazgos (3)
- LOWen valida_partita_iva
- LOWen valida_codice_fiscale
- LOWen valida_iban
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"partita-iva-mcp": {
"url": "https://partita-iva-mcp.pons-labs.workers.dev"
}
}
}Puntos de conexión remotos
https://partita-iva-mcp.pons-labs.workers.devstreamable-httphttps://partita-iva-mcp.pons-labs.workers.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (7)
🟢controlla_sanzioni(nome, soglia)
Confronta un nome (persona o ente) con la lista consolidata delle sanzioni finanziarie UE, con matching tollerante (ignora forme societarie e accenti). Restituisce le possibili corrispondenze con un punteggio 0-1. Screening indicativo, non un sistema AML certificato: 'da_verificare' significa che un umano deve controllare.
Esquema de entrada
{
"type": "object",
"properties": {
"nome": {
"type": "string",
"description": "Denominazione o nome e cognome da verificare"
},
"soglia": {
"description": "Soglia di somiglianza (default 0.8)",
"type": "number",
"minimum": 0.5,
"maximum": 1
}
},
"required": [
"nome"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"fonte": {
"type": "string"
},
"lista_aggiornata_al": {
"type": [
"string",
"null"
]
},
"voci_in_lista": {
"type": "number"
},
"nome_cercato": {
"type": "string"
},
"soglia": {
"type": "number"
},
"possibili_corrispondenze": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"tipo": {
"type": "string"
},
"nome_in_lista": {
"type": "string"
},
"programmi": {
"type": "array",
"items": {
"type": "string"
}
},
"punteggio": {
"type": "number",
"description": "Somiglianza 0-1"
}
},
"required": [
"id",
"tipo",
"nome_in_lista",
"programmi",
"punteggio"
],
"additionalProperties": {}
}
},
"esito": {
"type": "string",
"enum": [
"nessuna_corrispondenza",
"da_verificare",
"lista_non_caricata"
]
}
},
"required": [
"fonte",
"lista_aggiornata_al",
"voci_in_lista",
"nome_cercato",
"soglia",
"possibili_corrispondenze",
"esito"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢cerca_comune(nome, provincia, codice_catastale)
Trova un comune italiano per nome (con provincia opzionale) o per codice catastale, dalla tabella ISTAT locale. Restituisce denominazione canonica, provincia, regione, codice catastale e codice ISTAT.
Esquema de entrada
{
"type": "object",
"properties": {
"nome": {
"description": "Nome del comune, es. 'Atri'",
"type": "string"
},
"provincia": {
"description": "Sigla provincia per disambiguare, es. 'TE'",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"codice_catastale": {
"description": "Codice catastale, es. 'A562'",
"type": "string",
"minLength": 4,
"maxLength": 4
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"trovato": {
"type": "boolean"
},
"comune": {
"type": "string"
},
"provincia": {
"type": "string"
},
"regione": {
"type": "string"
},
"codice_catastale": {
"type": "string"
},
"codice_istat": {
"type": "string"
},
"tabella": {
"type": "object",
"properties": {
"fonte": {
"type": "string"
},
"voci": {
"type": "number"
}
},
"required": [
"fonte",
"voci"
],
"additionalProperties": {}
},
"omonimi": {
"description": "Comuni con lo stesso nome, se la provincia non basta a sceglierne uno",
"type": "array",
"items": {
"type": "object",
"properties": {
"provincia": {
"type": "string"
},
"codice_catastale": {
"type": "string"
}
},
"required": [
"provincia",
"codice_catastale"
],
"additionalProperties": {}
}
},
"errore": {
"type": "string"
}
},
"required": [
"trovato"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢valida_partita_iva(partita_iva)
Controllo formale e offline di una partita IVA italiana: lunghezza, cifra di controllo, codice ufficio. Non dice se la partita IVA è attiva: per quello usa `verifica_partita_iva`.
Esquema de entrada
{
"type": "object",
"properties": {
"partita_iva": {
"type": "string",
"description": "Partita IVA, con o senza prefisso IT, spazi o punti"
}
},
"required": [
"partita_iva"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"input": {
"type": "string"
},
"normalizzata": {
"type": "string",
"description": "Partita IVA senza prefisso IT, spazi o punti"
},
"valida": {
"type": "boolean",
"description": "true se supera il controllo formale"
},
"errore": {
"type": "string"
},
"ufficio": {
"description": "Codice ufficio (cifre 8-10)",
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"input",
"normalizzata",
"valida"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢verifica_partita_iva(partita_iva)
Verifica se una partita IVA italiana è attiva interrogando VIES (Commissione Europea). Restituisce anche denominazione e indirizzo quando disponibili. Se la partita IVA non supera il controllo formale, VIES non viene interrogato.
Esquema de entrada
{
"type": "object",
"properties": {
"partita_iva": {
"type": "string",
"description": "Partita IVA italiana, 11 cifre"
}
},
"required": [
"partita_iva"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"formale": {
"type": "object",
"properties": {
"input": {
"type": "string"
},
"normalizzata": {
"type": "string",
"description": "Partita IVA senza prefisso IT, spazi o punti"
},
"valida": {
"type": "boolean",
"description": "true se supera il controllo formale"
},
"errore": {
"type": "string"
},
"ufficio": {
"description": "Codice ufficio (cifre 8-10)",
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"input",
"normalizzata",
"valida"
],
"additionalProperties": {}
},
"vies": {
"anyOf": [
{
"type": "object",
"properties": {
"fonte": {
"type": "string",
"const": "VIES"
},
"interrogato_il": {
"type": "string"
},
"paese": {
"type": "string"
},
"partita_iva": {
"type": "string"
},
"attiva": {
"type": "boolean",
"description": "true se VIES conferma la partita IVA come valida/attiva"
},
"denominazione": {
"type": "string"
},
"indirizzo_grezzo": {
"type": "string"
},
"indirizzo": {
"type": "object",
"properties": {
"via": {
"type": "string"
},
"cap": {
"type": "string"
},
"comune": {
"type": "string"
},
"provincia": {
"type": "string"
},
"regione": {
"type": "string"
},
"codice_catastale": {
"type": "string"
},
"codice_istat": {
"type": "string"
},
"comune_riconosciuto": {
"type": "boolean",
"description": "true se il comune è stato agganciato alla tabella ISTAT"
}
},
"required": [
"comune_riconosciuto"
],
"additionalProperties": {}
},
"servizio_disponibile": {
"type": "boolean",
"description": "false se VIES non era raggiungibile: in quel caso 'attiva' non è significativo"
},
"errore": {
"type": "string"
}
},
"required": [
"fonte",
"interrogato_il",
"paese",
"partita_iva",
"attiva",
"servizio_disponibile"
],
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "null se la partita IVA non supera il controllo formale"
}
},
"required": [
"formale",
"vies"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢valida_codice_fiscale(codice_fiscale)
Validazione offline di un codice fiscale italiano. Per le persone fisiche (16 caratteri) verifica il carattere di controllo, gestisce l'omocodia ed estrae sesso, data di nascita (anno con secolo dedotto) e codice catastale del comune. Per le persone giuridiche (11 cifre) applica il controllo della partita IVA.
Esquema de entrada
{
"type": "object",
"properties": {
"codice_fiscale": {
"type": "string",
"description": "Codice fiscale, 16 caratteri o 11 cifre"
}
},
"required": [
"codice_fiscale"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"input": {
"type": "string"
},
"normalizzato": {
"type": "string"
},
"valido": {
"type": "boolean"
},
"tipo": {
"type": "string",
"enum": [
"persona_fisica",
"persona_giuridica"
]
},
"errore": {
"type": "string"
},
"dati": {
"type": "object",
"properties": {
"sesso": {
"type": "string",
"enum": [
"M",
"F"
]
},
"data_nascita": {
"type": "string",
"description": "YYYY-MM-DD; il secolo è dedotto"
},
"anno_ambiguo": {
"type": "boolean"
},
"codice_catastale": {
"type": "string"
},
"nato_estero": {
"type": "boolean"
},
"luogo_nascita": {
"type": "string"
},
"provincia_nascita": {
"type": "string"
},
"omocodia": {
"type": "boolean"
}
},
"required": [
"sesso",
"data_nascita",
"anno_ambiguo",
"codice_catastale",
"nato_estero",
"omocodia"
],
"additionalProperties": {}
}
},
"required": [
"input",
"normalizzato",
"valido"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢valida_iban(iban)
Validazione offline di un IBAN (mod 97, lunghezza per paese). Per gli IBAN italiani verifica anche il CIN e scompone ABI, CAB e numero di conto. Non verifica l'esistenza del conto.
Esquema de entrada
{
"type": "object",
"properties": {
"iban": {
"type": "string",
"description": "IBAN, con o senza spazi"
}
},
"required": [
"iban"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"input": {
"type": "string"
},
"normalizzato": {
"type": "string"
},
"valido": {
"type": "boolean"
},
"paese": {
"type": "string"
},
"errore": {
"type": "string"
},
"italia": {
"type": "object",
"properties": {
"cin": {
"type": "string"
},
"cin_valido": {
"type": "boolean"
},
"abi": {
"type": "string"
},
"banca": {
"type": "string"
},
"cab": {
"type": "string"
},
"conto": {
"type": "string"
}
},
"required": [
"cin",
"cin_valido",
"abi",
"cab",
"conto"
],
"additionalProperties": {}
},
"formattato": {
"type": "string"
}
},
"required": [
"input",
"normalizzato",
"valido"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢scheda_soggetto(partita_iva, sanzioni)
Quadro completo di un soggetto italiano a partire dalla partita IVA: controllo formale, stato su VIES con denominazione e indirizzo normalizzato (via, CAP, comune ISTAT, provincia, regione), screening sanzioni UE sulla denominazione, se il soggetto è una Pubblica Amministrazione i dati IPA (codice IPA, PEC, sito), e per le imprese con LEI i dati GLEIF: forma giuridica, stato del LEI, controllante diretta, capogruppo e numero di controllate. Ogni blocco indica la fonte e se il servizio era raggiungibile. Per un'azienda privata la scheda non include soci, cariche o bilanci (dati a pagamento del Registro Imprese).
Esquema de entrada
{
"type": "object",
"properties": {
"partita_iva": {
"type": "string",
"description": "Partita IVA italiana, 11 cifre"
},
"sanzioni": {
"description": "Esegui lo screening sanzioni sulla denominazione VIES (default true)",
"type": "boolean"
}
},
"required": [
"partita_iva"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"formale": {
"type": "object",
"properties": {
"input": {
"type": "string"
},
"normalizzata": {
"type": "string",
"description": "Partita IVA senza prefisso IT, spazi o punti"
},
"valida": {
"type": "boolean",
"description": "true se supera il controllo formale"
},
"errore": {
"type": "string"
},
"ufficio": {
"description": "Codice ufficio (cifre 8-10)",
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"input",
"normalizzata",
"valida"
],
"additionalProperties": {}
},
"vies": {
"anyOf": [
{
"type": "object",
"properties": {
"fonte": {
"type": "string",
"const": "VIES"
},
"interrogato_il": {
"type": "string"
},
"paese": {
"type": "string"
},
"partita_iva": {
"type": "string"
},
"attiva": {
"type": "boolean",
"description": "true se VIES conferma la partita IVA come valida/attiva"
},
"denominazione": {
"type": "string"
},
"indirizzo_grezzo": {
"type": "string"
},
"indirizzo": {
"type": "object",
"properties": {
"via": {
"type": "string"
},
"cap": {
"type": "string"
},
"comune": {
"type": "string"
},
"provincia": {
"type": "string"
},
"regione": {
"type": "string"
},
"codice_catastale": {
"type": "string"
},
"codice_istat": {
"type": "string"
},
"comune_riconosciuto": {
"type": "boolean",
"description": "true se il comune è stato agganciato alla tabella ISTAT"
}
},
"required": [
"comune_riconosciuto"
],
"additionalProperties": {}
},
"servizio_disponibile": {
"type": "boolean",
"description": "false se VIES non era raggiungibile: in quel caso 'attiva' non è significativo"
},
"errore": {
"type": "string"
}
},
"required": [
"fonte",
"interrogato_il",
"paese",
"partita_iva",
"attiva",
"servizio_disponibile"
],
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"ipa": {
"anyOf": [
{
"type": "object",
"properties": {
"fonte": {
"type": "string",
"const": "IPA"
},
"e_pubblica_amministrazione": {
"type": "boolean"
},
"codice_ipa": {
"type": "string"
},
"denominazione": {
"type": "string"
},
"tipologia": {
"type": "string"
},
"pec": {
"type": "string"
},
"sito_web": {
"type": "string"
},
"comune": {
"type": "string"
},
"provincia": {
"type": "string"
},
"servizio_disponibile": {
"type": "boolean"
},
"errore": {
"type": "string"
}
},
"required": [
"fonte",
"e_pubblica_amministrazione",
"servizio_disponibile"
],
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"gleif": {
"anyOf": [
{
"type": "object",
"properties": {
"fonte": {
"type": "string",
"const": "GLEIF"
},
"trovato": {
"type": "boolean",
"description": "false se il soggetto non ha un LEI (normale per le piccole imprese)"
},
"lei": {
"type": "string"
},
"denominazione": {
"type": "string"
},
"forma_giuridica": {
"type": "string"
},
"stato_entita": {
"type": "string"
},
"stato_registrazione_lei": {
"description": "ISSUED = valido; LAPSED = non rinnovato",
"type": "string"
},
"lei_aggiornato_al": {
"type": "string"
},
"prossimo_rinnovo_lei": {
"type": "string"
},
"sede_legale": {
"type": "object",
"properties": {
"indirizzo": {
"type": "string"
},
"cap": {
"type": "string"
},
"comune": {
"type": "string"
},
"paese": {
"type": "string"
}
},
"additionalProperties": {}
},
"controllante_diretta": {
"anyOf": [
{
"type": "object",
"properties": {
"lei": {
"type": "string"
},
"denominazione": {
"type": "string"
},
"paese": {
"type": "string"
}
},
"required": [
"lei"
],
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"capogruppo": {
"anyOf": [
{
"type": "object",
"properties": {
"lei": {
"type": "string"
},
"denominazione": {
"type": "string"
},
"paese": {
"type": "string"
}
},
"required": [
"lei"
],
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"numero_controllate_dirette": {
"type": "number"
},
"servizio_disponibile": {
"type": "boolean"
},
"errore": {
"type": "string"
}
},
"required": [
"fonte",
"trovato",
"servizio_disponibile"
],
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "Dati LEI (GLEIF); null se la P.IVA è formalmente errata"
},
"sanzioni": {
"anyOf": [
{
"type": "object",
"properties": {
"fonte": {
"type": "string"
},
"lista_aggiornata_al": {
"type": [
"string",
"null"
]
},
"voci_in_lista": {
"type": "number"
},
"nome_cercato": {
"type": "string"
},
"soglia": {
"type": "number"
},
"possibili_corrispondenze": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"tipo": {
"type": "string"
},
"nome_in_lista": {
"type": "string"
},
"programmi": {
"type": "array",
"items": {
"type": "string"
}
},
"punteggio": {
"type": "number",
"description": "Somiglianza 0-1"
}
},
"required": [
"id",
"tipo",
"nome_in_lista",
"programmi",
"punteggio"
],
"additionalProperties": {}
}
},
"esito": {
"type": "string",
"enum": [
"nessuna_corrispondenza",
"da_verificare",
"lista_non_caricata"
]
}
},
"required": [
"fonte",
"lista_aggiornata_al",
"voci_in_lista",
"nome_cercato",
"soglia",
"possibili_corrispondenze",
"esito"
],
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "null se la P.IVA è formalmente errata, se VIES non dà una denominazione o se disattivato"
},
"riepilogo": {
"type": "string",
"description": "Una frase di sintesi per l'utente"
}
},
"required": [
"formale",
"vies",
"ipa",
"gleif",
"sanzioni",
"riepilogo"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Comunidad
Evidencia