mcp-server-weather

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

  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!