Skip to main content
Glama

Stato Treno

stato_treno

Retrieve real-time train status, including current delay, last detection, running status, and all stops with scheduled/actual times and platforms, using just a train number.

Instructions

Restituisce lo andamento e lo stato in tempo reale di un treno: ritardo attuale, ultimo rilevamento con stazione e orario, stato di marcia (regolare, soppresso, parzialmente soppresso), e l'elenco completo di tutte le fermate commerciali con orario programmato, orario effettivo e binari. Se codice_stazione_origine e data_partenza non vengono forniti, vengono determinati automaticamente tramite il numero di treno.

Input Schema

NameRequiredDescriptionDefault
numero_trenoYes
data_partenzaNo
codice_stazione_origineNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.2.0
    • changedOutput schema / properties / result / anyOf
      Previous value: -[
      -  {
      -    "description": "Stato in tempo reale completo di un treno con relative fermate (andamentoTreno).",
      -    "properties": {
      -      "arrivato": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "True se giunto a destinazione finale"
      -      },
      -      "categoria": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Sigla categoria"
      -      },
      -      "categoriaDescrizione": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Descrizione categoria"
      -      },
      -      "circolante": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "True se in viaggio"
      -      },
      -      "codiceCliente": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Codice dell'impresa ferroviaria"
      -      },
      -      "compNumeroTreno": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Etichetta completa del treno"
      -      },
      -      "compOraUltimoRilevamento": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Orario ultimo rilevamento HH:MM"
      -      },
      -      "compOrarioArrivo": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Orario arrivo HH:MM"
      -      },
      -      "compOrarioPartenza": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Orario partenza HH:MM"
      -      },
      -      "compRitardo": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Testo del ritardo multilingua"
      -      },
      -      "compRitardoAndamento": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Descrizione estesa ritardo multilingua"
      -      },
      -      "dataPartenzaTreno": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Data di partenza (mezzanotte ms)"
      -      },
      -      "dataPartenzaTrenoAsDate": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Data di partenza YYYY-MM-DD"
      -      },
      -      "destinazione": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Nome stazione di destinazione"
      -      },
      -      "fermate": {
      -        "description": "Lista ordinata delle fermate commerciali con orari e binari",
      -        "items": {
      -          "description": "Singola fermata lungo l'itinerario del treno.",
      -          "properties": {
      -            "actualFermataType": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Stato fermata: 1=effettuata/regolare, 0=non ancora arrivato, 2=non prevista, 3=soppressa"
      -            },
      -            "arrivoReale": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Orario reale di arrivo in millisecondi"
      -            },
      -            "arrivo_teorico": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Orario teorico di arrivo in millisecondi"
      -            },
      -            "binarioEffettivoArrivoDescrizione": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Binario effettivo di arrivo"
      -            },
      -            "binarioEffettivoPartenzaDescrizione": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Binario effettivo di partenza"
      -            },
      -            "binarioProgrammatoArrivoDescrizione": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Binario programmato di arrivo"
      -            },
      -            "binarioProgrammatoPartenzaDescrizione": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Binario programmato di partenza"
      -            },
      -            "effettiva": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Orario effettivo in millisecondi (se rilevato)"
      -            },
      -            "id": {
      -              "description": "Codice stazione (es. S01700)",
      -              "type": "string"
      -            },
      -            "partenzaReale": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Orario reale di partenza in millisecondi"
      -            },
      -            "partenza_teorica": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Orario teorico di partenza in millisecondi"
      -            },
      -            "programmata": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Orario programmato in millisecondi"
      -            },
      -            "progressivo": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Numero progressivo fermata nell'itinerario"
      -            },
      -            "ritardo": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Ritardo complessivo alla fermata in minuti"
      -            },
      -            "ritardoArrivo": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Ritardo in arrivo in minuti"
      -            },
      -            "ritardoPartenza": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Ritardo in partenza in minuti"
      -            },
      -            "stazione": {
      -              "description": "Nome della stazione",
      -              "type": "string"
      -            },
      -            "tipoFermata": {
      -              "description": "'P' per Partenza/Origine, 'F' per Fermata intermedia, 'A' per Arrivo/Destinazione",
      -              "type": "string"
      -            },
      -            "visualizzaPrevista": {
      -              "anyOf": [
      -                {
      -                  "type": "boolean"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null,
      -              "description": "Flag visualizzazione orario previsto"
      -            }
      -          },
      -          "required": [
      -            "stazione",
      -            "id",
      -            "tipoFermata"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "fermateSoppresse": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "additionalProperties": true,
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Eventuali fermate soppresse"
      -      },
      -      "idDestinazione": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Codice stazione di destinazione"
      -      },
      -      "idOrigine": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Codice stazione di origine"
      -      },
      -      "impresaFerroviaria": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Nome dell'impresa ferroviaria"
      -      },
      -      "inStazione": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "True se fermo in stazione"
      -      },
      -      "nonPartito": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "True se non ancora partito"
      -      },
      -      "numeroTreno": {
      -        "description": "Numero del treno",
      -        "type": "integer"
      -      },
      -      "oraUltimoRilevamento": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Orario ultimo rilevamento in ms"
      -      },
      -      "orarioArrivo": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Orario programmato di arrivo a destinazione"
      -      },
      -      "orarioPartenza": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Orario programmato di partenza dall'origine"
      -      },
      -      "origine": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Nome stazione di origine"
      -      },
      -      "provvedimento": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "0=regolare, 1=soppresso, 2=parzialmente soppresso, 3=deviato"
      -      },
      -      "riprogrammazione": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Stato riprogrammazione"
      -      },
      -      "ritardo": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Ritardo attuale in minuti"
      -      },
      -      "statoDescrizione": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Descrizione testuale dello stato di circolazione"
      -      },
      -      "stazioneUltimoRilevamento": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Stazione/posto di movimento dell'ultimo rilevamento"
      -      },
      -      "subTitle": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Sottotitolo o note su soppressioni parziali"
      -      },
      -      "tipoTreno": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Codice tipo treno (es. PG regolare, ST soppresso, PP/SI/SF)"
      -      }
      -    },
      -    "required": [
      -      "numeroTreno"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "description": "Stato in tempo reale completo di un treno con relative fermate (andamentoTreno).",
      +    "properties": {
      +      "arrivato": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "True se giunto a destinazione finale"
      +      },
      +      "categoria": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Sigla categoria"
      +      },
      +      "categoriaDescrizione": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Descrizione categoria"
      +      },
      +      "circolante": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "True se in viaggio"
      +      },
      +      "codiceCliente": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Codice dell'impresa ferroviaria"
      +      },
      +      "compNumeroTreno": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Etichetta completa del treno"
      +      },
      +      "compOraUltimoRilevamento": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Orario ultimo rilevamento HH:MM"
      +      },
      +      "compOrarioArrivo": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Orario arrivo HH:MM"
      +      },
      +      "compOrarioPartenza": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Orario partenza HH:MM"
      +      },
      +      "compRitardo": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Testo del ritardo multilingua (elementi possono essere null)"
      +      },
      +      "compRitardoAndamento": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Descrizione estesa ritardo multilingua (elementi possono essere null)"
      +      },
      +      "dataPartenzaTreno": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Data di partenza (mezzanotte ms)"
      +      },
      +      "dataPartenzaTrenoAsDate": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Data di partenza YYYY-MM-DD"
      +      },
      +      "destinazione": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Nome stazione di destinazione"
      +      },
      +      "fermate": {
      +        "description": "Lista ordinata delle fermate commerciali con orari e binari",
      +        "items": {
      +          "description": "Singola fermata lungo l'itinerario del treno.",
      +          "properties": {
      +            "actualFermataType": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Stato fermata: 1=effettuata/regolare, 0=non ancora arrivato, 2=non prevista, 3=soppressa"
      +            },
      +            "arrivoReale": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Orario reale di arrivo in millisecondi"
      +            },
      +            "arrivo_teorico": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Orario teorico di arrivo in millisecondi"
      +            },
      +            "binarioEffettivoArrivoDescrizione": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Binario effettivo di arrivo"
      +            },
      +            "binarioEffettivoPartenzaDescrizione": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Binario effettivo di partenza"
      +            },
      +            "binarioProgrammatoArrivoDescrizione": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Binario programmato di arrivo"
      +            },
      +            "binarioProgrammatoPartenzaDescrizione": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Binario programmato di partenza"
      +            },
      +            "effettiva": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Orario effettivo in millisecondi (se rilevato)"
      +            },
      +            "id": {
      +              "description": "Codice stazione (es. S01700)",
      +              "type": "string"
      +            },
      +            "partenzaReale": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Orario reale di partenza in millisecondi"
      +            },
      +            "partenza_teorica": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Orario teorico di partenza in millisecondi"
      +            },
      +            "programmata": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Orario programmato in millisecondi"
      +            },
      +            "progressivo": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Numero progressivo fermata nell'itinerario"
      +            },
      +            "ritardo": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Ritardo complessivo alla fermata in minuti"
      +            },
      +            "ritardoArrivo": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Ritardo in arrivo in minuti"
      +            },
      +            "ritardoPartenza": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Ritardo in partenza in minuti"
      +            },
      +            "stazione": {
      +              "description": "Nome della stazione",
      +              "type": "string"
      +            },
      +            "tipoFermata": {
      +              "description": "'P' per Partenza/Origine, 'F' per Fermata intermedia, 'A' per Arrivo/Destinazione",
      +              "type": "string"
      +            },
      +            "visualizzaPrevista": {
      +              "anyOf": [
      +                {
      +                  "type": "boolean"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null,
      +              "description": "Flag visualizzazione orario previsto"
      +            }
      +          },
      +          "required": [
      +            "stazione",
      +            "id",
      +            "tipoFermata"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "fermateSoppresse": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "additionalProperties": true,
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Eventuali fermate soppresse"
      +      },
      +      "idDestinazione": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Codice stazione di destinazione"
      +      },
      +      "idOrigine": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Codice stazione di origine"
      +      },
      +      "impresaFerroviaria": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Nome dell'impresa ferroviaria"
      +      },
      +      "inStazione": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "True se fermo in stazione"
      +      },
      +      "nonPartito": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "True se non ancora partito"
      +      },
      +      "numeroTreno": {
      +        "description": "Numero del treno",
      +        "type": "integer"
      +      },
      +      "oraUltimoRilevamento": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Orario ultimo rilevamento in ms"
      +      },
      +      "orarioArrivo": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Orario programmato di arrivo a destinazione"
      +      },
      +      "orarioPartenza": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Orario programmato di partenza dall'origine"
      +      },
      +      "origine": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Nome stazione di origine"
      +      },
      +      "provvedimento": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "0=regolare, 1=soppresso, 2=parzialmente soppresso, 3=deviato"
      +      },
      +      "riprogrammazione": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Stato riprogrammazione"
      +      },
      +      "ritardo": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Ritardo attuale in minuti"
      +      },
      +      "statoDescrizione": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Descrizione testuale dello stato di circolazione"
      +      },
      +      "stazioneUltimoRilevamento": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Stazione/posto di movimento dell'ultimo rilevamento"
      +      },
      +      "subTitle": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Sottotitolo o note su soppressioni parziali"
      +      },
      +      "tipoTreno": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Codice tipo treno (es. PG regolare, ST soppresso, PP/SI/SF)"
      +      }
      +    },
      +    "required": [
      +      "numeroTreno"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden and does well: it discloses the real-time nature of the data, the possible running states (regolare, soppresso, parzialmente soppresso), and the automatic resolution of missing origin/date parameters. It does not mention error behavior, such as what happens when the train number is invalid or not found, which is a remaining gap.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose and immediately followed by the optional-parameter fallback behavior. Every clause adds information about the return payload or parameter handling, with no filler.

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?

For a three-parameter read tool with an output schema, the description is largely complete: it covers the behavioral contract and parameter fallback logic. The main omission is format guidance for data_partenza and codice_stazione_origine at 0% schema coverage, plus any note about failure modes.

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 0%, so the description must compensate for three undocumented parameters. It explains that numero_treno drives the lookup and that data_partenza and codice_stazione_origine are optional and auto-determined when omitted, which adds real meaning. However, it does not specify accepted formats for the integer date or the station code string, leaving format ambiguity unresolved.

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

Purpose4/5

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

The description names a specific verb and resource ('Restituisce lo andamento e lo stato in tempo reale di un treno') and enumerates the exact data returned, including delay, last detection, running status, and full stop list. It is clearly distinguishable from search-oriented siblings like cerca_numero_treno, though it does not explicitly name which sibling to use instead.

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

Usage Guidelines3/5

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

The final sentence gives valuable context for the two optional parameters, explaining that origin station and departure date are auto-determined from the train number when omitted. However, there is no explicit guidance on when to choose this tool over alternatives such as itinerario_treno_canvas or predecessore_treno, so usage is only implied by the described real-time status purpose.

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