Verika - Verifica P.IVA, Codice Fiscale e IBAN
Verifica partita IVA, codice fiscale e IBAN italiani con dati ufficiali (VIES, IPA, ISTAT)
사용해야 할까요
품질 및 안전성
발견 사항 (3)
- LOWvalida_partita_iva에서
- LOWvalida_codice_fiscale에서
- LOWvalida_iban에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"partita-iva-mcp": {
"url": "https://partita-iva-mcp.pons-labs.workers.dev"
}
}
}원격 엔드포인트
https://partita-iva-mcp.pons-labs.workers.devstreamable-httphttps://partita-iva-mcp.pons-labs.workers.dev/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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.
입력 스키마
{
"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#"
}출력 스키마
{
"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.
입력 스키마
{
"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#"
}출력 스키마
{
"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`.
입력 스키마
{
"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#"
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {
"partita_iva": {
"type": "string",
"description": "Partita IVA italiana, 11 cifre"
}
},
"required": [
"partita_iva"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"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.
입력 스키마
{
"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#"
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {
"iban": {
"type": "string",
"description": "IBAN, con o senza spazi"
}
},
"required": [
"iban"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"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).
입력 스키마
{
"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#"
}출력 스키마
{
"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
}커뮤니티
증거