Skip to main content
Glama

Cerca eventi e sagre nei comuni italiani

cerca_eventi
Read-onlyIdempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNoRicerca testuale nel titolo e nella descrizione, minimo 3 caratteri.
alNoData massima di inizio, formato 'YYYY-MM-DD'.
dalNoData minima di inizio, formato 'YYYY-MM-DD'.
comuneNoIdentificativo del comune, in minuscolo e con i trattini (es. 'barolo', 'santo-stefano-belbo'). Usa comuni_coperti per trovarlo.
limiteNoQuanti eventi restituire, massimo 50.
regioneNoNome 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
categoriaNoFiltra per tipo di evento.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
eventiYesLa pagina di risultati, lunga al massimo quanto `limite`.
totaleYesQuanti eventi rispondono ai criteri in tutto, anche oltre quelli riportati qui.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "eventi": {
      +      "description": "La pagina di risultati, lunga al massimo quanto `limite`.",
      +      "items": {
      +        "properties": {
      +          "biglietteria_url": {
      +            "description": "Dove si comprano i biglietti, solo se l'atto lo riportava.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "categoria": {
      +            "description": "Uno dei valori ammessi per il filtro categoria.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "comune": {
      +            "description": "Identificativo del comune, quello che vuole il filtro comune.",
      +            "type": "string"
      +          },
      +          "comune_nome": {
      +            "description": "Nome del comune per esteso.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "created_at": {
      +            "description": "ISO 8601 UTC.",
      +            "type": "string"
      +          },
      +          "data_fine": {
      +            "description": "Formato 'YYYY-MM-DD'. Uguale a data_inizio se l'evento dura un giorno.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "data_inizio": {
      +            "description": "Formato 'YYYY-MM-DD'.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "date_occorrenze": {
      +            "description": "Le singole date quando l'evento non occupa un intervallo pieno, per esempio tre domeniche di fila.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          },
      +          "descrizione": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "fonte_permanente_url": {
      +            "description": "La nostra copia permanente dell'atto, che non scade.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "fonte_url": {
      +            "description": "L'atto sul portale del comune. Puo' sparire quando l'albo ruota.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "description": "Identificativo da passare a dettaglio_evento.",
      +            "type": "string"
      +          },
      +          "info_utili": {
      +            "description": "Note pratiche: orari, come arrivare, prenotazioni.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "ingresso": {
      +            "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.",
      +            "enum": [
      +              "libero",
      +              "pagamento",
      +              null
      +            ],
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "lat": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "locandina_url": {
      +            "description": "La locandina, quando il comune ne ha pubblicata una.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "lon": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "luogo": {
      +            "description": "Indirizzo o luogo preciso, quando l'atto lo dice.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "maps_url": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "organizzatore_ente": {
      +            "description": "Chi organizza, quando e' un ente e non una persona.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "provincia": {
      +            "description": "Sigla della provincia.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "regione": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "stato_temporale": {
      +            "description": "Se e' in corso, in arrivo o concluso.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "titolo": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "updated_at": {
      +            "description": "ISO 8601 UTC.",
      +            "type": "string"
      +          },
      +          "url": {
      +            "description": "La pagina dell'evento sul nostro sito: e' questo il link da citare.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "comune",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "totale": {
      +      "description": "Quanti eventi rispondono ai criteri in tutto, anche oltre quelli riportati qui.",
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "totale",
      +    "eventi"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: data is sourced daily from official municipal registers (albi pretori), includes small towns, and each event includes a link to its detail page and official source. This goes beyond the annotations by explaining data provenance and output linkage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose and immediately followed by the key differentiator (small towns, official sources). It's efficient and every sentence earns its place, though it could be slightly more compact without losing the provenance detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 7 optional parameters, a rich output schema, and annotations covering safety, the description is complete enough for an agent to select and invoke it correctly. It explains the data source, coverage, and output links. It doesn't mention pagination or the limite parameter's default, but the schema covers that. The only minor gap is not explicitly routing to dettaglio_evento for single-event details, but the sibling names and schema make that inferable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly, including formats, examples, and constraints. The description adds no parameter-specific semantics beyond what the schema provides. Baseline 3 is appropriate when the schema carries the full burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Cerca') and resource ('eventi e sagre nei comuni italiani'), and immediately distinguishes itself from siblings by noting it covers small towns not on other calendars. The title reinforces the search scope, and the description's mention of official sources and daily updates adds specificity beyond the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when searching for events across Italian municipalities, including small towns, with data sourced from official public registers. It doesn't explicitly name alternatives like dettaglio_evento or comuni_coperti, but the context signals and sibling names make the distinction clear. It lacks explicit 'when not to use' guidance, but the use case is well implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources