OpenWeatherMap

Proporciona datos meteorológicos completos y pronósticos utilizando la API de OpenWeatherMap.

Documentación

OpenWeatherMap MCP Server

Un servidor de Model Context Protocol (MCP) que proporciona datos meteorológicos completos y pronósticos a través de la API de OpenWeatherMap. Este servidor permite a los asistentes de IA acceder a información meteorológica en tiempo real, pronósticos, datos de calidad del aire y servicios de ubicación.

OpenWeatherMap Server MCP server

Características

Herramientas Meteorológicas

  • Clima Actual - Obtén las condiciones actuales de cualquier ubicación
  • Pronóstico del Tiempo - Pronóstico del tiempo a 5 días con intervalos de 3 horas
  • Pronóstico por Horas - Pronósticos horarios detallados de hasta 48 horas
  • Pronóstico Diario - Pronósticos meteorológicos diarios de hasta 8 días con rangos de temperatura y datos astronómicos
  • Pronóstico por Minutos - Pronósticos de precipitación minuto a minuto para la próxima hora
  • Alertas Meteorológicas - Avisos y alertas meteorológicas activas con clasificación de severidad

Calidad del Aire y Ubicación

  • Contaminación del Aire Actual - Índice de calidad del aire en tiempo real y mediciones de contaminantes
  • Información de Ubicación - Geocodificación inversa para obtener detalles de ubicación a partir de coordenadas
  • Clima OneCall - Datos meteorológicos completos que combinan múltiples pronósticos
  • Contaminación del Aire - Datos históricos y pronosticados de calidad del aire
  • Geocodificación - Convierte nombres de ubicaciones en coordenadas

Instalación

Requisitos Previos

Configuración

  1. Clona el repositorio:
git clone https://github.com/robertn702/mcp-openweathermap.git
cd mcp-openweathermap
  1. Instala las dependencias:
bun install
  1. Configura tus variables de entorno:
cp .env.example .env
# Edit .env and add your OpenWeatherMap API key

Variables de entorno:

  • OPENWEATHER_API_KEY - Tu clave API de OpenWeatherMap (requerida solo para transporte stdio)
  • PORT - Puerto del servidor para transporte HTTP (predeterminado: 3000)
  • MCP_TRANSPORT - Tipo de transporte: stdio o httpStream (predeterminado: stdio)
  • MCP_ENDPOINT - Ruta del endpoint HTTP (predeterminado: /stream)

Uso

Ejecutando el Servidor

Transporte Stdio (predeterminado):

bun run src/main.ts

Transporte HTTP Stream:

MCP_TRANSPORT=httpStream PORT=3000 bun run src/main.ts

Configuración de Claude Desktop

Añade esta configuración a los ajustes MCP de tu Claude Desktop:

{
  "mcpServers": {
    "openweathermap": {
      "command": "npx",
      "args": ["mcp-openweathermap"],
      "env": {
        "OPENWEATHER_API_KEY": "your-api-key-here"
      }
    }
  }
}

Herramientas API

Información Meteorológica

  • get-current-weather - Condiciones meteorológicas actuales
  • get-weather-forecast - Pronóstico a 5 días
  • get-hourly-forecast - Pronósticos por horas (hasta 48 horas)
  • get-daily-forecast - Pronósticos diarios (hasta 8 días)
  • get-minutely-forecast - Precipitación minuto a minuto

Alertas y Calidad del Aire

  • get-weather-alerts - Avisos y alertas meteorológicas
  • get-current-air-pollution - Datos actuales de calidad del aire
  • get-air-pollution - Pronósticos e historial de calidad del aire

Servicios de Ubicación

  • get-location-info - Geocodificación inversa desde coordenadas
  • geocode-location - Convierte direcciones en coordenadas
  • get-onecall-weather - Datos meteorológicos completos

Desarrollo

Ejecución en Desarrollo

bun run src/main.ts

Pruebas con MCP Inspector

bun run src/main.ts

Luego conecta el MCP Inspector para probar las herramientas de forma interactiva.

Compilación

bun run build

Autenticación

Transporte Stdio: Requiere la variable de entorno OPENWEATHER_API_KEY.

Transporte HTTP: La clave API de OpenWeatherMap se pasa como token de portador en los encabezados de la solicitud HTTP. No se necesita variable de entorno.

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Realiza tus cambios
  4. Añade pruebas si corresponde
  5. Envía una solicitud de extracción (pull request)

Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.

Soporte