You're viewing a demo portfolio

Join the waitlist
PRSM

openmeteo_get_climate

Active

Tool of io.github.cyanheads/open-meteo-mcp-server

declared in 0.2.0

Long-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 (ERA5, what happened). Daily resolution only. Available models: "CMCC_CM2_VHR4", "FGOALS_f3_H", "HiRAM_SIT_HR", "MRI_AGCM3_2_S", "EC_Earth3P_HR", "MPI_ESM1_2_XR", "NICAM16_8S". With 2+ models each variable appears once per model with the model name as suffix (e.g. temperature_2m_max_CMCC_CM2_VHR4); a single or omitted model returns plain variable names. Not all models carry all variables — missing combinations return null. Multi-decade daily pulls across several models produce thousands of records and spill to DataCanvas for SQL querying when canvas is enabled.

Parameters schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "latitude",
    "longitude",
    "start_date",
    "end_date",
    "daily_variables"
  ],
  "properties": {
    "models": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 7,
      "description": "CMIP6 models to include: \"CMCC_CM2_VHR4\", \"FGOALS_f3_H\", \"HiRAM_SIT_HR\", \"MRI_AGCM3_2_S\", \"EC_Earth3P_HR\", \"MPI_ESM1_2_XR\", \"NICAM16_8S\". With 2+ models each variable column is suffixed with the model name (e.g. temperature_2m_max_MRI_AGCM3_2_S). Omit to use the API default (a single model, unsuffixed columns)."
    },
    "end_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "End date (YYYY-MM-DD, inclusive, max 2050-12-31). Must be on or after start_date."
    },
    "latitude": {
      "type": "number",
      "maximum": 90,
      "minimum": -90,
      "description": "Latitude in decimal degrees. Use openmeteo_geocode to resolve a place name to coordinates."
    },
    "timezone": {
      "type": "string",
      "default": "auto",
      "description": "IANA timezone or \"auto\". Default \"auto\"."
    },
    "canvas_id": {
      "type": "string",
      "description": "DataCanvas token for multi-decade or multi-model queries. When a query exceeds ~500 records, results spill to this canvas for SQL querying. Omit to create a fresh canvas."
    },
    "longitude": {
      "type": "number",
      "maximum": 180,
      "minimum": -180,
      "description": "Longitude in decimal degrees."
    },
    "start_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date (YYYY-MM-DD, e.g., \"2049-01-01\"). CMIP6 projections cover 1950-01-01 to 2050-12-31."
    },
    "daily_variables": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 50,
      "minItems": 1,
      "description": "Daily climate variables to fetch (e.g., [\"temperature_2m_max\", \"temperature_2m_min\", \"precipitation_sum\", \"wind_speed_10m_mean\", \"shortwave_radiation_sum\"]). Required — the Climate API is daily-only."
    },
    "wind_speed_unit": {
      "enum": [
        "kmh",
        "mph",
        "ms",
        "kn"
      ],
      "type": "string",
      "default": "kmh",
      "description": "Wind speed unit. Default \"kmh\"."
    },
    "temperature_unit": {
      "enum": [
        "celsius",
        "fahrenheit"
      ],
      "type": "string",
      "default": "celsius",
      "description": "Temperature unit. Default \"celsius\"."
    },
    "precipitation_unit": {
      "enum": [
        "mm",
        "inch"
      ],
      "type": "string",
      "default": "mm",
      "description": "Precipitation unit. Default \"mm\"."
    }
  }
}

What this tool wraps· 1 endpoint

min confidence0.700.50

Parent server

io.github.cyanheads/open-meteo-mcp-server

https://github.com/cyanheads/open-meteo-mcp-server

1/7 registries
View full server →