pietrodelfranco/mcp-server-weather
3.1
If you are the rightful owner of mcp-server-weather and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A comprehensive MCP server with advanced tools for mathematical calculations, system information, real-time weather, and file management.
Tools
4
Resources
0
Prompts
0
Server MCP (Model Context Protocol)
Un server MCP completo con strumenti avanzati per calcoli matematici, informazioni di sistema, meteo in tempo reale e gestione file.
🌟 Caratteristiche
- Calcoli Matematici: Esegue espressioni matematiche sicure
- Info Sistema: Fornisce informazioni dettagliate sul sistema operativo
- Meteo Avanzato: Tool meteo state-of-the-art con dati reali da OpenWeatherMap
- Gestione File: Lista file e directory del sistema
- Connessione Online: Esposizione tramite HTTP/SSE per integrazione con n8n
🚀 Installazione
- Installa le dipendenze:
pip install -r requirements.txt
- Configura l'API del meteo (opzionale):
# Registrati su https://openweathermap.org/api (gratuito)
# Ottieni la tua API key
export OPENWEATHER_API_KEY="la_tua_api_key"
📡 Avvio del Server
Server Locale (stdio)
python server.py
Server Online (HTTP/SSE) - Per n8n
python server_online.py
🌤️ Tool Meteo Avanzato
Il tool meteo è completamente funzionale e offre:
Con API Key OpenWeatherMap:
- Temperatura reale in tempo reale
- Temperatura percepita (wind chill/heat index)
- Condizioni atmosferiche dettagliate
- Umidità e pressione atmosferica
- Vento (velocità e direzione)
- Visibilità e nuvolosità
- Orari alba/tramonto
- Precipitazioni (pioggia/neve)
- Dati aggiornati con timestamp
Senza API Key:
- Dati simulati realistici basati sulla stagione
- Variazioni stagionali automatiche
- Condizioni meteo plausibili
- Perfetto per test e demo
Esempi di utilizzo:
# Meteo per Roma
meteo("Roma")
# Meteo per New York, USA
meteo("New York", "US")
# Meteo per Milano, Italia
meteo("Milano", "IT")
🔧 Strumenti Disponibili
1. Calcola
Esegue calcoli matematici sicuri.
calcola("2 + 2 * 3") # Risultato: 8
calcola("sqrt(16)") # Risultato: 4.0
2. Info Sistema
Fornisce informazioni dettagliate sul sistema.
info_sistema() # Sistema, versione, architettura, Python
3. Meteo
Ottiene informazioni meteo reali o simulate.
meteo("Roma") # Meteo per Roma
meteo("New York", "US") # Meteo per New York, USA
4. Lista File
Lista file e directory.
lista_file() # Directory corrente
lista_file("/tmp") # Directory specifica
🌐 Integrazione con n8n
- Avvia il server online:
python server_online.py
- Esponi tramite ngrok:
ngrok http 8001
- Configura in n8n:
- Nodo: MCP Client
- Endpoint SSE:
https://[ngrok-url]/sse
- Strumenti disponibili: calcola, info_sistema, meteo, lista_file
📊 Esempio di Output Meteo
{
"citta": "Roma",
"paese": "IT",
"temperatura": "22.5°C",
"temperatura_percepita": "24.1°C",
"condizioni": "Poco Nuvoloso",
"umidita": "65%",
"pressione": "1013 hPa",
"vento_velocita": "3.2 m/s",
"vento_direzione": "SW",
"visibilita": "10.0 km",
"nuvolosita": "20%",
"alba": "06:30",
"tramonto": "20:30",
"aggiornato": "05/07/2025 06:15"
}
🔒 Sicurezza
- Calcoli sicuri: Blocco di espressioni pericolose
- Validazione input: Controlli sui parametri
- Timeout API: Protezione da chiamate infinite
- Gestione errori: Messaggi di errore informativi
📝 Note
- Il tool meteo funziona senza API key usando dati simulati realistici
- Per dati reali, registrati su OpenWeatherMap (gratuito)
- Gli URL ngrok cambiano ad ogni riavvio
- Il server supporta connessioni multiple simultanee
🤝 Contributi
Benvenuti contributi per migliorare il server MCP!