NOAA Climate Data

Historical climate data, temperatures, precipitation, and normals

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
73%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,065Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (0.83% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "noaa-climate": {
      "url": "https://mcp.olyport.com/noaa-climate/mcp"
    }
  }
}

Remote endpoints

https://mcp.olyport.com/noaa-climate/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_climate_data(station_id, fips, dataset, start_date, end_date, ...)

Get climate observations from NOAA Climate Data Online. Returns historical weather measurements such as temperature, precipitation, and snowfall. You must provide either a station_id or a FIPS code to identify the location, and a date range. Args: station_id: NOAA station identifier (e.g. 'GHCND:USW00094728' for Central Park). fips: FIPS code for county or state (e.g. '36' for New York state, '36061' for Manhattan). dataset: Dataset ID. Common values: 'GHCND' (daily summaries), 'GSOM' (monthly), 'GSOY' (annual), 'NORMAL_DLY' (daily normals). Default is 'GHCND'. start_date: Start date in YYYY-MM-DD format. Required for most datasets. end_date: End date in YYYY-MM-DD format. Required for most datasets. data_types: Comma-separated data type IDs to filter. Common types: TMAX (max temp), TMIN (min temp), TAVG (avg temp), PRCP (precipitation), SNOW (snowfall), SNWD (snow depth), AWND (avg wind speed). If omitted, all available types are returned. limit: Maximum number of records to return (default 100, max 1000).

Input Schema

{
  "type": "object",
  "properties": {
    "station_id": {
      "default": null,
      "title": "Station Id",
      "type": "string"
    },
    "fips": {
      "default": null,
      "title": "Fips",
      "type": "string"
    },
    "dataset": {
      "default": "GHCND",
      "title": "Dataset",
      "type": "string"
    },
    "start_date": {
      "default": null,
      "title": "Start Date",
      "type": "string"
    },
    "end_date": {
      "default": null,
      "title": "End Date",
      "type": "string"
    },
    "data_types": {
      "default": null,
      "title": "Data Types",
      "type": "string"
    },
    "limit": {
      "default": 100,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "get_climate_dataArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_climate_dataOutput"
}
🟢find_stations(state, county_fips, dataset, limit)

Find NOAA weather stations in an area. Returns a list of weather stations with their IDs, names, coordinates, and active date ranges. Use the station IDs with get_climate_data. Args: state: Two-letter US state abbreviation (e.g. 'CA', 'NY'). county_fips: Five-digit county FIPS code (e.g. '36061' for Manhattan). dataset: Dataset ID to filter stations that have data in this dataset. Default is 'GHCND' (daily summaries). limit: Maximum number of stations to return (default 25, max 1000).

Input Schema

{
  "type": "object",
  "properties": {
    "state": {
      "default": null,
      "title": "State",
      "type": "string"
    },
    "county_fips": {
      "default": null,
      "title": "County Fips",
      "type": "string"
    },
    "dataset": {
      "default": "GHCND",
      "title": "Dataset",
      "type": "string"
    },
    "limit": {
      "default": 25,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "find_stationsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "find_stationsOutput"
}
🟢get_climate_normals(station_id, data_types)

Get 30-year climate normal values for a NOAA weather station. Climate normals are averages computed over the most recent 30-year period (currently 1991-2020). They represent typical conditions for a location and are useful for comparing current conditions to historical baselines. Args: station_id: NOAA station identifier (e.g. 'GHCND:USW00094728'). Use find_stations to look up station IDs. data_types: Comma-separated normal data type IDs to filter. Common types: DLY-TMAX-NORMAL (avg daily max temp), DLY-TMIN-NORMAL (avg daily min temp), DLY-TAVG-NORMAL (avg daily temp), DLY-PRCP-PCTALL-GE001HI (precip probability), MTD-PRCP-NORMAL (monthly precip), ANN-TMAX-NORMAL (annual max temp). If omitted, all available normals are returned.

Input Schema

{
  "type": "object",
  "properties": {
    "station_id": {
      "title": "Station Id",
      "type": "string"
    },
    "data_types": {
      "default": null,
      "title": "Data Types",
      "type": "string"
    }
  },
  "required": [
    "station_id"
  ],
  "title": "get_climate_normalsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_climate_normalsOutput"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools