Open source · 11 tool MCP · Self-hosted

Trenitalia + Italo.
Nel tuo client AI.

Stazioni, orari e stato dei treni attraverso un unico server MCP. Collega il tuo assistente ai dati di Trenitalia e Italo, senza API a pagamento.

Open source11 tool MCPNessuna API a pagamento
Installa
ciuff / MCPEsempio illustrativo

Trenitalia e Italo da Roma Termini a Milano Centrale domani dopo le 8?

ciuff_cerca_viaggiJSON
Roma TerminiROM
Milano CentraleMIL
TrenitaliaFrecciarossa 9516
08:05 → 11:50Orario programmato
Italo9972
08:05 → 11:15Orario programmato

Anteprima statica del flusso. Non mostra orari o risultati live.

Due operatori, un'integrazione

Chiedi una tratta. Consulta entrambe le fonti.

Cerca stazioni e collegamenti diretti per Trenitalia, Italo o entrambi. I risultati mantengono operatore, fonte e validità dei dati, per distinguere un orario programmato da un aggiornamento live.

TrenitaliaItalo

11 tool MCP

Dalla ricerca della stazione allo stato del treno.

Sei nuovi tool affiancano i cinque originali. Ricerca comune per i due operatori e funzioni dedicate dove le fonti sono diverse.

01

Viaggi diretti

Cerca collegamenti diretti di Trenitalia e Italo per data e fascia oraria negli orari scaricati.

ciuff_cerca_viaggi
“Trenitalia e Italo da Roma Termini a Milano Centrale domani dopo le 8”
02

Stato del treno

Richiede lo stato pubblico di un treno specificando operatore e numero, con indicazioni sulla freschezza dei dati.

ciuff_stato_treno
“Qual è lo stato di Italo 8908?”
03

Stazioni dei due operatori

Cerca per nome tra uno o entrambi gli operatori. Se il nome è ambiguo, restituisce le opzioni.

ciuff_cerca_stazioni
“Trova Roma Termini per Trenitalia e Italo”
Esplora tutti gli 11 tool MCP

Stazioni Trenitalia

trenitalia_cerca_stazione

Cerca una stazione nel catalogo locale, con fallback a Viaggiatreno quando necessario.

Partenze Trenitalia

trenitalia_monitora_partenze

Consulta il tabellone delle partenze live di Trenitalia con le informazioni disponibili dalla fonte.

Arrivi Trenitalia

trenitalia_monitora_arrivi

Consulta gli arrivi live di Trenitalia in una stazione, con orari e ritardi quando disponibili.

Dettagli treno Trenitalia

trenitalia_traccia_treno

Interroga Viaggiatreno per numero del treno e stazione di origine, incluse fermate e stato disponibili.

Orari Trenitalia

trenitalia_orari_tra_stazioni

Cerca corse dirette Trenitalia per la data richiesta. Per oggi può aggiungere informazioni live.

Tabellone Italo

italo_tabellone

Consulta arrivi o partenze Italo usando il nome della stazione o il suo codice Italo.

Copertura e fonti

ciuff_stato_fonti

Mostra provenienza, aggiornamento e copertura degli orari locali. Non misura la disponibilità dei servizi esterni.

Siti ufficiali dei biglietti

ciuff_link_biglietti

Restituisce i link ai siti ufficiali di acquisto. Prezzi live, disponibilità dei posti e prenotazioni non sono integrati.

Dalla fonte al tuo assistente

Orari e dati live, con limiti espliciti.

Il server distingue ciò che è programmato da ciò che la fonte sta riportando. Una risposta mancante non diventa una conferma.

Progetto indipendente, non affiliato a Trenitalia o Italo.

  1. 01

    Scarica gli orari

    L'updater scarica e valida i feed ufficiali NeTEx. Le cache restano sul tuo sistema e permettono di consultare gli orari anche offline.

  2. 02

    Verifica il calendario

    La ricerca usa la data richiesta, i giorni di servizio, le eccezioni e la validità del feed. Una copertura assente o scaduta viene segnalata.

  3. 03

    Interroga le fonti live

    Viaggiatreno e Italo In Viaggio forniscono stato e tabelloni. I dati live di oggi restano separati dagli orari dei giorni futuri.

  4. 04

    Mantieni visibili le incertezze

    Un ritardo mancante resta sconosciuto. Se la data del servizio Italo non è verificabile, il ritardo non viene associato a una corsa programmata per una data precisa.

Demo del progetto

Il server nel client, in pratica.

Registrazioni originali dell'integrazione Trenitalia su Claude Desktop e Mobile. Documentano il flusso del client e precedono l'aggiunta di Italo.

DEMO 01

Claude Desktop · Ricerca Trenitalia

Registrazione della ricerca di treni con l'integrazione originale Trenitalia.

DEMO 02

Claude Desktop · Stato Trenitalia

Registrazione della consultazione dello stato di un treno Trenitalia.

DEMO 03

Claude Mobile · Partenze Trenitalia

Registrazione della consultazione delle partenze Trenitalia da mobile.

Eseguilo sul tuo sistema

Dal repository al tuo client MCP.

Clona il progetto, installa le dipendenze e scarica gli orari. Avvia il server in stdio oppure scegli Streamable HTTP per un client remoto.

Python 3.12 o successivo. Internet serve per scaricare e aggiornare gli orari e per i tool live. Nessun account API a pagamento, database o servizio cloud richiesto.

Installazione e configurazione nel README
Python 3.12+MCP Python SDK 2.2stdio · HTTP · SSENeTExhttpxPydantic v2
Installazione locale
git clone https://github.com/Fanfulla/MCP_Trenitalia.git
cd MCP_Trenitalia
python -m venv .venv
.venv\Scripts\python.exe -m pip install -r requirements.txt
.venv\Scripts\python.exe update_data.py
.venv\Scripts\python.exe server.py

Provenienza e limiti

Sai da dove arriva ogni dato.

Gli orari provengono dai feed ufficiali pubblicati su CCISS. Lo stato dei treni arriva dai servizi pubblici degli operatori. Consulta ciuff_stato_fonti per le date delle tue cache locali.

Contenuti aggiornati il

Italo · NeTEx

Orari dei servizi ferroviari diretti, senza itinerari combinati.

Italo · In Viaggio

Stato e tabelloni da endpoint pubblici non documentati, senza una data di servizio affidabile.

  • La ricerca copre treni diretti. Non calcola coincidenze e non offre telemetria storica.
  • Gli endpoint live non documentati possono cambiare o essere indisponibili. Il server non garantisce la continuità delle fonti esterne.
  • Un ritardo assente non significa treno in orario. Per Italo la data del servizio live può restare non verificata.
  • Il codice è MIT. Dataset e risposte degli operatori mantengono i propri termini; le cache scaricate restano locali.

Prima di iniziare

Domande frequenti

Che cos'è MCP Trenitalia + Italo?

È un server MCP gratuito e open source, anche chiamato Ciuff. Espone 11 tool per cercare stazioni e viaggi diretti, consultare stato e tabelloni e verificare le fonti di Trenitalia e Italo attraverso un client compatibile con Model Context Protocol.

Servono API a pagamento o un abbonamento?

Il server non richiede API a pagamento, abbonamenti, database o servizi cloud. Puoi eseguirlo sul tuo computer. Eventuali costi del client AI o dell'hosting che scegli sono separati dal progetto.

Quali client e trasporti sono supportati?

Puoi usare client MCP che supportano stdio, Streamable HTTP o SSE legacy, per esempio Claude Desktop con una configurazione locale. Scegli il trasporto supportato dal tuo client: python server.py per stdio, --streamable-http per /mcp e --sse per /sse. Il flag --http resta un alias di SSE legacy.

Posso cercare treni per domani o per una data futura?

Sì, entro il periodo coperto dagli orari NeTEx scaricati. Il server verifica calendari ed eccezioni per la data richiesta e segnala cache mancanti o scadute. La ricerca riguarda collegamenti diretti; i dati live di oggi non vengono usati come stato di una corsa futura.

Come vengono trattati i ritardi Italo?

La fonte pubblica Italo non fornisce una data di servizio affidabile. Quando non è verificabile, il server restituisce service_date null e freshness date_unverified e non associa quel ritardo a una corsa programmata per una data precisa. Un ritardo mancante resta null, senza essere interpretato come puntualità.

Posso confrontare prezzi o prenotare biglietti?

No. Il tool ciuff_link_biglietti restituisce i link ai siti ufficiali di Trenitalia e Italo. Prezzi live, disponibilità dei posti, acquisto e prenotazione non sono implementati nel server.

Come aggiorno gli orari? Funzionano offline?

Esegui python update_data.py per aggiornare entrambi gli operatori, oppure aggiungi --provider italo o --provider trenitalia. L'updater valida il nuovo feed prima di sostituire la cache; se fallisce, conserva il file precedente. Gli orari scaricati si consultano offline entro la loro validità. I tool live richiedono Internet. Puoi pianificare l'aggiornamento con lo scheduler del sistema operativo.

È un servizio ufficiale di Trenitalia o Italo?

No. È un progetto indipendente di Salvatore Arena, non affiliato ai due operatori. Il codice è distribuito con licenza MIT; i dataset e le risposte delle fonti conservano i propri termini. Gli endpoint live pubblici sono non documentati e possono cambiare.

Porta Trenitalia e Italo nel tuo progetto.

Leggi il codice, configura il server e contribuisci su GitHub. Per seguire il progetto, trovi Salvatore Arena su X.