pietrodelfranco/mcp-server-weather
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.
Calcola
Executes secure mathematical calculations.
Info Sistema
Provides detailed system information.
Meteo
Fetches real or simulated weather information.
Lista File
Lists files and directories.
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!