MCP-Server

Piazza in Festa

it.piazzainfesta/eventi
Reisen & Hospitality Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Searches Italian municipal events, festivals, fairs, markets, concerts, and exhibitions with official source links.

cerca_eventi
Cerca eventi e sagre nei comuni italiani
Cerca sagre, feste patronali, fiere, mercatini, concerti, mostre e manifestazioni nei comuni italiani. I dati sono ricavati ogni giorno dagli atti pubblicati sugli albi pretori dei comuni (ordinanze, delibere, concessioni di suolo pubblico), quindi comprendono anche i paesi piccoli, che non stanno su nessun altro calendario. Ogni evento riporta il link alla propria scheda e alla fonte ufficiale.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Ricerca testuale nel titolo e nella descrizione, minimo 3 caratteri.'}, 'al': {'type': 'string', 'description': "Data massima di inizio, formato 'YYYY-MM-DD'."}, 'dal': {'type': 'string', 'description': "Data minima di inizio, formato 'YYYY-MM-DD'."}, 'comune': {'type': 'string', 'description': "Identificativo del comune, in minuscolo e con i trattini (es. 'barolo', 'santo-stefano-belbo'). Usa comuni_coperti per trovarlo."}, 'limite': {'type': 'integer', 'default': 20, 'description': 'Quanti eventi restituire, massimo 50.'}, 'regione': {'type': 'string', 'description': "Nome della regione. Valori: Sicilia, Piemonte, Valle d'Aosta/Vallée d'Aoste, Lombardia, Liguria, Trentino-Alto Adige/Südtirol, Umbria, Veneto, Emilia-Romagna, Toscana, Friuli-Venezia Giulia, Lazio, Marche, Campania, Puglia, Abruzzo, Basilicata, Calabria, Molise, Sardegna"}, 'categoria': {'enum': ['religioso', 'sagra_enogastronomica', 'musica_concerto', 'culturale_mostra', 'incontro_conferenza', 'fiera_mercato', 'mercatini', 'sportivo', 'natura_escursione', 'spettacolo', 'teatro', 'cinema', 'bambini_famiglie', 'istituzionale', 'altro'], 'type': 'string', 'description': 'Filtra per tipo di evento.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['totale', 'eventi'], 'properties': {'eventi': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'comune', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Identificativo da passare a dettaglio_evento.'}, 'lat': {'type': ['number', 'null']}, 'lon': {'type': ['number', 'null']}, 'url': {'type': 'string', 'description': "La pagina dell'evento sul nostro sito: e' questo il link da citare."}, 'luogo': {'type': ['string', 'null'], 'description': "Indirizzo o luogo preciso, quando l'atto lo dice."}, 'comune': {'type': 'string', 'description': 'Identificativo del comune, quello che vuole il filtro comune.'}, 'titolo': {'type': ['string', 'null']}, 'regione': {'type': ['string', 'null']}, 'ingresso': {'enum': ['libero', 'pagamento', None], 'type': ['string', 'null'], 'description': "Nullo quando l'atto non lo dichiara, ed e' il caso di gran lunga piu' frequente. Nullo NON vuol dire gratis: se manca, dillo, non dedurlo."}, 'maps_url': {'type': ['string', 'null']}, 'categoria': {'type': ['string', 'null'], 'description': 'Uno dei valori ammessi per il filtro categoria.'}, 'data_fine': {'type': ['string', 'null'], 'description': "Formato 'YYYY-MM-DD'. Uguale a data_inizio se l'evento dura un giorno."}, 'fonte_url': {'type': ['string', 'null'], 'description': "L'atto sul portale del comune. Puo' sparire quando l'albo ruota."}, 'provincia': {'type': ['string', 'null'], 'description': 'Sigla della provincia.'}, 'created_at': {'type': 'string', 'description': 'ISO 8601 UTC.'}, 'info_utili': {'type': ['string', 'null'], 'description': 'Note pratiche: orari, come arrivare, prenotazioni.'}, 'updated_at': {'type': 'string', 'description': 'ISO 8601 UTC.'}, 'comune_nome': {'type': ['string', 'null'], 'description': 'Nome del comune per esteso.'}, 'data_inizio': {'type': ['string', 'null'], 'description': "Formato 'YYYY-MM-DD'."}, 'descrizione': {'type': ['string', 'null']}, 'locandina_url': {'type': ['string', 'null'], 'description': 'La locandina, quando il comune ne ha pubblicata una.'}, 'date_occorrenze': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': "Le singole date quando l'evento non occupa un intervallo pieno, per esempio tre domeniche di fila."}, 'stato_temporale': {'type': ['string', 'null'], 'description': "Se e' in corso, in arrivo o concluso."}, 'biglietteria_url': {'type': ['string', 'null'], 'description': "Dove si comprano i biglietti, solo se l'atto lo riportava."}, 'organizzatore_ente': {'type': ['string', 'null'], 'description': "Chi organizza, quando e' un ente e non una persona."}, 'fonte_permanente_url': {'type': ['string', 'null'], 'description': "La nostra copia permanente dell'atto, che non scade."}}}, 'description': 'La pagina di risultati, lunga al massimo quanto `limite`.'}, 'totale': {'type': 'integer', 'description': 'Quanti eventi rispondono ai criteri in tutto, anche oltre quelli riportati qui.'}}}
comuni_coperti
Comuni coperti, con il loro identificativo
L'elenco dei comuni per cui abbiamo eventi, con il loro identificativo. Serve a trovare l'identificativo giusto prima di chiamare cerca_eventi.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'regione': {'type': 'string', 'description': 'Limita a una regione.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['totale', 'comuni'], 'properties': {'comuni': {'type': 'array', 'items': {'type': 'object', 'required': ['comune', 'eventi'], 'properties': {'comune': {'type': 'string', 'description': 'Identificativo da passare al filtro comune.'}, 'eventi': {'type': 'integer', 'description': 'Quanti eventi ha in catalogo.'}, 'regione': {'type': ['string', 'null']}, 'provincia': {'type': ['string', 'null']}, 'comune_nome': {'type': ['string', 'null']}}}, 'description': 'Al massimo 500 comuni: senza il filtro regione la lista nazionale sarebbe di migliaia di righe.'}, 'totale': {'type': 'integer', 'description': 'Quanti comuni hanno eventi in tutto, anche oltre quelli elencati qui.'}}}
dettaglio_evento
Scheda completa di un evento
Tutti i dati di un evento a partire dal suo identificativo, compresi descrizione, informazioni pratiche, organizzatore, se l'ingresso e' libero o a pagamento e il link alla fonte ufficiale.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Identificativo dell'evento, come restituito da cerca_eventi."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['evento'], 'properties': {'evento': {'type': 'object', 'required': ['id', 'comune', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Identificativo da passare a dettaglio_evento.'}, 'lat': {'type': ['number', 'null']}, 'lon': {'type': ['number', 'null']}, 'url': {'type': 'string', 'description': "La pagina dell'evento sul nostro sito: e' questo il link da citare."}, 'luogo': {'type': ['string', 'null'], 'description': "Indirizzo o luogo preciso, quando l'atto lo dice."}, 'comune': {'type': 'string', 'description': 'Identificativo del comune, quello che vuole il filtro comune.'}, 'titolo': {'type': ['string', 'null']}, 'regione': {'type': ['string', 'null']}, 'ingresso': {'enum': ['libero', 'pagamento', None], 'type': ['string', 'null'], 'description': "Nullo quando l'atto non lo dichiara, ed e' il caso di gran lunga piu' frequente. Nullo NON vuol dire gratis: se manca, dillo, non dedurlo."}, 'maps_url': {'type': ['string', 'null']}, 'categoria': {'type': ['string', 'null'], 'description': 'Uno dei valori ammessi per il filtro categoria.'}, 'data_fine': {'type': ['string', 'null'], 'description': "Formato 'YYYY-MM-DD'. Uguale a data_inizio se l'evento dura un giorno."}, 'fonte_url': {'type': ['string', 'null'], 'description': "L'atto sul portale del comune. Puo' sparire quando l'albo ruota."}, 'provincia': {'type': ['string', 'null'], 'description': 'Sigla della provincia.'}, 'created_at': {'type': 'string', 'description': 'ISO 8601 UTC.'}, 'info_utili': {'type': ['string', 'null'], 'description': 'Note pratiche: orari, come arrivare, prenotazioni.'}, 'updated_at': {'type': 'string', 'description': 'ISO 8601 UTC.'}, 'comune_nome': {'type': ['string', 'null'], 'description': 'Nome del comune per esteso.'}, 'data_inizio': {'type': ['string', 'null'], 'description': "Formato 'YYYY-MM-DD'."}, 'descrizione': {'type': ['string', 'null']}, 'locandina_url': {'type': ['string', 'null'], 'description': 'La locandina, quando il comune ne ha pubblicata una.'}, 'date_occorrenze': {'type': ['array', 'null'], 'items': {'type': 'string'}, 'description': "Le singole date quando l'evento non occupa un intervallo pieno, per esempio tre domeniche di fila."}, 'stato_temporale': {'type': ['string', 'null'], 'description': "Se e' in corso, in arrivo o concluso."}, 'biglietteria_url': {'type': ['string', 'null'], 'description': "Dove si comprano i biglietti, solo se l'atto lo riportava."}, 'organizzatore_ente': {'type': ['string', 'null'], 'description': "Chi organizza, quando e' un ente e non una persona."}, 'fonte_permanente_url': {'type': ['string', 'null'], 'description': "La nostra copia permanente dell'atto, che non scade."}}}}}
Hinzugefügt
comuni_coperti
17. September 2026 12:54
Hinzugefügt
dettaglio_evento
17. September 2026 12:54
Hinzugefügt
cerca_eventi
17. September 2026 12:54