get_forecast

Pack: noaa · Endpoint: https://gateway.pipeworx.io/noaa/mcp

Get a multi-day NOAA NWS weather forecast for a US location. US ONLY (50 states + territories) — for non-US coordinates use the “weather” pack instead. Returns temperature, precipitation, wind, and conditions per period.

Parameters

NameTypeRequiredDescription
latnumberyesLatitude of the location (e.g. 37.7749)
lonnumberyesLongitude of the location (e.g. -122.4194)

Example call

Arguments

{
  "lat": 37.7749,
  "lon": -122.4194
}

curl

curl -X POST https://gateway.pipeworx.io/noaa/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_forecast","arguments":{"lat":37.7749,"lon":-122.4194}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('get_forecast', {
  "lat": 37.7749,
  "lon": -122.4194
});

More examples

{
  "lat": 40.7128,
  "lon": -74.006
}

Response shape

Always returns: location, periods

FieldTypeDescription
locationobject
periodsarray
Full JSON Schema
{
  "type": "object",
  "properties": {
    "location": {
      "type": "object",
      "properties": {
        "lat": {
          "type": "number",
          "description": "Latitude of the location"
        },
        "lon": {
          "type": "number",
          "description": "Longitude of the location"
        },
        "city": {
          "type": [
            "string",
            "null"
          ],
          "description": "City name of the location"
        },
        "state": {
          "type": [
            "string",
            "null"
          ],
          "description": "State of the location"
        }
      },
      "required": [
        "lat",
        "lon",
        "city",
        "state"
      ]
    },
    "periods": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Period name (e.g., 'Tonight', 'Tuesday')"
          },
          "start_time": {
            "type": "string",
            "description": "ISO 8601 start time of the period"
          },
          "end_time": {
            "type": "string",
            "description": "ISO 8601 end time of the period"
          },
          "is_daytime": {
            "type": "boolean",
            "description": "Whether the period is during daytime"
          },
          "temperature": {
            "type": "number",
            "description": "Temperature value"
          },
          "temperature_unit": {
            "type": "string",
            "description": "Temperature unit (F or C)"
          },
          "wind_speed": {
            "type": "string",
            "description": "Wind speed description"
          },
          "wind_direction": {
            "type": "string",
            "description": "Wind direction (e.g., 'N', 'SW')"
          },
          "short_forecast": {
            "type": "string",
            "description": "Brief forecast description"
          },
          "detailed_forecast": {
            "type": "string",
            "description": "Detailed forecast description"
          }
        },
        "required": [
          "name",
          "start_time",
          "end_time",
          "is_daytime",
          "temperature",
          "temperature_unit",
          "wind_speed",
          "wind_direction",
          "short_forecast",
          "detailed_forecast"
        ]
      }
    }
  },
  "required": [
    "location",
    "periods"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "noaa": {
      "url": "https://gateway.pipeworx.io/noaa/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build May 9, 2026