mcp-server-weather

pietrodelfranco/mcp-server-weather

3.2

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
  1. Calcola

    Executes secure mathematical calculations.

  2. Info Sistema

    Provides detailed system information.

  3. Meteo

    Fetches real or simulated weather information.

  4. 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

  1. Installa le dipendenze:
pip install -r requirements.txt
  1. 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

  1. Avvia il server online:
python server_online.py
  1. Esponi tramite ngrok:
ngrok http 8001
  1. 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!