Open-Meteo
Accede a pronósticos meteorológicos globales y datos históricos a través de la API de Open-Meteo.
Documentación
Servidor MCP de Open-Meteo
Un servidor integral del Protocolo de Contexto de Modelo (MCP) que proporciona acceso a las APIs meteorológicas de Open-Meteo para su uso con Modelos de Lenguaje de Gran Escala.
Características
Este servidor MCP proporciona acceso completo a las APIs de Open-Meteo, incluyendo:
APIs Meteorológicas Principales
- Pronóstico del Tiempo (
weather_forecast) - Pronósticos de hasta 16 días (7 por defecto) con resolución horaria y diaria - Archivo Meteorológico (
weather_archive) - Datos históricos ERA5 desde 1940 hasta el presente - Calidad del Aire (
air_quality) - PM2.5, PM10, ozono, dióxido de nitrógeno, polen, índices AQI europeos/estadounidenses, índice UV y otros contaminantes - Meteorología Marina (
marine_weather) - Altura de ola, período de ola, dirección de ola y temperatura superficial del mar - Elevación (
elevation) - Datos de modelo de elevación digital para coordenadas dadas - Geocodificación (
geocoding) - Busca ubicaciones en todo el mundo por nombre o código postal, obtén coordenadas e información detallada de ubicación
Modelos Meteorológicos Especializados
- DWD ICON (
dwd_icon_forecast) - Modelo de alta resolución del servicio meteorológico alemán para Europa - NOAA GFS (
gfs_forecast) - Modelo global del servicio meteorológico estadounidense con datos de alta resolución para América del Norte - Météo-France (
meteofrance_forecast) - Modelos AROME y ARPEGE del servicio meteorológico francés - ECMWF (
ecmwf_forecast) - Centro Europeo de Pronósticos Meteorológicos a Medio Plazo - JMA (
jma_forecast) - Modelo de alta resolución de la Agencia Meteorológica de Japón para Asia - MET Norway (
metno_forecast) - Servicio meteorológico noruego para países nórdicos - Environment Canada GEM (
gem_forecast) - Modelo del servicio meteorológico canadiense
Herramientas Avanzadas de Pronóstico
- Pronóstico de Inundaciones (
flood_forecast) - Caudal de ríos y pronósticos de inundaciones de GloFAS (Sistema Global de Concientización sobre Inundaciones) - Pronóstico Estacional (
seasonal_forecast) - Pronósticos de largo alcance hasta ~7 meses de anticipación - Proyecciones Climáticas (
climate_projection) - Proyecciones de cambio climático CMIP6 para diferentes escenarios de calentamiento - Pronóstico por Conjuntos (
ensemble_forecast) - Múltiples ejecuciones de modelos que muestran la incertidumbre del pronóstico
Instalación
Requisitos
- Node.js >= 22.0.0
Método 1: Usando npx (Recomendado)
¡No se requiere instalación! El servidor se ejecutará directamente mediante npx.
Método 2: Instalación Global mediante npm
npm install -g open-meteo-mcp-server
Método 3: Desde el Código Fuente (Desarrollo)
# Clone the repository
git clone https://github.com/cmer81/open-meteo-mcp.git
cd open-meteo-mcp
# Install dependencies
npm install
# Build the project
npm run build
Configuración
Configuración de Claude Desktop
Configuración Simple (Recomendada)
Agrega la siguiente configuración al archivo de configuración de Claude Desktop:
{
"mcpServers": {
"open-meteo": {
"command": "npx",
"args": ["-y", "-p", "open-meteo-mcp-server", "open-meteo-mcp-server"]
}
}
}
Configuración Completa (con variables de entorno)
{
"mcpServers": {
"open-meteo": {
"command": "npx",
"args": ["-y", "-p", "open-meteo-mcp-server", "open-meteo-mcp-server"],
"env": {
"OPEN_METEO_API_URL": "https://api.open-meteo.com",
"OPEN_METEO_AIR_QUALITY_API_URL": "https://air-quality-api.open-meteo.com",
"OPEN_METEO_MARINE_API_URL": "https://marine-api.open-meteo.com",
"OPEN_METEO_ARCHIVE_API_URL": "https://archive-api.open-meteo.com",
"OPEN_METEO_SEASONAL_API_URL": "https://seasonal-api.open-meteo.com",
"OPEN_METEO_ENSEMBLE_API_URL": "https://ensemble-api.open-meteo.com",
"OPEN_METEO_GEOCODING_API_URL": "https://geocoding-api.open-meteo.com",
"OPEN_METEO_FLOOD_API_URL": "https://flood-api.open-meteo.com",
"OPEN_METEO_CLIMATE_API_URL": "https://climate-api.open-meteo.com"
}
}
}
}
Configuración de Desarrollo Local
Si estás desarrollando localmente o instalaste desde el código fuente:
{
"mcpServers": {
"open-meteo": {
"command": "node",
"args": ["/path/to/open-meteo-mcp/dist/index.js"],
"env": {
"OPEN_METEO_API_URL": "https://api.open-meteo.com",
"OPEN_METEO_AIR_QUALITY_API_URL": "https://air-quality-api.open-meteo.com",
"OPEN_METEO_MARINE_API_URL": "https://marine-api.open-meteo.com",
"OPEN_METEO_ARCHIVE_API_URL": "https://archive-api.open-meteo.com",
"OPEN_METEO_SEASONAL_API_URL": "https://seasonal-api.open-meteo.com",
"OPEN_METEO_ENSEMBLE_API_URL": "https://ensemble-api.open-meteo.com",
"OPEN_METEO_GEOCODING_API_URL": "https://geocoding-api.open-meteo.com",
"OPEN_METEO_FLOOD_API_URL": "https://flood-api.open-meteo.com",
"OPEN_METEO_CLIMATE_API_URL": "https://climate-api.open-meteo.com"
}
}
}
}
Configuración de Instancia Personalizada
Si estás usando tu propia instancia de Open-Meteo:
{
"mcpServers": {
"open-meteo": {
"command": "npx",
"args": ["-y", "-p", "open-meteo-mcp-server", "open-meteo-mcp-server"],
"env": {
"OPEN_METEO_API_URL": "https://your-meteo-api.example.com",
"OPEN_METEO_AIR_QUALITY_API_URL": "https://air-quality-api.example.com",
"OPEN_METEO_MARINE_API_URL": "https://marine-api.example.com",
"OPEN_METEO_ARCHIVE_API_URL": "https://archive-api.example.com",
"OPEN_METEO_SEASONAL_API_URL": "https://seasonal-api.example.com",
"OPEN_METEO_ENSEMBLE_API_URL": "https://ensemble-api.example.com",
"OPEN_METEO_GEOCODING_API_URL": "https://geocoding-api.example.com",
"OPEN_METEO_FLOOD_API_URL": "https://flood-api.example.com",
"OPEN_METEO_CLIMATE_API_URL": "https://climate-api.example.com"
}
}
}
}
Transporte HTTP Transmisible
El servidor también admite transporte HTTP transmisible para implementaciones remotas. Establece la variable de entorno TRANSPORT a http:
TRANSPORT=http PORT=3000 npx open-meteo-mcp-server
Esto inicia un servidor Express en el puerto especificado (predeterminado: 3000) con el endpoint MCP en /mcp. El transporte HTTP no tiene estado: cada POST /mcp se maneja de forma independiente, no se emite ningún ID de sesión, y GET/DELETE /mcp responden 405. Ninguna herramienta mantiene estado entre llamadas, por lo que los clientes no pierden nada, y no hay tabla de sesiones que un cliente pueda llenar.
El servidor se vincula a
127.0.0.1por defecto, por lo que solo es accesible desde la máquina local. Para aceptar conexiones de otros hosts, estableceHOST=0.0.0.0explícitamente. La imagen Docker ya hace esto, por lo que los puertos publicados funcionan sin configuración adicional.
Para implementaciones de producción, vincúlate a una interfaz accesible y habilita autenticación y limitación de velocidad:
HOST=0.0.0.0 API_KEY=your-secret-key RATE_LIMIT_RPM=60 TRANSPORT=http PORT=3000 npx open-meteo-mcp-server
Si un cliente basado en navegador se conecta al servidor, lista su origen en ALLOWED_ORIGINS — las solicitudes que llevan un encabezado Origin no listado se rechazan con 403 como protección contra el rebinding de DNS.
Los clientes deben entonces incluir la clave en cada solicitud:
Authorization: Bearer your-secret-key
# or
X-API-Key: your-secret-key
Usando scripts de npm
# Start in HTTP mode (production)
npm run start:http
# Development with auto-reload in HTTP mode
npm run dev:http
Implementación con Docker
El servidor se puede implementar fácilmente usando Docker.
Usando Imagen Preconstruida del Registro de Contenedores de GitHub (Recomendado)
Extrae y ejecuta la imagen oficial:
# Pull the latest image
docker pull ghcr.io/cmer81/open-meteo-mcp:latest
# Run the container
docker run -d \
--name open-meteo-mcp \
-p 3000:3000 \
ghcr.io/cmer81/open-meteo-mcp:latest
# Check health
curl http://localhost:3000/health
Etiquetas disponibles (sin prefijo v — la etiqueta git v2.0.0 publica la imagen como 2.0.0):
latest- Última versión estable2.0.0- Versión específica2.0- Última versión 2.0.x2- Última versión 2.x.x
Usando Docker Compose
El repositorio incluye dos configuraciones de Docker Compose:
Producción (usa imagen preconstruida):
# Start with pre-built image from GitHub Container Registry
docker compose up -d
# View logs
docker compose logs -f
# Stop the server
docker compose down
Desarrollo (compila desde el código fuente):
# Build and start from local source
docker compose -f docker-compose.dev.yml up -d
# Rebuild after code changes
docker compose -f docker-compose.dev.yml up -d --build
Compilando desde el Código Fuente
Si prefieres compilar la imagen tú mismo:
# Build the image
npm run docker:build
# or
docker build -t open-meteo-mcp-server .
# Run the container
npm run docker:run
# or
docker run -p 3000:3000 open-meteo-mcp-server
Configuración de Entorno
Copia .env.example a .env y personaliza según sea necesario:
cp .env.example .env
# Edit .env with your configuration
Luego actualiza docker-compose.yml para usar el archivo .env o pasa las variables de entorno directamente.
Verificación de Salud
El servidor HTTP incluye un endpoint de verificación de salud:
curl http://localhost:3000/health
# Response: {"status":"ok"}
Este endpoint es utilizado por el HEALTHCHECK de Docker y se puede integrar con plataformas de orquestación de contenedores (Kubernetes, Docker Swarm, etc.).
Variables de Entorno
Todas las variables de entorno son opcionales y tienen valores predeterminados sensatos:
OPEN_METEO_API_URL- URL base para la API de pronóstico de Open-Meteo (predeterminado: https://api.open-meteo.com)OPEN_METEO_AIR_QUALITY_API_URL- URL de la API de calidad del aire (predeterminado: https://air-quality-api.open-meteo.com)OPEN_METEO_MARINE_API_URL- URL de la API meteorológica marina (predeterminado: https://marine-api.open-meteo.com)OPEN_METEO_ARCHIVE_API_URL- URL de la API de datos históricos (predeterminado: https://archive-api.open-meteo.com)OPEN_METEO_SEASONAL_API_URL- URL de la API de pronóstico estacional (predeterminado: https://seasonal-api.open-meteo.com)OPEN_METEO_ENSEMBLE_API_URL- URL de la API de pronóstico por conjuntos (predeterminado: https://ensemble-api.open-meteo.com)OPEN_METEO_GEOCODING_API_URL- URL de la API de geocodificación (predeterminado: https://geocoding-api.open-meteo.com)OPEN_METEO_FLOOD_API_URL- URL de la API de pronóstico de inundaciones (predeterminado: https://flood-api.open-meteo.com)OPEN_METEO_CLIMATE_API_URL- URL de la API de proyección climática (predeterminado: https://climate-api.open-meteo.com)OPEN_METEO_CACHE_MAX_BYTES- Límite de tamaño para la caché de respuestas en memoria (predeterminado:20000000). Establécelo a0para deshabilitar el almacenamiento en caché. El límite cuenta JSON serializado; los objetos analizados retenidos en memoria conservan aproximadamente 1.2-2.6x de eso dependiendo de la forma de la carga útil, por lo que una caché completa en el valor predeterminado cuesta alrededor de 50 MB de heap. Las solicitudes idénticas se sirven desde la caché hasta que expira su TTL por endpoint: 15 minutos para pronósticos y conjuntos, 30 minutos para calidad del aire y marina, 1 hora para inundaciones, 6 horas para estacional, 24 horas para archivo (1 hora cuando el rango termina dentro de los últimos 5 días, que el archivo aún está rellenando) y clima, 7 días para geocodificación, 30 días para elevación.TRANSPORT- Modo de transporte:httppara HTTP transmisible, omítelo para stdio (predeterminado: stdio)PORT- Puerto del servidor HTTP al usar transporte HTTP (predeterminado: 3000)HOST- Interfaz a la que se vincula el transporte HTTP (predeterminado:127.0.0.1, solo loopback). Establécelo a0.0.0.0para aceptar conexiones de otras máquinas. La imagen Docker ya establece esto a0.0.0.0, por lo que los puertos publicados funcionan de inmediato.
Seguridad del Transporte HTTP (opcional)
API_KEY- Cuando se establece, todas las solicitudes a/mcpdeben incluir esta clave medianteAuthorization: Bearer <key>oX-API-Key: <key>. Déjalo sin establecer para acceso abierto (modo local/desarrollo). Se aplica enGET,POSTyDELETEpor igual.RATE_LIMIT_RPM- Máximo de solicitudes por minuto por IP (predeterminado:60). Los clientes IPv6 se agrupan por /56. Solo transporte HTTP.RATE_LIMIT_ANTHROPIC_RPM- Máximo de solicitudes por minuto para el rango saliente de Anthropic (160.79.104.0/21), compartido por todos los usuarios de claude.ai, que todos alcanzan el servidor desde él (predeterminado:600). Detrás de un proxy inverso, listalo enTRUSTED_PROXIESpara que se vea la IP real del cliente. Solo transporte HTTP.TRUSTED_PROXIES- Lista separada por comas de IPs de proxy de confianza o rangos CIDR (por ejemplo,10.0.0.0/8,172.16.0.0/12). Cuando se establece,X-Forwarded-Forse honra solo para solicitudes que se originan desde estas direcciones. Déjalo sin establecer para usar siempre la IP de conexión directa.ALLOWED_ORIGINS- Lista separada por comas de orígenes de navegador permitidos para alcanzar el servidor (por ejemplo,http://localhost:5173,https://app.example). Protege contra el rebinding de DNS: cualquier solicitud que lleve un encabezadoOriginque no esté listado se rechaza con403. Las solicitudes sin encabezadoOrigin— clientes CLI y transportes SDK — no se ven afectadas. Vacío por defecto.
/health permanece accesible sin clave y sin limitación de velocidad, por lo que las sondas de contenedor siguen funcionando.
Habilidades
El directorio skills/ contiene archivos SKILL.md que ayudan a los asistentes de IA a usar este servidor MCP de manera efectiva. Actúan como guías contextuales — la IA lee la habilidad relevante para saber qué herramienta llamar y cómo usar sus parámetros.
Habilidades disponibles
| Habilidad | Archivo | Mejor para |
|---|---|---|
open-meteo | skills/open-meteo/SKILL.md | Clima cotidiano: pronósticos, datos históricos, calidad del aire, condiciones marinas, elevación |
open-meteo-advanced | skills/open-meteo-advanced/SKILL.md | Modelos específicos (ECMWF, GFS, DWD ICON…), incertidumbre de conjuntos, perspectivas estacionales, proyecciones climáticas |
Uso con Claude Code (CLI)
Copia las habilidades a tu directorio de habilidades de Claude:
cp -r skills/open-meteo ~/.claude/skills/
cp -r skills/open-meteo-advanced ~/.claude/skills/
Esto las instala en ~/.claude/skills/open-meteo/SKILL.md y ~/.claude/skills/open-meteo-advanced/SKILL.md. Claude Code cargará la habilidad relevante automáticamente cuando hagas preguntas relacionadas con el clima.
Uso con Claude Desktop
Sube el archivo SKILL.md directamente como documento en tu conversación de Claude Desktop:
- Para preguntas meteorológicas cotidianas: sube
skills/open-meteo/SKILL.md - Para selección de modelos, conjuntos o proyecciones climáticas: sube
skills/open-meteo-advanced/SKILL.md
Sube una habilidad por conversación. La IA la usará como guía de referencia durante toda la sesión.
Ejemplos de Uso
Geocodificación y Búsqueda de Ubicaciones
Find the coordinates for Paris, France
Search for locations named "Berlin" and return the top 5 results
What are the coordinates for postal code 75001?
Search for "Lyon" in France only (countryCode: FR) with results in French (language: fr)
Find all cities named "London" in the United Kingdom with English descriptions
Pronóstico Meteorológico Básico
Can you get me the weather forecast for Paris (48.8566, 2.3522) with temperature, humidity, and precipitation for the next 3 days?
Datos Meteorológicos Históricos
What were the temperatures in London during January 2023?
Monitoreo de Calidad del Aire
What's the current air quality in Beijing with PM2.5 and ozone levels?
Give me the current European AQI, UV index, and pollen levels (birch, grass, ragweed) in Paris.
Meteorología Marina
Get me the wave height and sea surface temperature for coordinates 45.0, -125.0 for the next 5 days.
Monitoreo de Inundaciones
Check the river discharge forecast for coordinates 52.5, 13.4 for the next 30 days.
Pronóstico Estacional
Give me the weekly and monthly temperature outlook for Madrid over the next 4 months.
Pronóstico por Conjuntos
Compare the ICON and GFS ensemble forecasts for Berlin over the next 5 days and show the spread across members.
Proyecciones Climáticas
Show me temperature projections for New York from 2050 to 2070 using CMIP6 models.
Parámetros de la API
Parámetros Requeridos
latitude: Latitud en el sistema de coordenadas WGS84 (-90 a 90)longitude: Longitud en el sistema de coordenadas WGS84 (-180 a 180)
Variables Meteorológicas Horarias
temperature_2m: Temperatura a 2 metrosrelative_humidity_2m: Humedad relativaprecipitation: Precipitaciónwind_speed_10m: Velocidad del viento a 10 metroswind_direction_10m: Dirección del vientopressure_msl: Presión media a nivel del marcloud_cover: Porcentaje de cobertura nubosaweather_code: Código de condición meteorológicavisibility: Visibilidaduv_index: Índice UV- Y muchos más...
Variables Meteorológicas Diarias
temperature_2m_max/min: Temperaturas máximas/mínimasprecipitation_sum: Precipitación totalwind_speed_10m_max: Velocidad máxima del vientosunrise/sunset: Horas de salida y puesta del solweather_code: Código de condición meteorológicauv_index_max: Índice UV máximo
Variables de calidad del aire
pm10: Partículas PM10pm2_5: Partículas PM2.5carbon_monoxide: Monóxido de carbononitrogen_dioxide: Dióxido de nitrógenoozone: Ozonosulphur_dioxide: Dióxido de azufreammonia: Amoníacodust: Partículas de polvoalder_pollen: Polen de aliso (solo Europa)birch_pollen: Polen de abedul (solo Europa)grass_pollen: Polen de gramíneas (solo Europa)mugwort_pollen: Polen de artemisa (solo Europa)olive_pollen: Polen de olivo (solo Europa)ragweed_pollen: Polen de ambrosía (solo Europa)european_aqi: Índice Europeo de Calidad del Aireeuropean_aqi_pm2_5: ICA Europeo para PM2.5european_aqi_pm10: ICA Europeo para PM10european_aqi_nitrogen_dioxide: ICA Europeo para NO₂european_aqi_ozone: ICA Europeo para ozonoeuropean_aqi_sulphur_dioxide: ICA Europeo para SO₂us_aqi: Índice de Calidad del Aire de EE. UU.us_aqi_pm2_5: ICA de EE. UU. para PM2.5us_aqi_pm10: ICA de EE. UU. para PM10us_aqi_nitrogen_dioxide: ICA de EE. UU. para NO₂us_aqi_ozone: ICA de EE. UU. para ozonous_aqi_sulphur_dioxide: ICA de EE. UU. para SO₂us_aqi_carbon_monoxide: ICA de EE. UU. para COuv_index: Índice UVuv_index_clear_sky: Índice UV en condiciones de cielo despejado
Variables meteorológicas marinas
wave_height: Altura de olawave_direction: Dirección de olawave_period: Período de olawind_wave_height: Altura de ola de vientoswell_wave_height: Altura de mar de fondosea_surface_temperature: Temperatura superficial del mar
Opciones de formato
temperature_unit:celsius,fahrenheitwind_speed_unit:kmh,ms,mph,knprecipitation_unit:mm,inchtimezone:Europe/Paris,America/New_York, etc.
Opciones de rango temporal
forecast_days: Número de días de pronóstico (varía según la API)past_days: Incluir datos de días pasadosstart_date/end_date: Rango de fechas para datos históricos (formato AAAA-MM-DD)
Scripts de desarrollo
# Development with auto-reload
npm run dev
# Build TypeScript
npm run build
# Start production server
npm start
# Run tests
npm test
# Type checking
npm run typecheck
# Linting
npm run lint
Evaluaciones
El directorio evals/ contiene un punto de referencia de usabilidad para LLM de las herramientas de este servidor: una verificación diferente a npm test. Las pruebas unitarias verifican que el código sea correcto; esto verifica que un LLM al que se le dan solo las herramientas de este servidor (sin otro contexto) pueda completar tareas realistas con ellas.
evals/evaluation.xml— 14 pares independientes de preguntas/respuestas de solo lectura basados en datos históricos estables (archivo ERA5, proyecciones CMIP6, geocodificación, elevación), por lo que las respuestas esperadas nunca cambian con el tiempo. Los primeros 10 nombran la herramienta a usar; los últimos 4 no, por lo que también verifican la elección de herramienta y el manejo de la hora local (lo que indican las instrucciones del servidor).evals/scripts/evaluation.py— entorno de ejecución que inicia el servidor, permite que un agente responda cada pregunta usando solo sus herramientas y compara la respuesta con la esperada.
Ejecutar la evaluación
npm run build
pip install -r evals/scripts/requirements.txt
echo 'ANTHROPIC_API_KEY=your_api_key_here' >> .env # or export it; .env is gitignored
npm run eval
# baseline without the server's instructions, to measure their effect:
npm run eval -- --no-server-instructions
# other model or report file:
npm run eval -- -m claude-opus-5-5 -o eval-report.md
El entorno de ejecución pasa el instructions de inicialización del servidor al modelo en el mensaje del sistema, como hacen los clientes MCP. TRANSPORT=stdio se fuerza para el servidor que inicia, por lo que un .env copiado de .env.example (que establece TRANSPORT=http) no hace que escuche en HTTP en su lugar.
Esto llama a la API real de Anthropic para cada pregunta, por lo que consume tokens/créditos: es una verificación de calidad manual para el diseño de herramientas, no parte de CI.
Al agregar, eliminar o renombrar una herramienta, o cambiar materialmente la descripción o el esquema de una herramienta, considere agregar o actualizar un qa_pair en evals/evaluation.xml que la ejercite.
Estructura del proyecto
src/
├── index.ts # MCP server entry point
├── client.ts # HTTP client for Open-Meteo API
├── tools.ts # MCP tool definitions
├── types.ts # Zod validation schemas
├── truncation.ts # Response size capping and serialization
└── security.ts # Auth, origin validation, rate limiter, IP extraction
Cobertura de la API
Este servidor proporciona acceso a todos los endpoints principales de Open-Meteo:
Datos meteorológicos
- Condiciones meteorológicas actuales
- Pronósticos por hora (hasta 16 días)
- Pronósticos diarios (hasta 16 días)
- Datos meteorológicos históricos (1940-presente)
Modelos especializados
- Modelos regionales de alta resolución (DWD ICON, Météo-France AROME)
- Modelos globales (NOAA GFS, ECMWF)
- Especialistas regionales (JMA para Asia, MET Norway para los países nórdicos)
Datos ambientales
- Pronósticos de calidad del aire
- Condiciones marinas y oceánicas
- Caudal de ríos y alertas de inundación
- Proyecciones de cambio climático
Funciones avanzadas
- Pronósticos de conjunto para cuantificación de incertidumbre
- Pronósticos estacionales para planificación a largo plazo
- Comparación de múltiples modelos
- Unidades y zonas horarias personalizables
Manejo de errores
El servidor proporciona un manejo integral de errores con mensajes de error detallados para:
- Coordenadas no válidas
- Parámetros requeridos faltantes
- Límites de velocidad de la API
- Problemas de conectividad de red
- Rangos de fechas no válidos
Límites de tamaño de respuesta
Las respuestas de las herramientas están limitadas a 25,000 caracteres para que una sola consulta amplia no desborde el contexto de un LLM. Cuando una respuesta excede el límite, las matrices de series temporales (hourly, daily, minutely_15) se acortan en una proporción igual, manteniendo cada serie paralela alineada en las mismas marcas de tiempo, y se agregan dos campos:
{
"truncated": true,
"truncation_message": "Response truncated from 95538 characters to stay within the 25000-character limit. Narrow the request (start_date/end_date, forecast_days, past_days, or fewer variables) to retrieve the full data."
}
Para obtener datos completos, reduzca la solicitud: rango de fechas más corto, menos forecast_days/past_days o menos variables.
Rendimiento
- Cliente HTTP eficiente con agrupación de conexiones
- Serialización de datos optimizada
- Huella de memoria mínima
Documentación de la API
Para obtener documentación detallada de la API, consulte el archivo openapi.yml y la documentación de la API de Open-Meteo.
Contribuciones
¡Las contribuciones son bienvenidas! No dude en enviar una Solicitud de extracción (Pull Request).
Configuración de desarrollo
- Haga un fork del repositorio
- Clone su fork:
git clone https://github.com/your-username/open-meteo-mcp.git - Instale las dependencias:
npm install - Cree una rama de características:
git checkout -b feature/amazing-feature - Haga sus cambios y agregue pruebas
- Ejecute las pruebas:
npm test - Confirme sus cambios:
git commit -m 'Add amazing feature' - Envíe a la rama:
git push origin feature/amazing-feature - Abra una Solicitud de extracción
Publicación de versiones
Este proyecto utiliza publicaciones automatizadas mediante GitHub Actions. Para crear una nueva versión:
# For a patch release (1.0.0 -> 1.0.1)
npm run release:patch
# For a minor release (1.0.0 -> 1.1.0)
npm run release:minor
# For a major release (1.0.0 -> 2.0.0)
npm run release:major
La Acción de GitHub automáticamente:
- Ejecutará pruebas y compilará el proyecto
- Publicará en npm con procedencia
- Creará una versión de GitHub
- Actualizará las insignias de versión
Licencia
MIT