Weather MCP Tool

by SaintDoresh
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables secure storage and loading of the OpenWeatherMap API key through environment variables, keeping sensitive data out of the codebase.

  • Offers a comprehensive tutorial on setting up and using the Weather MCP Tool with Claude Desktop, published on the Medium platform.

  • Requires Python 3.10+ as the runtime environment for the MCP server that processes weather data requests.

Herramienta meteorológica MCP para Claude Desktop

Una herramienta MCP (Protocolo de contexto de modelo) que proporciona datos meteorológicos en tiempo real, pronósticos e información meteorológica histórica utilizando la API OpenWeatherMap, diseñada específicamente para Claude Desktop.

Tutorial

Para obtener una guía detallada sobre la configuración y el uso de esta herramienta, consulte nuestro completo tutorial de Medium: Tutorial: Cómo usar Claude Desktop con la herramienta Weather MCP para acceder a datos meteorológicos en tiempo real en todo el mundo

Características

  • Condiciones meteorológicas en tiempo real para cualquier ubicación
  • Previsiones meteorológicas (hasta 5 días)
  • Datos meteorológicos históricos (últimos 5 días)
  • Información sobre la calidad del aire
  • Alertas y advertencias meteorológicas
  • Función de búsqueda de ubicación

Configuración

  1. Asegúrese de tener instalado Python 3.10 o superior
  2. Instalar dependencias:
pip install -r requirements.txt
  1. Obtenga una clave API de OpenWeatherMap (nivel gratuito disponible)
    • Nota: Las nuevas claves API pueden tardar hasta 24 horas en activarse
  2. Configurar variables de entorno para la clave API (método recomendado):
    • Crea un archivo .env en el directorio del proyecto
    • Añade tu clave API al archivo: GXP2
    • Agregue .env a su archivo .gitignore para evitar enviar datos confidenciales
  3. Actualice main.py para utilizar la variable de entorno:
    # Add these imports at the top import os from dotenv import load_dotenv # Load environment variables load_dotenv() # Replace the API_KEY line with API_KEY = os.getenv("OPENWEATHER_API_KEY")

Integración con Claude Desktop

  1. Configure los ajustes de MCP en Claude Desktop agregando lo siguiente a su configuración de MCP:
{ "mcpServers": { "weather-mcp": { "command": "py", "args": ["-3.13", "C:\\Path\\To\\Your\\Weather-MCP-ClaudeDesktop\\main.py"] } } }
  1. Reemplace la ruta con la ruta completa a su archivo main.py
  2. Ejecute el servidor usando:
py -3.13 main.py
  1. Mantenga el servidor en funcionamiento mientras utiliza Claude Desktop

Herramientas disponibles

1. obtener_el_clima_actual

Obtenga las condiciones meteorológicas en tiempo real para una ubicación:

{ "location": { "name": "New York", "country": "US", "lat": 40.7128, "lon": -74.006 }, "temperature": { "current": 25.6, "feels_like": 26.2, "min": 23.4, "max": 27.8 }, "weather_condition": { "main": "Clear", "description": "clear sky", "icon": "01d" }, "wind": { "speed": 3.6, "deg": 220 }, "clouds": 5, "humidity": 65, "pressure": 1015, "visibility": 10000, "sunrise": "2025-03-16T06:12:34", "sunset": "2025-03-16T18:04:23", "timestamp": "2025-03-16T14:30:00" }

2. obtener el pronóstico del tiempo

Obtener el pronóstico del tiempo para una ubicación:

{ "location": { "name": "London", "country": "GB", "lat": 51.5074, "lon": -0.1278 }, "forecast": [ { "datetime": "2025-03-16T15:00:00", "temperature": { "temp": 18.2, "feels_like": 17.8, "min": 17.5, "max": 19.1 }, "weather_condition": { "main": "Rain", "description": "light rain", "icon": "10d" }, "wind": { "speed": 4.2, "deg": 180 }, "clouds": 75, "humidity": 82, "pressure": 1010, "visibility": 8000, "pop": 0.4 } // ... more forecast items ], "days": 5 }

3. obtener_calidad_del_aire

Obtener datos de calidad del aire para una ubicación:

{ "location": { "name": "Beijing", "country": "CN", "lat": 39.9042, "lon": 116.4074 }, "air_quality_index": 3, "air_quality_level": "Moderate", "components": { "co": 250.34, "no": 0.5, "no2": 15.2, "o3": 140.8, "so2": 5.1, "pm2_5": 8.2, "pm10": 12.3, "nh3": 0.7 }, "timestamp": "2025-03-16T14:30:00" }

4. obtener_clima_histórico

Obtenga datos meteorológicos históricos para una fecha específica:

{ "location": { "name": "Paris", "country": "FR", "lat": 48.8566, "lon": 2.3522 }, "date": "2025-03-14", "temperature": { "temp": 20.3, "feels_like": 19.8 }, "weather_condition": { "main": "Clouds", "description": "scattered clouds", "icon": "03d" }, "wind": { "speed": 2.8, "deg": 150 }, "clouds": 45, "humidity": 60, "pressure": 1012, "visibility": 10000, "sunrise": "2025-03-14T06:30:45", "sunset": "2025-03-14T18:15:22", "timestamp": "2025-03-14T12:00:00" }

5. ubicación_de_búsqueda

Buscar ubicaciones por nombre:

{ "results": [ { "name": "Tokyo", "state": "", "country": "JP", "lat": 35.6762, "lon": 139.6503 }, { "name": "Tokyo", "state": "Tokyo", "country": "JP", "lat": 35.6895, "lon": 139.6917 } // ... more results ] }

6. obtener alertas meteorológicas

Reciba alertas meteorológicas para una ubicación:

{ "location": { "name": "Miami", "country": "US", "lat": 25.7617, "lon": -80.1918 }, "alerts": [ { "sender": "NWS Miami", "event": "Heat Advisory", "start": "2025-03-16T12:00:00", "end": "2025-03-16T20:00:00", "description": "Heat index values between 105 and 110 expected", "tags": ["Extreme temperature value"] } // ... more alerts if any ], "alert_count": 1 }

Consultas de muestra

Puedes hacerle a Claude Desktop preguntas como:

  • "¿Cuál es el clima actual en Nueva York?"
  • "Muéstrame el pronóstico del tiempo para Londres a 5 días"
  • "¿Cómo es la calidad del aire en Pekín hoy?"
  • ¿Cómo estuvo el tiempo en París el 14 de marzo?
  • Buscar lugares llamados 'Tokio'
  • ¿Hay alguna alerta meteorológica para Miami?
  • Compara el clima actual en Chicago, Miami y Seattle.
  • "Muéstrame una comparación de la calidad del aire en Pekín, Los Ángeles y Delhi"

Manejo de errores

Todas las herramientas incluyen un manejo de errores adecuado y devolverán un mensaje de error si algo sale mal:

{ "error": "Failed to fetch current weather for InvalidLocation: Location not found" }

Solución de problemas

Si el servidor MCP no funciona en Claude Desktop:

  1. Asegúrese de que el servidor esté ejecutándose: debería ver el resultado cuando inicie el script
  2. Verifique que la ruta en su configuración sea correcta y absoluta
  3. Asegúrese de que Python 3.10+ esté en la RUTA de su sistema
  4. Compruebe que todas las dependencias estén instaladas
  5. Intente reiniciar Claude Desktop
  6. Verifique los registros para ver si hay mensajes de error

Problemas comunes de la API

  • Activación de la clave API : las nuevas claves API de OpenWeatherMap pueden tardar hasta 24 horas en activarse
  • Error de clave API no válida : si recibe un error 401, verifique que su clave API sea correcta y esté activa
  • Limitación de velocidad : el nivel gratuito permite hasta 60 llamadas por minuto, que podrían superarse durante un uso intensivo.

Límites de velocidad

Esta herramienta utiliza la API de OpenWeatherMap, que tiene límites de velocidad. La versión gratuita permite hasta 60 llamadas por minuto, lo cual debería ser suficiente para uso personal. Tenga en cuenta que la API puede limitar las solicitudes muy frecuentes.

Licencia

Licencia MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Proporciona datos meteorológicos en tiempo real, pronósticos e información meteorológica histórica desde la API de OpenWeatherMap para Claude Desktop, lo que permite realizar consultas en lenguaje natural sobre las condiciones actuales, pronósticos, calidad del aire y alertas meteorológicas en todo el mundo.

  1. Tutorial
    1. Features
      1. Setup
        1. Integration with Claude Desktop
          1. Available Tools
            1. 1. get_current_weather
            2. 2. get_weather_forecast
            3. 3. get_air_quality
            4. 4. get_historical_weather
            5. 5. search_location
            6. 6. get_weather_alerts
          2. Sample Queries
            1. Error Handling
              1. Troubleshooting
                1. Common API Issues
              2. Rate Limits
                1. License
                  ID: vh7tgzyyy2