Skip to main content
Glama

italia-mcp

Servizi italiani essenziali per assistenti vocali, via MCP. Meteo, allerte della Protezione Civile, notizie ANSA, novità editoriali e promemoria — in italiano, con 9 strumenti in tutto.

Italian essentials (weather, Civil Protection alerts, ANSA news, reminders) as a Model Context Protocol server. Tool descriptions and responses are in Italian.

Nato per il chatbot vocale xiaozhi-esp32 (il "panda"), ma è un normale server MCP: funziona con Claude Desktop, Cursor, Cherry Studio e qualsiasi client compatibile.


⬇️ Scarica per Windows

PandaItalia.exe · 19 MB · nessuna installazione

Un file, doppio clic. Python non serve. Incolli l'indirizzo del tuo dispositivo una volta sola: viene salvato e dal secondo avvio il collegamento parte da solo.

  1. Su xiaozhi.me → Configure → Extensions: togli la spunta a Weather e premi Save

  2. Sempre lì → MCP Endpoint → icona copia

  3. Avvia il programma → Incolla → Collega

Poi chiedi al tuo dispositivo: "Che tempo fa a Gallarate?"

L'eseguibile non è firmato: al primo avvio Windows mostra "Windows ha protetto il PC" → Ulteriori informazioni → Esegui comunque.

È pensato per la prova rapida. Windows va in sospensione e i riavvii di Windows Update interrompono il collegamento circa una volta al mese: per l'uso continuativo vedi la guida Raspberry.

Su macOS e Linux, e per chi preferisce Python: guida PC · tutte le versioni


Related MCP server: Weather MCP Server

Perché esiste

I server MCP meteo che si trovano in giro sono pensati per assistenti da scrivania, dove il contesto è enorme e nessuno conta i byte. Su un dispositivo vocale basato su ESP32 i vincoli sono un altro mondo:

server MCP meteo tipico

italia-mcp

Numero di strumenti

17

9

Peso dell'elenco strumenti

~29.700 token

~1.000 token

Risposta

JSON grezzo, fino a 25.000 caratteri

sotto 1.024 byte

Lingua

inglese, fuso GMT

italiano, fuso locale

Come indichi il luogo

latitudine e longitudine

nome del comune

Dipendenze

varie

una sola (mcp)

L'elenco degli strumenti viaggia in ogni richiesta al modello: è lì che si vince o si perde. Tutto il resto del progetto discende da questo.

Strumenti

Strumento

Che cosa fa

meteo_adesso(citta)

Tempo attuale: cielo, temperatura, percepita, umidità, vento

meteo_previsioni(citta, giorni)

Previsioni da 1 a 7 giorni con probabilità di pioggia

allerte_protezione_civile(comune)

Allerta gialla/arancione/rossa per temporali, rischio idraulico e idrogeologico

qualita_aria(citta)

Indice europeo, PM10, PM2.5

notizie_italia(argomento)

Ultimi titoli ANSA: principali, cronaca, politica, economia, mondo, tecnologia, sport

novita_futura(sezione)

Ultimi articoli di Elettronica In ed Elettronica In PRO, ultimi prodotti FuturaShop

promemoria_aggiungi(testo)

Aggiunge un promemoria o un articolo alla lista della spesa

promemoria_elenco()

Legge la lista

promemoria_rimuovi(numero_o_testo)

Toglie una voce, o svuota tutto con "tutto"

Installazione

pip install italia-mcp

Oppure, dalla sorgente:

git clone https://github.com/BorisLandoni/italia-mcp.git
cd italia-mcp
python3 -m venv .venv
./.venv/bin/python -m pip install -e .

Provalo subito, senza collegare niente

python prova.py

Chiama tutti gli strumenti uno per uno e misura quanto pesa ogni risposta:

[            ok]  148 byte    448 ms  meteo_adesso
[            ok]  228 byte   1010 ms  allerte_protezione_civile
[            ok]  371 byte    685 ms  novita_futura [rivista]
...
Risposta piu' pesante: 409 byte su un limite di 1024.
Tutti gli strumenti rispondono correttamente.

Per avviare il server vero:

italia-mcp

Il cursore resta fermo e non compare nulla: è corretto. Il server parla MCP su stdin/stdout e aspetta un client. Se stampasse qualcosa, romperebbe il protocollo.

Guide dettagliate

Uso con Claude Desktop, Cursor e simili

{
  "mcpServers": {
    "italia": { "command": "italia-mcp" }
  }
}

Uso con il panda (xiaozhi)

Il panda non chiama un URL: è il tuo server che deve collegarsi all'endpoint MCP del dispositivo e tenere aperta la connessione. Serve il ponte ufficiale mcp_pipe.py.

  1. Nella console di xiaozhi.me apri Configure → Extensions → MCP Endpoint e copia l'indirizzo wss://api.xiaozhi.me/mcp/?token=... (è un segreto, trattalo come una password).

  2. Togli la spunta all'estensione ufficiale Weather, altrimenti il modello ha due strumenti meteo e sceglie a caso.

  3. Avvia il ponte:

pip install italia-mcp websockets python-dotenv
export MCP_ENDPOINT="wss://api.xiaozhi.me/mcp/?token=..."
python mcp_pipe.py xiaozhi/italia_server.py

Vedi xiaozhi/ per gli script pronti e la guida passo passo.

Vincoli della piattaforma da rispettare

Dalla documentazione ufficiale:

  • la risposta di uno strumento è limitata a circa 1.024 byte;

  • l'elenco degli strumenti ha un tetto misurato in token;

  • ogni endpoint ha un limite di connessioni: usa un solo server MCP, non uno per servizio;

  • mai print() nel codice di uno strumento: stdin/stdout sono il canale di trasporto.

Fonti dei dati

Dato

Fonte

Licenza

Meteo, previsioni, qualità aria

Open-Meteo

CC BY 4.0, gratuito senza chiave

Allerte meteo-idro

Dipartimento della Protezione Civile, in CSV via OpenData Sicilia

CC BY 4.0

Notizie

Feed RSS pubblici ANSA

uso citazionale dei soli titoli

Novità editoriali

Feed RSS di Elettronica In, Elettronica In PRO e FuturaShop

uso citazionale dei soli titoli

Nessuna chiave API richiesta.

Nota importante sulle allerte

Il bollettino della Protezione Civile esce entro le 16:00 e il mirror può avere qualche ora di ritardo. Il codice non si fida del nome del file: legge la finestra di validità dichiarata dentro il bollettino e usa solo quello valido in questo momento. Se nessuno è valido, lo dice invece di rispondere con dati vecchi. Ogni risposta include valido_fino.

Questo software non è un servizio di allerta ufficiale e non sostituisce i canali della Protezione Civile. Per le emergenze fai sempre riferimento alle fonti ufficiali.

Limiti noti

  • Non può svegliare il dispositivo. I promemoria si consultano a voce, non suonano da soli: nel protocollo xiaozhi il server non può iniziare una conversazione.

  • Non riproduce musica. Il canale audio è Opus binario, gli strumenti MCP scambiano solo testo.

  • I promemoria sono salvati in un file locale, senza account: chi ha accesso al server li vede tutti.

Personalizzare le fonti

Le fonti di novita_futura sono ridefinibili con la variabile d'ambiente ITALIA_MCP_FONTI, nel formato chiave=URL|Etichetta;chiave2=URL2|Etichetta2: chi usa il pacchetto può puntarlo ai propri feed.

Licenza

Codice: MIT. I dati restano dei rispettivi titolari, alle licenze indicate sopra.

Crediti

Sviluppato da Boris Landoni con l'assistenza di Claude (Anthropic), per Futura Group Srl — editore di Elettronica In e Elettronica In PRO.

Available Tools

9 tools
allerte_protezione_civileA

Allerta meteo ufficiale della Protezione Civile per un comune italiano (allerta gialla, arancione o rossa per temporali, rischio idraulico e rischio idrogeologico). Usalo quando l'utente chiede se c'e' un'allerta meteo, se e' pericoloso uscire o se ci sono avvisi per il maltempo. Il parametro comune e' il nome esatto del comune, per esempio "Gallarate".

Inputs: comune (required).

meteo_adessoA

Che tempo fa in questo momento in una localita italiana. Usalo quando l'utente chiede il tempo, la temperatura, se piove, se fa freddo o se serve l'ombrello adesso. Il parametro citta e' il nome del comune, per esempio "Milano" o "Arsago Seprio".

Inputs: citta (required).

meteo_previsioniA

Previsioni del tempo per i prossimi giorni in una localita italiana. Usalo quando l'utente chiede il tempo di domani, del fine settimana o dei prossimi giorni. Il parametro giorni va da 1 a 7.

Inputs: citta (required), giorni.

notizie_italiaA

Ultimi titoli delle notizie italiane dall'agenzia ANSA. Usalo quando l'utente chiede le notizie, che cosa succede o le ultime novita'. Gli argomenti disponibili sono: principali, cronaca, politica, economia, mondo, tecnologia, sport.

Inputs: argomento.

novita_futuraA

Ultimi articoli pubblicati dalla rivista Elettronica In, da Elettronica In PRO, oppure ultimi prodotti messi in vendita da FuturaShop (Futura Elettronica). Usalo quando l'utente chiede le ultime novita', gli ultimi articoli, cosa e' uscito di nuovo sulla rivista o quali sono i prodotti appena arrivati. Il parametro sezione accetta: "elettronica-in" per gli articoli della rivista, "elettronica-in-pro" per quelli professionali, "prodotti" per il negozio.

Inputs: sezione.

promemoria_aggiungiA

Aggiunge una cosa da ricordare o un articolo alla lista della spesa. Usalo quando l'utente dice di ricordargli qualcosa, di segnarsi una cosa o di aggiungere un prodotto alla spesa.

Inputs: testo (required).

promemoria_elencoA

Legge tutte le cose da ricordare e la lista della spesa. Usalo quando l'utente chiede cosa deve fare, cosa aveva segnato o cosa c'e' nella lista della spesa.

Inputs: no named parameters.

promemoria_rimuoviA

Toglie una voce dalla lista dei promemoria o della spesa. Accetta il numero della voce oppure una parola contenuta nella voce. Usa la parola "tutto" per svuotare completamente la lista.

Inputs: numero_o_testo (required).

qualita_ariaA

Qualita dell'aria in una localita italiana, con indice europeo, polveri sottili PM10 e PM2.5. Usalo quando l'utente chiede com'e' l'aria, se c'e' smog o se puo' andare a correre.

Inputs: citta (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 9 tools

    Disambiguation4/5

    The weather, alert, air quality, news, electronics news, and reminder tools each cover distinct resources, and the descriptions clarify the differences. The main possible confusion is between notizie_italia and novita_futura since both can be described as 'latest news', but their source and scope are clearly separated.

    Naming Consistency4/5

    All tool names are lowercase Italian snake_case, which gives the set a coherent feel. The main tools are noun phrases (meteo_previsioni, qualita_aria) while the reminder tools use an object_verb pattern (promemoria_aggiungi, promemoria_rimuovi), creating a minor but readable inconsistency.

    Tool Count5/5

    Nine tools is a well-scoped size for this server. Each tool covers a meaningful slice of the Italian information domain plus a small reminder subsystem, with no redundant or unnecessary tools.

    Completeness4/5

    The weather, alerts, air quality, news, and reminder workflows are largely covered: current conditions, forecasts, official warnings, pollution, headlines, and add/list/remove for reminders. Minor gaps exist such as no news article detail retrieval and no reminder update operation, but agents can accomplish the main requested tasks.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      B
      quality
      D
      maintenance
      Enables users to get weather alerts and forecasts through natural language interactions. Provides real-time weather information and alert notifications via MCP tools.
      2
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides weather data from OpenWeatherMap API through MCP tools and a REST API with OpenAPI support. Enables LLM agents to retrieve current weather, forecasts, and temperature ranges by city or coordinates.
      12 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Provides weather data including current conditions, forecasts, and summaries via Open-Meteo with no API key required, enabling natural language queries through an MCP interface.
      11 PyPI
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Provides real-time weather forecasts, current conditions, and smart umbrella recommendations through MCP tools, backed by the Open-Meteo API.
      -