maviapi
Live JSON from sites with no API (Booking, Airbnb, Tripadvisor…), plus agent-built APIs for any site
Descripción del creador (original en inglés)
Global weather via Open-Meteo: forecast, historical, marine, air quality, geocoding, elevation.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
MCP_LOG_LEVEL, CANVAS_PROVIDER_TYPE, OPENMETEO_DATAFRAME_DROP_ENABLEDNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Funciona en Claude para web, escritorio y móvil:
https://open-meteo.caseyjhand.com/mcpAbre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"open-meteo": {
"command": "npx",
"args": [
"-y",
"@cyanheads/open-meteo-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"CANVAS_PROVIDER_TYPE": "your-value",
"OPENMETEO_DATAFRAME_DROP_ENABLED": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add --transport http open-meteo https://open-meteo.caseyjhand.com/mcpclaude mcp add open-meteo --env MCP_LOG_LEVEL=your-value --env CANVAS_PROVIDER_TYPE=your-value --env OPENMETEO_DATAFRAME_DROP_ENABLED=your-value -- npx -y @cyanheads/open-meteo-mcp-serverCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"open-meteo": {
"url": "https://open-meteo.caseyjhand.com/mcp"
}
}
}Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"open-meteo": {
"command": "npx",
"args": [
"-y",
"@cyanheads/open-meteo-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"CANVAS_PROVIDER_TYPE": "your-value",
"OPENMETEO_DATAFRAME_DROP_ENABLED": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"open-meteo": {
"type": "http",
"url": "https://open-meteo.caseyjhand.com/mcp"
}
}
}Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"open-meteo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/open-meteo-mcp-server"
],
"env": {
"MCP_LOG_LEVEL": "your-value",
"CANVAS_PROVIDER_TYPE": "your-value",
"OPENMETEO_DATAFRAME_DROP_ENABLED": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
ChatGPT solo se conecta a servidores en internet:
https://open-meteo.caseyjhand.com/mcpLos nombres de los menús pueden variar un poco según el plan y con el tiempo.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
MCP_LOG_LEVEL envCANVAS_PROVIDER_TYPE envOPENMETEO_DATAFRAME_DROP_ENABLED envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Nombres y descripciones de las herramientas tal como los informó el servidor el 7 nov 2026. Los escribió el creador, no nosotros; los mostramos como texto sin formato.
openmeteo_search_locationsResolve a place name to ranked coordinate matches with country, region, elevation, timezone, and population. Required prerequisite for name-based queries — all weather tools take latitude/longitude, not place names. Search by a bare place name (city, region, or landmark); never f
openmeteo_get_elevationTerrain elevation from the Copernicus Digital Elevation Model (~90m resolution) for one or more coordinate pairs. Accepts up to 1,000 pairs and samples the first 100 in one upstream request; when more were submitted, unprocessed_count says how many remain and next_offset is where
openmeteo_get_forecastWeather forecast for coordinates: hourly and/or daily variables for up to 16 days ahead, with optional past_days (up to 92) for recent history. Use past_days instead of openmeteo_get_historical for dates within the last week, since the archive’s ERA5 components lag by about a wee
openmeteo_get_historicalHistorical weather from the Open-Meteo reanalysis archive (1940–present). Requires start_date and end_date (ISO 8601 date, e.g., "2024-07-01"). With models omitted the archive answers from Best Match, which blends IFS HRES, ERA5, and ERA5-Land seamlessly — so the source varies by
openmeteo_get_marineMarine wave and ocean conditions for a coastal or ocean coordinate: wave height, wave period, wave direction, wind-wave height, swell height, sea-surface temperature. Forecast horizon up to 8 days, with optional past_days (up to 92) for recent history — or start_date and end_date
openmeteo_get_air_qualityModeled CAMS (Copernicus Atmosphere Monitoring Service) air quality: PM2.5, PM10, nitrogen dioxide, sulphur dioxide, ozone, carbon monoxide, dust, pollen, and European/US AQI indices. This is modeled grid data, not measured station readings — for measured data, use openaq-mcp-ser
openmeteo_get_ensembleProbabilistic ensemble weather forecast — up to 64 ensemble members, up to 35 days ahead with optional past_days (0–92). Most models end within 16 days; a model's columns are null past its horizon, and the response notice names where its data ends. Each member's values appear as
openmeteo_get_floodGloFAS (Global Flood Awareness System) daily river discharge (m³/s) from the GloFAS 0.05° grid cell nearest the given coordinates — no river ID needed. The response's latitude and longitude name that cell. It is not reliably on the river intended: a point near a confluence, a pai
openmeteo_get_climateLong-range climate projections from bias-corrected daily CMIP6 models, covering 1950-01-01 to 2050-12-31 at any coordinate. Answers "what will conditions look like through 2050?" — the future-projection counterpart to openmeteo_get_historical (the observed archive, what happened)
openmeteo_dataframe_queryRun a read-only SQL SELECT against tables staged on a DataCanvas by openmeteo_get_forecast, openmeteo_get_historical, openmeteo_get_marine, openmeteo_get_air_quality, openmeteo_get_ensemble, openmeteo_get_flood, or openmeteo_get_climate. Pass the canvas_id returned when any of th
openmeteo_dataframe_describeList the tables and their columns on a DataCanvas staged by openmeteo_get_forecast, openmeteo_get_historical, openmeteo_get_marine, openmeteo_get_air_quality, openmeteo_get_ensemble, openmeteo_get_flood, or openmeteo_get_climate. Call this first to discover table names before que
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub cyanheads, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Respondió en 121 ms (HTTP 200)
No hace falta iniciar sesión
Leímos 11 descripciones de herramientas y no encontramos instrucciones ocultas para la IA
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
El repo de GitHub cambió por última vez –, y la última versión (0.5.0) llegó al registro hace 11 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: maviapi, GeoTok Trips, ViaFrei
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Live JSON from sites with no API (Booking, Airbnb, Tripadvisor…), plus agent-built APIs for any site
Plan trips: flights, hotels, transfers, sights and food spots from TikTok food videos.
The German Real-Time Mobility Context Platform for AI: traffic, trains, charging, parking, weather.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
@cyanheads/open-meteo-mcp-server Geocode places, fetch global weather forecasts, historical climate, marine conditions, air quality, and terrain elevation via MCP. STDIO or Streamable HTTP. 12 Tools
Public Hosted Server: https://open-meteo.caseyjhand.com/mcp
Global weather from Open-Meteo: forecasts, history back to 1940, marine conditions, air quality, probabilistic ensembles, river discharge, and climate projections. Look up any place by name, pull hourly and daily variables, and run SQL over large results. No API key required.
| Tool | Description |
|---|---|
openmeteo_search_locations | Resolve a place name to ranked coordinates with country, region, timezone, and population |
openmeteo_get_forecast | Current conditions and hourly/daily forecast up to 16 days, with up to 92 past days, from best match or chosen models side by side |
openmeteo_get_historical | Hourly/daily history from the reanalysis archive, 1940 to present |
openmeteo_get_marine | Wave, swell, and sea-surface conditions: current, up to 8 forecast days, or an archive range, in metric or imperial units |
openmeteo_get_air_quality | Modeled CAMS pollutants, pollen, and AQI: current, up to 7 forecast days, or an archive range |
openmeteo_get_elevation | Copernicus DEM terrain elevation: up to 1,000 coordinate pairs, the first 100 sampled per call with the rest reported for resubmission |
openmeteo_get_ensemble | Per-member ensemble forecast (up to 64 members, up to 35 days) for exceedance and uncertainty |
openmeteo_get_flood | GloFAS river discharge: a ~6-month forecast or a date range from 1984, from seamless or chosen v4 models |
openmeteo_get_climate | Bias-corrected daily CMIP6 projections, 1950–2050, across up to 7 models |
openmeteo_dataframe_describe | List the tables and columns staged on a DataCanvas |
openmeteo_dataframe_query | Run a read-only SQL SELECT against staged tables |
openmeteo_dataframe_drop | Remove one staged table or view from a DataCanvas (opt-in) |
The server also publishes an agent skill, open-meteo-guide (skill://open-meteo-guide/SKILL.md, source in skills/open-meteo-guide/): which tool answers which question, plus the gates for exceedance odds, frost, comparisons to a normal, climate shifts, surf spots, river cells, and AQI timing.
openmeteo_search_locations toolname ("Paris", not "Paris, France"), with optional country (ISO 3166-1 alpha-2) and language (default en); count 1–10, default 5timezone, country / country_code, admin1 / admin2, population, and feature_code; no match fails as no_resultsnotice flags a top match with null or sub-100,000 population, which often means a historic exonym ("Bangalore", "Calcutta")en is retried once in the language its script implies; effective_language names it when the retry succeeds (上海 → zh), and results come back localizedopenmeteo_get_forecast toolcurrent_variables, hourly_variables, or daily_variables (up to 50 each); forecast_days 1–16 (default 7), past_days 0–92 (default 0)hourly / daily records with hourly_units / daily_units; current_variables adds a current object from 15-minute data (interval 900) plus current_unitsmodels reads Open-Meteo best_match; models compares deterministic models (e.g. ncep_gfs_seamless, ecmwf_ifs025, dwd_icon_seamless; older spellings like gfs_seamless still resolve). With 2+ models each hourly and daily column carries a model-name suffix, and models is echoed. current_variables takes at most one model (current_multi_model)notice names it, or, when one model is left with unsuffixed columns, says the values cannot be attributed to a model; when every requested model misses, the call fails as coverage_gappast_days over openmeteo_get_historical for the last week, where the archive's ERA5 components lagopenmeteo_get_historical toolstart_date and end_date required (YYYY-MM-DD, from 1940-01-01), plus at least one of hourly_variables / daily_variables, named as on the forecast toolmodels reads Best Match (IFS HRES + ERA5 + ERA5-Land, source varies by date); up to 8 models pin a source. The ERA5 family runs about a week behind, ecmwf_ifs has no delay, and cerra covers Europe onlymodels and the returned date_range; with 2+ models each column carries a model-name suffix. A model with no data at the point (cerra outside Europe) is dropped from a multi-model response; the notice names it, or, when one model is left with unsuffixed columns (era5,cerra), says the values cannot be attributed to a modelopenmeteo_get_marine toolforecast_days 1–8 (upstream default 7) with past_days 0–92, or a start_date / end_date archive range back to at least 2022. Mixing them fails as forecast_window_conflict, a lone date as date_range_incompletecurrent_variables, hourly_variables, or daily_variables (wave height, period, and direction, swell, sea-surface temperature); sheltered water returns near-zero waves, a point well inland returns nulls (named in the notice), a land point near the coast is answered from a nearby sea cell with real values and no notice (check the response's latitude / longitude is the water you meant), and ocean_current_velocity is null off the open oceancurrent_variables takes the hourly names and adds a current object from 15-minute data (interval 900) plus current_units, alongside either window; a daily name there fails as variable_wrong_cadencelength_unit (metric / imperial) sets every height, sea_level_height_msl included, in m or ft; wind_speed_unit (kmh, mph, ms, kn) sets ocean_current_velocity; temperature_unit (celsius / fahrenheit) sets sea_surface_temperature. Open-Meteo converts the values, and the *_units maps label them (mph reads mp/h)openmeteo_get_air_quality toolforecast_days 1–7 (upstream default 5) with past_days 0–92, or a start_date / end_date archive range from August 2022 (us_aqi starts a day later). Same forecast_window_conflict and date_range_incomplete rejections as the marine toolcurrent_variables (a current object, interval 3600) or hourly_variables: PM2.5, PM10, NO2, SO2, O3, CO, dust, pollen, European and US AQI. Pollen is modeled for Europe only, in pollen season; elsewhere it comes back null and the notice names itdata_source: "CAMS" marks every response as modeled grid data, not station measurementsopenmeteo_get_elevation toollatitudes[] / longitudes[] arrays of up to 1,000 pairs; unequal lengths fail as coordinate_count_mismatch, compared on the full arraysunprocessed_count says how many were left and next_offset is where to resume — resubmit latitudes.slice(next_offset) and longitudes.slice(next_offset) until next_offset is null. A call of 100 or fewer returns 0 / null. Each sampled pair counts as one call against Open-Meteo's per-IP limits (600 a minute), so a seventh 100-pair slice inside one minute comes back rate_limitedelevations[] in input order, each { latitude, longitude, elevation_m } from the Copernicus DEM (~90 m); elevation_m is null where the DEM has no value (latitude 90), without failing the rest of the callopenmeteo_get_ensemble toolhourly_variables / daily_variables; forecast_days 1–35 (default 7), past_days 0–92. Most models end within 16 days (ncep_gefs05 runs to about day 34); past that, columns are null and the notice says where data endsmodels takes one ensemble name (e.g. ecmwf_ifs025_ensemble, 51 members; gem_global_ensemble, 21); omitted or blank selects ecmwf_ifs025_ensemble, echoed in modeltemperature_2m_member01, …) across up to 64 members; member_count excludes the control run. A regional model queried outside its coverage fails as a non-retryable input error; switch to a global modelopenmeteo_get_flood tooldaily_variables required (up to 20), all in m³/s: river_discharge plus the statistics river_discharge_mean / _median / _min / _max / _p25 / _p75, which carry ensemble spread on forecast-run days and repeat river_discharge on reanalysis daysforecast_days 1–210 (the current GloFAS run reaches about six months; later days are null), or a start_date / end_date range from 1984-01-01. Mixing them fails as forecast_days_conflict, a lone date as date_range_incompletemodels reads seamless_v4: consolidated_v4 reanalysis before 2023-08-05, forecast_v4 runs from then on. models: ["consolidated_v4"] reads the reanalysis through 2025-05-31 (null after, and on forecast_days); forecast_v4 starts 2023-06-01. Output echoes models; with 2+ models each column carries a model-name suffix, and the notice names null spansSolo se muestra el principio; lee el resto en el repo