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
| Name | Type | Required | Description |
|---|---|---|---|
lat | number | yes | Latitude of the location (e.g. 37.7749) |
lon | number | yes | Longitude 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
| Field | Type | Description |
|---|---|---|
location | object | |
periods | array |
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.