nws-weather-usgs-water-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| API_USGS_PAT | No | Optional USGS personal access token for higher rate limits. Sent as X-Api-Key header. | |
| NWS_USER_AGENT | No | User-Agent identifying the application and contact (e.g., 'nws-weather-usgs-water-mcp (you@example.com)'). The server supplies a default if not set. | |
| NWS_USGS_CACHE_DIR | No | Override the OS-specific cache directory for SQLite database. | |
| NWS_USGS_CACHE_ENABLED | No | Set to '0' to disable local caching. | |
| USGS_WATERDATA_MAX_ROWS | No | Maximum number of rows returned in a single query (default 200, cap 5000). | |
| NWS_USGS_CACHE_MAX_ENTRIES | No | Limit the number of cached query results (default 10000?). | |
| NWS_USGS_CACHE_TTL_SECONDS | No | Default TTL for all cache entries (alerts capped at 60s). | |
| NWS_ALERTS_CACHE_TTL_SECONDS | No | Override TTL for active alerts (max 60 seconds). | |
| NWS_POINTS_CACHE_TTL_SECONDS | No | Override TTL for point-to-grid mappings (default 7 days). | |
| USGS_DAILY_CACHE_TTL_SECONDS | No | Override TTL for daily observations and statistics (default 6 hours). | |
| USGS_LATEST_CACHE_TTL_SECONDS | No | Override TTL for latest readings, nearby gauges, flood stage, flow anomaly (default 10 minutes). | |
| NWS_FORECAST_CACHE_TTL_SECONDS | No | Override TTL for forecasts (default 15 minutes). | |
| USGS_SAMPLES_CACHE_TTL_SECONDS | No | Override TTL for water-quality samples (default 1 hour). | |
| USGS_METADATA_CACHE_TTL_SECONDS | No | Override TTL for site and time-series metadata (default 6 hours). | |
| NWS_DISCUSSION_CACHE_TTL_SECONDS | No | Override TTL for forecast discussions (default 15 minutes). | |
| USGS_REFERENCE_CACHE_TTL_SECONDS | No | Override TTL for reference tables and queryable schemas (default 24 hours). | |
| USGS_CONTINUOUS_CACHE_TTL_SECONDS | No | Override TTL for continuous observations (default 10 minutes). | |
| USGS_STATISTICS_CACHE_TTL_SECONDS | No | Override TTL for statistics (default 6 hours). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_server_infoA | Describe this server, its limits, common codes, and supported collections. |
| get_cache_infoA | Show whether local caching is enabled, its location, size, and TTL policy. |
| get_sun_timesA | Calculate local and UTC solar events using an IANA timezone. When |
| get_active_alertsA | Get active NWS watches, warnings, and advisories for a point. Check this first for flood and severe-weather safety questions. An empty successful result explicitly means NWS reports no active alerts there. |
| get_point_forecastB | Get the NWS multi-period forecast for a latitude and longitude. |
| get_hourly_forecastA | Get 1-168 hours of NWS forecast data with hourly precipitation odds. |
| get_forecast_discussionA | Get the latest raw NWS Area Forecast Discussion for a three-letter WFO. |
| get_wfo_for_pointA | Resolve a point to its NWS office, grid, forecast zone, county, and fire zone. |
| find_gaugesA | Find nearest active gauges with a latest reading, sorted by distance. Coordinates are WGS84 decimal degrees. The default parameter 00060 finds streamflow gauges; use 00065 for gage height or 00010 for water temperature. |
| search_sitesB | Search monitoring locations by a case-insensitive partial name.
|
| get_current_flowB | Get the latest streamflow/discharge (parameter 00060) for a USGS site. |
| get_flow_anomalyA | Compare current discharge with the median and percentiles for this date.
|
| get_flow_anomaliesA | Compare current discharge with date normals for 1-25 USGS sites. Duplicate site IDs are removed while preserving input order. |
| get_peak_flowsA | Get annual discharge peaks with all-time, seasonal, and current context. Seasons use peak-date calendar months. By default, monsoon is July through September and cool season is the complementary October-through-June span. A seasonal peak is the largest annual peak whose date falls in that season, not the maximum flow observed during the season each year: a year whose annual peak was a winter flood contributes nothing to the monsoon figure even if it also had a large summer pulse. Treat it as informational scale, not a safety threshold. |
| get_daily_flowB | Get mean daily streamflow (parameter 00060, statistic 00003).
|
| get_water_levelB | Get the latest gage height/water level (parameter 00065) for a site. |
| get_stage_trendA | Detect whether one site's gage height is rising, steady, or falling.
|
| get_water_temperatureC | Get latest water temperature with Celsius and Fahrenheit values. |
| get_flood_stageA | Get current gage height and any published action/flood-stage thresholds. Threshold availability varies by site. Values come from modern time-series metadata; this operation does not infer a threshold when none is published. |
| search_monitoring_locationsB | Find USGS monitoring locations by site, state, county, type, HUC, or bbox. |
| search_time_seriesC | Discover time series, their parameters, units, availability, and IDs. |
| get_observationsC | Get continuous or daily observations for one or more sites. |
| get_latest_valuesB | Get the latest continuous or daily value per matching time series. |
| get_field_dataC | Get discrete field measurements, metadata, channel measurements, or peaks. |
| get_statisticsC | Get historical summary statistics for specific monitoring locations. |
| get_water_quality_samplesB | Get discrete water-quality samples from the modern USGS Samples API. |
| lookup_reference_dataB | Look up parameter, statistic, site-type, state, county, or other codes. |
| get_collection_queryablesB | List the filterable fields and schemas for a modern OGC collection. |
| clear_cacheA | Delete all locally cached NWS and USGS API responses for this server. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wylieswanson/nws-weather-usgs-water-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server