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). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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