OpenMeteo MCP Server

Accede a datos meteorológicos globales y pronósticos usando la API de OpenMeteo, incluyendo condiciones actuales, datos históricos y búsqueda de ubicaciones.

Documentación

OpenMeteo MCP Server

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a datos meteorológicos y pronósticos a través de la API de OpenMeteo. Este servidor permite a los asistentes de IA recuperar condiciones meteorológicas actuales, pronósticos, datos meteorológicos históricos y buscar ubicaciones en todo el mundo.

Características

  • Clima actual: Obtenga condiciones meteorológicas en tiempo real, incluyendo temperatura, humedad, precipitación, viento y presión atmosférica
  • Pronósticos meteorológicos: Recupere pronósticos meteorológicos detallados de hasta 16 días
  • Clima histórico: Acceda a datos meteorológicos históricos para análisis y comparación
  • Búsqueda de ubicaciones: Encuentre coordenadas y detalles de ciudades y ubicaciones en todo el mundo
  • API gratuita: Utiliza la API gratuita de OpenMeteo sin necesidad de clave API
  • Datos completos: Incluye temperatura, precipitación, viento, presión, cobertura de nubes y descripciones meteorológicas
  • Formato inteligente: Informes meteorológicos legibles con emojis y organización clara

Instalación

Opción 1: Descargar el binario precompilado (recomendado)

Descargue la última versión desde GitHub:

  1. Visite la página de versiones: Vaya a https://github.com/gbrigandi/mcp-server-openmeteo/releases

  2. Elija su versión: Haga clic en la última versión (o en la versión específica que desee)

  3. Descargue para su plataforma: En la sección "Assets", descargue el binario apropiado para su sistema:

    • macOS (Apple Silicon): mcp-server-openmeteo-aarch64-apple-darwin
    • macOS (Intel): mcp-server-openmeteo-x86_64-apple-darwin
    • Linux (64 bits): mcp-server-openmeteo-x86_64-unknown-linux-gnu
    • Windows (64 bits): mcp-server-openmeteo-x86_64-pc-windows-msvc.exe
  4. Hágalo ejecutable (solo macOS/Linux):

    chmod +x mcp-server-openmeteo
    

Opción 2: Compilar desde el código fuente

Si prefiere compilar desde el código fuente o necesita la última versión de desarrollo:

Requisitos previos

  • Rust 1.87 o superior
  • Administrador de paquetes Cargo

Pasos de compilación

git clone https://github.com/gbrigandi/mcp-server-openmeteo
cd mcp-server-openmeteo
cargo build --release

El binario compilado estará disponible en target/release/mcp-server-openmeteo.

Uso

Uso básico

Ejecute el servidor con la configuración predeterminada:

./target/release/mcp-server-openmeteo

Variables de entorno

Puede controlar el nivel de registro mediante la variable de entorno RUST_LOG:

# Enable debug logging
RUST_LOG=debug ./target/release/mcp-server-openmeteo

# Enable info logging (default)
RUST_LOG=info ./target/release/mcp-server-openmeteo

# Disable most logging
RUST_LOG=warn ./target/release/mcp-server-openmeteo

Configuración del cliente MCP

Claude Desktop

Agregue este servidor a su archivo de configuración de Claude Desktop:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "openmeteo": {
      "command": "/path/to/mcp-server-openmeteo"
    }
  }
}

Después de agregar la configuración:

  1. Guarde el archivo
  2. Reinicie Claude Desktop
  3. Las herramientas meteorológicas de OpenMeteo estarán disponibles en sus conversaciones

Herramientas disponibles

1. get_current_weather

Obtenga las condiciones meteorológicas actuales para una ubicación específica. Devuelve datos meteorológicos en tiempo real, incluyendo temperatura, humedad, precipitación, viento y condiciones atmosféricas.

Parámetros:

  • latitude (obligatorio): Coordenada de latitud (-90 a 90)
  • longitude (obligatorio): Coordenada de longitud (-180 a 180)

Devuelve:

  • Temperatura actual y temperatura de "sensación térmica"
  • Porcentaje de humedad relativa
  • Cantidad de precipitación
  • Velocidad, dirección y ráfagas de viento
  • Presión atmosférica (nivel medio del mar)
  • Porcentaje de cobertura de nubes
  • Descripción de la condición meteorológica
  • Indicador de día/noche

Ejemplo:

{
  "latitude": 40.7128,
  "longitude": -74.0060
}

2. get_weather_forecast

Obtenga el pronóstico meteorológico para una ubicación específica. Devuelve datos de pronóstico detallados de hasta 16 días, incluyendo temperatura diaria, precipitación, viento y condiciones meteorológicas.

Parámetros:

  • latitude (obligatorio): Coordenada de latitud (-90 a 90)
  • longitude (obligatorio): Coordenada de longitud (-180 a 180)
  • days (opcional): Número de días de pronóstico (1-16, predeterminado: 7)

Devuelve:

  • Temperaturas máximas y mínimas diarias
  • Descripciones de condiciones meteorológicas
  • Cantidades de precipitación
  • Velocidades máximas del viento
  • Horas de salida y puesta del sol
  • Índice UV y duración de la luz diurna

Ejemplo:

{
  "latitude": 40.7128,
  "longitude": -74.0060,
  "days": 5
}

3. get_historical_weather

Obtenga datos meteorológicos históricos para una ubicación y un rango de fechas específicos. Devuelve estadísticas meteorológicas diarias, incluyendo temperatura, precipitación y otros datos meteorológicos para análisis.

Parámetros:

  • latitude (obligatorio): Coordenada de latitud (-90 a 90)
  • longitude (obligatorio): Coordenada de longitud (-180 a 180)
  • start_date (obligatorio): Fecha de inicio en formato YYYY-MM-DD
  • end_date (obligatorio): Fecha de fin en formato YYYY-MM-DD

Devuelve:

  • Estadísticas de temperatura diaria (mín, máx, media)
  • Totales y promedios de precipitación
  • Datos de velocidad y dirección del viento
  • Estadísticas resumidas para todo el período
  • Datos diarios de muestra para los primeros 5 días

Ejemplo:

{
  "latitude": 40.7128,
  "longitude": -74.0060,
  "start_date": "2024-01-01",
  "end_date": "2024-01-31"
}

4. search_locations

Busque ubicaciones por nombre para obtener sus coordenadas y detalles. Use el formato "ciudad, país" donde el país es opcional (por ejemplo, "París, Francia" o simplemente "Tokio"). Devuelve una lista de ubicaciones coincidentes con coordenadas y otra información geográfica.

Parámetros:

  • query (obligatorio): Consulta de búsqueda de ubicación en formato "ciudad, país" (el país es opcional)
    • Ejemplos: "París, Francia", "Tokio", "Nueva York, EE. UU.", "Londres"
  • limit (opcional): Número máximo de resultados (1-100, predeterminado: 10)

Devuelve:

  • Nombre de la ciudad/ubicación y país
  • Región administrativa (estado/provincia)
  • Coordenadas precisas (latitud/longitud)
  • Información de zona horaria
  • Datos de población (cuando estén disponibles)

Ejemplo:

{
  "query": "Paris, France",
  "limit": 5
}

Fuente de datos

Todos los datos meteorológicos son proporcionados por OpenMeteo, una API meteorológica gratuita que ofrece:

  • Datos de alta calidad: Basados en múltiples modelos meteorológicos y observaciones
  • Cobertura global: Disponibilidad de datos meteorológicos en todo el mundo
  • Sin necesidad de clave API: Acceso gratuito sin registro
  • Alta disponibilidad: Servicio confiable con buen tiempo de actividad
  • Código abierto: Basado en modelos meteorológicos de código abierto
  • Actualizaciones en tiempo real: Condiciones actuales actualizadas regularmente
  • Archivo histórico: Acceso a datos meteorológicos históricos

Rendimiento

  • Tiempo de espera de solicitud: 30 segundos de tiempo de espera para todas las solicitudes de API
  • Solicitudes eficientes: Llamadas de API optimizadas con solo los parámetros necesarios
  • Recuperación de errores: Manejo elegante de fallos temporales de la API
  • Validación de coordenadas: Validación de entrada para evitar solicitudes de API no válidas

Licencia

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

Contribuciones

¡Las contribuciones son bienvenidas! No dude en enviar un Pull Request. Áreas de contribución:

  • Parámetros meteorológicos adicionales
  • Opciones de formato mejoradas
  • Optimizaciones de rendimiento
  • Validación adicional
  • Mejoras de documentación

Soporte

Para problemas y preguntas:

  1. Revise los problemas existentes en el repositorio
  2. Cree un nuevo problema con información detallada sobre el problema
  3. Incluya registros y detalles de configuración relevantes
  4. Proporcione coordenadas y parámetros de ejemplo que causen problemas

Registro de cambios

Versión 0.1.0

  • Versión inicial con funcionalidad completa del servidor MCP
  • Condiciones meteorológicas actuales con datos completos
  • Pronósticos meteorológicos de hasta 16 días
  • Datos meteorológicos históricos con resúmenes estadísticos
  • Búsqueda de ubicaciones con geocodificación