Skip to content
Agentmart
Submit a tool

NWS Surface Wind Observations MCP Server

NWS surface wind observations (ASOS/AWOS) via Weather.gov and Iowa Environmental Mesonet APIs

Connector by mansurjisan · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 10
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/mansurjisan-winds-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

NWS surface wind observations (ASOS/AWOS) via Weather.gov and Iowa Environmental Mesonet APIs

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
143 read · 6 write · 2 delete
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 151

Read from the source code; the running server may list different tools.

Read 143 · Look things up without changing anything.

  • adcirc_diagnose_error
  • adcirc_explain_parameter
  • adcirc_fetch_docs
  • adcirc_list_parameters
  • adcirc_parse_fort13
  • adcirc_parse_fort14
  • adcirc_parse_fort15
  • adcirc_parse_fort22
  • adcirc_search_docs
  • adcirc_validate_config
  • coops_find_nearest_stations
  • coops_get_currents
Show 131 more tools
  • coops_get_datums
  • coops_get_extreme_water_levels
  • coops_get_flood_stats
  • coops_get_meteorological
  • coops_get_peak_storm_events
  • coops_get_sea_level_trends
  • coops_get_station
  • coops_get_tide_predictions
  • coops_get_water_levels
  • coops_list_stations
  • coral_get_alert_history
  • coral_list_alerts
  • erddap_get_all_datasets
  • erddap_get_dataset_info
  • erddap_get_griddap_data
  • erddap_get_tabledap_data
  • erddap_list_servers
  • erddap_search_datasets
  • goes_get_available_times
  • goes_get_current_view
  • goes_get_image
  • goes_get_latest_image
  • goes_get_sector_image
  • goes_list_products
  • hpc_account_info
  • hpc_allocation_usage
  • hpc_df
  • hpc_disk_quota
  • hpc_fairshare
  • hpc_job_priority
  • hpc_module_avail
  • hpc_module_info
  • hpc_module_list
  • hpc_partition_limits
  • hpc_pbs_job_detail
  • hpc_pbs_jobs
  • hpc_pbs_nodes
  • hpc_recent_jobs
  • hpc_storage_usage
  • hpc_system_info
  • hpc_user_groups
  • ndbc_compare_stations
  • ndbc_find_nearest_stations
  • ndbc_get_daily_summary
  • ndbc_get_latest_observation
  • ndbc_get_observations
  • ndbc_get_station
  • ndbc_get_wave_summary
  • ndbc_list_stations
  • nhc_get_active_storms
  • nhc_get_best_track
  • nhc_get_forecast_track
  • nhc_get_storm_watches_warnings
  • nhc_search_storms
  • nos_compare_configs
  • nos_diagnose_failure
  • nos_get_config
  • nos_get_ecflow_suite
  • nos_get_ensemble_config
  • nos_list_systems
  • ofs_compare_with_coops
  • ofs_find_models_for_location
  • ofs_get_forecast_at_point
  • ofs_get_model_info
  • ofs_list_cycles
  • ofs_list_models
  • recon_get_fixes
  • recon_get_hdobs
  • recon_get_sfmr
  • recon_get_vdms
  • recon_list_missions
  • recon_list_sfmr
  • rtofs_compare_with_observations
  • rtofs_get_area_forecast
  • rtofs_get_latest_time
  • rtofs_get_profile_forecast
  • rtofs_get_surface_forecast
  • rtofs_get_system_info
  • rtofs_get_transect
  • rtofs_list_datasets
  • schism_diagnose_error
  • schism_explain_parameter
  • schism_fetch_docs
  • schism_list_parameters
  • schism_parse_bctides
  • schism_parse_hgrid
  • schism_parse_param_nml
  • schism_parse_vgrid
  • schism_search_docs
  • schism_validate_config
  • stofs_compare_with_observations
  • stofs_get_gridded_forecast
  • stofs_get_max_water_level
  • stofs_get_point_forecast
  • stofs_get_station_forecast
  • stofs_get_system_info
  • stofs_list_cycles
  • stofs_list_stations
  • ufs_collect_outputs
  • ufs_get_run_status
  • ufs_list_templates
  • ufs_validate_experiment
  • usgs_find_nearest_sites
  • usgs_find_sites
  • usgs_get_daily_stats
  • usgs_get_daily_values
  • usgs_get_flood_status
  • usgs_get_hydrograph
  • usgs_get_instantaneous_values
  • usgs_get_monthly_stats
  • usgs_get_peak_streamflow
  • usgs_get_site_info
  • vdatum_convert
  • vdatum_list_datums
  • winds_compare_stations
  • winds_find_nearest_stations
  • winds_get_daily_summary
  • winds_get_history
  • winds_get_latest_observation
  • winds_get_observations
  • winds_get_station
  • winds_list_stations
  • ww3_compare_forecast_with_buoy
  • ww3_find_buoys
  • ww3_get_buoy_history
  • ww3_get_buoy_observations
  • ww3_get_forecast_at_point
  • ww3_get_point_snapshot
  • ww3_get_regional_summary
  • ww3_list_cycles
  • ww3_list_grids

Write 6 · Create, change, send or run things.

  • coral_check_alerts
  • coral_create_alert
  • coral_pause_alert
  • coral_resume_alert
  • ufs_create_experiment
  • ufs_submit_experiment

Delete 2 · Delete, drop, revoke or wipe things.

  • coral_delete_alert
  • ufs_cancel_run

Network hosts it talks to 37

  • aoml.noaa.gov · found in code
  • api.tidesandcurrents.noaa.gov · found in code
  • api.water.noaa.gov · found in code
  • api.weather.gov · found in code
  • cdn.star.nesdis.noaa.gov · found in code
  • coastwatch.pfeg.noaa.gov · found in code
  • cwcgom.aoml.noaa.gov · found in code
  • erddap.bco-dmo.org · found in code
  • erddap.dataexplorer.oceanobservatories.org · found in code
  • erddap.secoora.org · found in code
  • ftp.nhc.noaa.gov · found in code
  • github.com · found in code
  • gliders.ioos.us · found in code
  • mapservices.weather.noaa.gov · found in code
  • mesonet.agron.iastate.edu · found in code
  • ncei.noaa.gov · found in code
  • ndbc.noaa.gov · found in code
  • neracoos.org · found in code
  • nhc.noaa.gov · found in code
  • noaa-gestofs-pds.s3.amazonaws.com · found in code
  • noaa-gfs-bdp-pds.s3.amazonaws.com · found in code
  • noaa-nos-ofs-pds.s3.amazonaws.com · found in code
  • noaa-nos-stofs2d-pds.s3.amazonaws.com · found in code
  • noaa-nos-stofs3d-pds.s3.amazonaws.com · found in code
  • nomads.ncep.noaa.gov · found in code
  • nwis.waterdata.usgs.gov · found in code
  • opendap.co-ops.nos.noaa.gov · found in code
  • osmc.noaa.gov · found in code
  • pae-paha.pacioos.hawaii.edu · found in code
  • raw.githubusercontent.com · found in code
Show 7 more hosts
  • schism-dev.github.io · found in code
  • slider.cira.colostate.edu · found in code
  • tds.hycom.org · found in code
  • tidesandcurrents.noaa.gov · found in code
  • upwell.pfeg.noaa.gov · found in code
  • waterservices.usgs.gov · found in code
  • wiki.adcirc.org · found in code

Files it touches

  • /tmp/nos-workflow
  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (151)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • adcirc_diagnose_errorread-only

    Diagnose an ADCIRC run error from a log snippet or error description. Matches against known ADCIRC failure patterns (CFL violation, hot-start issues, NWS mismatch, boundary errors, etc.) and suggests fixes. Args: error_text: Error message, log snippet, or description of the problem.

  • adcirc_explain_parameterread-only

    Look up any ADCIRC fort.15 parameter by name. Returns description, valid values, typical range, common pitfalls, and companion file requirements. Also covers NWS values, tidal constituents, and nodal attributes. Args: parameter: Parameter name (e.g., 'NWS', 'DTDP', 'TAU0', 'M2', 'mannings_n_at_sea_floor').

  • adcirc_fetch_docsread-only

    Fetch documentation from the ADCIRC wiki for a specific topic. Retrieves the wiki page content as plain text. Args: topic: Wiki page title or topic (e.g., 'Fort.15', 'NWS', 'Hot Start').

  • adcirc_list_parametersread-only

    List all ADCIRC fort.15 parameters grouped by category. Returns a cheat sheet of parameter names with brief descriptions. Also lists tidal constituents and nodal attributes. Args: category: Optional filter by category (e.g., 'time_stepping', 'forcing', 'friction', 'output', 'tidal', 'solver', 'wetting_drying', 'spatial', 'meteorological').

  • adcirc_parse_fort13read-only

    Parse an ADCIRC fort.13 nodal attributes file. Returns attribute names, default values, and non-default node counts. Args: file_path: Path to the fort.13 file on disk. content: Raw text content of the fort.13 file.

  • adcirc_parse_fort14read-only

    Parse an ADCIRC fort.14 mesh file header (NOT the full mesh). Returns grid name, node count, element count, and boundary information. Does NOT load node coordinates or element connectivity into memory. Args: file_path: Path to the fort.14 file on disk. content: Raw text content (or header portion) of the fort.14 file.

  • adcirc_parse_fort15read-only

    Parse an ADCIRC fort.15 control file into a structured summary. Extracts run parameters, timestep, forcing configuration, tidal constituents, output settings, and station locations. Args: file_path: Path to the fort.15 file on disk. content: Raw text content of the fort.15 file (alternative to file_path).

  • adcirc_parse_fort22read-only

    Parse an ADCIRC fort.22 meteorological forcing file header. Returns format type, time range, and spatial extent based on the NWS value. Args: nws: NWS value from fort.15 (determines the file format). file_path: Path to the fort.22 file on disk. content: Raw text content of the fort.22 file.

  • adcirc_search_docsread-only

    Search the ADCIRC wiki and return matching pages with summaries. Args: query: Search terms (e.g., 'tidal forcing', 'hot start', 'wetting drying'). limit: Maximum number of results to return (default 10).

  • adcirc_validate_configread-only

    Validate an ADCIRC configuration with comprehensive checks. Parses fort.15 and optionally cross-references with fort.14 and fort.13. Checks CFL condition, parameter consistency, NWS/file matching, DRAMP adequacy, station counts, and output frequency sanity. Args: fort15_path: Path to the fort.15 file. fort15_content: Raw text of fort.15 (alternative to path). fort14_path: Optional path to fort.14 for cross-validation. fort13_path: Optional path to fort.13 for cross-validation. min_edge_length: Optional minimum mesh edge length in meters (for CFL check). max_depth: Opt…

  • coops_find_nearest_stationsread-only

    Find CO-OPS stations nearest to a geographic coordinate. Args: latitude: Latitude in decimal degrees (e.g., 40.7). longitude: Longitude in decimal degrees (e.g., -74.0). radius_km: Search radius in kilometers (default 50). station_type: Optional filter by station type (e.g., 'waterlevels'). limit: Maximum number of stations to return (default 5). response_format: Output format — 'markdown' (default) or 'geojson' (a FeatureCollection of Point features, coordinates [lon, lat]).

  • coops_get_currentsread-only

    Retrieve current (water flow) observations or predictions from a CO-OPS currents station. Note: Currents stations use alphanumeric IDs (e.g., 'cb1401'), not the 7-digit numeric IDs used for water level stations. Args: station_id: CO-OPS currents station ID (e.g., 'cb1401'). product: Data type — 'currents' for observations, 'currents_predictions' for predictions. begin_date: Start date (YYYY-MM-DD or YYYYMMDD). end_date: End date (YYYY-MM-DD or YYYYMMDD). date: Date shorthand — 'today', 'latest', or 'recent' (alternative to begin/end). units: Unit system — 'metric' or …

  • coops_get_datumsread-only

    Get tidal datum values for a CO-OPS station. Returns datum elevations (MLLW, MHHW, MSL, MHW, MLW, etc.) relative to station datum. Args: station_id: CO-OPS station ID (e.g., '9414290' for San Francisco, CA). units: Unit system — 'metric' or 'english' (default: metric).

  • coops_get_extreme_water_levelsread-only

    Get extreme (record) water levels ever recorded at a CO-OPS station. Returns the highest and lowest water levels on record with dates and values. Args: station_id: CO-OPS station ID (e.g., '8518750' for The Battery, NY). datum: Vertical datum reference (default: MHHW). units: Unit system — 'metric' or 'english' (default: metric).

  • coops_get_flood_statsread-only

    Get annual flood day counts and high tide flooding outlook for a CO-OPS station. Combines data from the annual flood count and high tide flooding outlook endpoints. Args: station_id: CO-OPS station ID (e.g., '8518750' for The Battery, NY). year: Optional specific year to query. datum: Vertical datum reference (default: MHHW). units: Unit system — 'metric' or 'english' (default: metric).

Show 136 more tools
  • coops_get_meteorologicalread-only

    Retrieve meteorological observations from a CO-OPS station. Args: station_id: CO-OPS station ID (e.g., '8724580' for Key West, FL). product: Met data type — 'wind', 'air_temperature', 'water_temperature', 'air_pressure', 'humidity', 'conductivity', 'salinity', 'visibility', or 'air_gap'. begin_date: Start date (YYYY-MM-DD or YYYYMMDD). end_date: End date (YYYY-MM-DD or YYYYMMDD). date: Date shorthand — 'today', 'latest', or 'recent' (alternative to begin/end). units: Unit system — 'metric' or 'english' (default: metric). interval: Data interval — '6' (6-min) or 'h'…

  • coops_get_peak_storm_eventsread-only

    Get peak water level events (storm surges) recorded at a CO-OPS station. Args: station_id: CO-OPS station ID (e.g., '8518750' for The Battery, NY). datum: Vertical datum reference (default: MHHW). units: Unit system — 'metric' or 'english' (default: metric). year: Optional specific year to query.

  • coops_get_sea_level_trendsread-only

    Get sea level trend data for a CO-OPS station. Returns the long-term linear sea level trend with confidence intervals. Args: station_id: CO-OPS station ID (e.g., '8518750' for The Battery, NY).

  • coops_get_stationread-only

    Get detailed information for a specific CO-OPS station. Args: station_id: CO-OPS station ID (e.g., '8518750' for The Battery, NY). expand: Optional list of resources to include: 'details', 'sensors', 'datums', 'floodlevels', 'harcon', 'benchmarks'. units: Unit system — 'metric' or 'english' (default: metric).

  • coops_get_tide_predictionsread-only

    Retrieve tide predictions for a CO-OPS station. Predictions are based on harmonic constituents — available for most water level stations. Max range: 365 days (or 3650 days for high/low interval). Args: station_id: CO-OPS station ID (e.g., '8518750' for The Battery, NY). begin_date: Start date (YYYY-MM-DD or YYYYMMDD format). end_date: End date (YYYY-MM-DD or YYYYMMDD format). datum: Vertical datum reference (default: MLLW). units: Unit system — 'metric' or 'english' (default: metric). interval: Prediction interval — '6' (6-min), 'h' (hourly), 'hilo' (high/low only). D…

  • coops_get_water_levelsread-only

    Retrieve observed water level data from a CO-OPS station. Use begin_date/end_date for a date range, or date='today'/'latest'/'recent' for shortcuts. Max range is 365 days per request. Args: station_id: CO-OPS station ID (e.g., '8518750' for The Battery, NY). begin_date: Start date (YYYY-MM-DD or YYYYMMDD format). end_date: End date (YYYY-MM-DD or YYYYMMDD format). date: Date shorthand — 'today', 'latest', or 'recent' (alternative to begin/end). datum: Vertical datum reference (default: MLLW). Options: MLLW, MHHW, MSL, NAVD, STND, MHW, MLW, MTL. units: Unit system — 'm…

  • coops_list_stationsread-only

    List CO-OPS stations, optionally filtered by type and/or state. Args: station_type: Filter by station type (e.g., 'waterlevels', 'currentpredictions', 'waterlevelsandmet'). state: Filter by US state (2-letter code, e.g., 'NY', 'FL'). limit: Maximum number of stations to return (default 50). offset: Number of stations to skip for pagination (default 0).

  • coral_check_alerts

    Manually trigger a check cycle on all active alerts. Fetches the latest value from NOAA CO-OPS for each active alert and evaluates the threshold condition. Returns the status of each alert.

  • coral_create_alert

    Create a new threshold alert for a NOAA CO-OPS station. Monitors the latest value for the given product and triggers when the value crosses the threshold according to the operator. Performs an immediate live check against CO-OPS as part of creation: if the station_id/product combination is invalid, the alert is rejected up front instead of silently never firing. Args: station_id: NOAA CO-OPS station ID (e.g. '8518750' for The Battery). operator: Comparison operator — one of >, <, >=, <=. threshold: Numeric threshold value (metric units, MLLW datum). product: CO-OPS data produ…

  • coral_delete_alertcan change or delete data

    Delete a threshold alert permanently. Args: alert_id: The alert ID to delete.

  • coral_get_alert_historyread-only

    Show trigger history for a threshold alert. Returns a list of timestamps and values for every time the alert condition was met. Args: alert_id: The alert ID to query.

  • coral_list_alertsread-only

    List all active and paused threshold alerts. Shows each alert's ID, station, condition, status, and last checked value.

  • coral_pause_alert

    Pause an active alert so it is skipped during check cycles. Args: alert_id: The alert ID to pause.

  • coral_resume_alert

    Resume a paused alert so it is checked again during check cycles. Args: alert_id: The alert ID to resume.

  • erddap_get_all_datasetsread-only

    List all datasets available on a specific ERDDAP server. Args: server_url: ERDDAP server URL (default: CoastWatch West Coast). protocol: Filter by protocol — 'griddap' or 'tabledap' (optional). institution: Filter by institution name (optional, case-insensitive). search_text: Filter by text in title or summary (optional, case-insensitive). limit: Maximum number of datasets to return (default 50). offset: Number of datasets to skip for pagination (default 0).

  • erddap_get_dataset_inforead-only

    Get detailed metadata for an ERDDAP dataset — variables, dimensions, attributes, time/spatial coverage. Args: server_url: ERDDAP server URL (e.g., 'https://coastwatch.pfeg.noaa.gov/erddap'). dataset_id: ERDDAP dataset identifier (e.g., 'erdMH1chlamday').

  • erddap_get_griddap_dataread-only

    Retrieve gridded data from an ERDDAP griddap dataset with dimension subsetting. Args: server_url: ERDDAP server URL (e.g., 'https://coastwatch.pfeg.noaa.gov/erddap'). dataset_id: ERDDAP dataset identifier (e.g., 'erdMH1chlamday'). variables: List of variable names to retrieve (default: first data variable). time_range: Time range as [start, stop] (e.g., ['2024-01-01T00:00:00Z', '2024-01-31T00:00:00Z']). Use same value for single time step. latitude_range: Latitude range as [min, max] (e.g., [36.0, 38.0]). longitude_range: Longitude range as [min, max] (e.g., [-123.0, -…

  • erddap_get_tabledap_dataread-only

    Retrieve tabular data from an ERDDAP tabledap dataset with constraint filtering. Args: server_url: ERDDAP server URL (e.g., 'https://coastwatch.pfeg.noaa.gov/erddap'). dataset_id: ERDDAP dataset identifier. variables: List of variable names to retrieve (default: all). constraints: Dict of constraints, e.g. {"time>=": "2024-01-01", "latitude>=": 38.0, "station=": "46013"}. limit: Maximum number of rows to return (default 1000). response_format: Output format — 'markdown' (default) or 'json'. max_records: Cap on JSON rows returned (default 2000). The first ma…

  • erddap_list_serversread-only

    List known ERDDAP servers from the built-in registry. Args: region: Filter by region (e.g., 'US East Coast', 'Pacific', 'Global'). keyword: Filter by keyword matching name, focus, or region.

  • erddap_search_datasetsread-only

    Search for datasets on an ERDDAP server using free-text search. Args: search_for: Search terms (e.g., 'sea surface temperature', 'chlorophyll', 'wind'). server_url: ERDDAP server URL (default: CoastWatch West Coast). protocol: Filter by protocol — 'griddap' or 'tabledap' (optional). items_per_page: Number of results per page (default 20, max 1000). page: Page number for pagination (default 1).

  • goes_get_available_timesread-only

    Get available image timestamps for a GOES product. Queries the RAMMB/CIRA SLIDER API for the most recent image times. Use these timestamps with goes_get_image to fetch historical images — its 14-digit YYYYMMDDHHmmss output is accepted directly by goes_get_image. Args: satellite: Satellite — 'goes-19' (East) or 'goes-18' (West). sector: Coverage code — 'CONUS' or 'FD' (case-insensitive). SLIDER only publishes timestamps for these two; the regional sectors ('se', 'ne', 'car', 'taw', 'pr') aren't available here — use goes_get_sector_image directly for those. product: Product code — …

  • goes_get_current_viewread-only

    Quick overview of what GOES satellite imagery is available now. Shows the latest available timestamp for key coverage/product combinations, giving a snapshot of current data availability. Args: satellite: Satellite — 'goes-19' (East) or 'goes-18' (West). response_format: Output format — 'markdown' (default) or 'json'.

  • goes_get_imageread-only

    Get a GOES satellite image for a specific timestamp. Use goes_get_available_times to find valid timestamps first — its output (YYYYMMDDHHmmss, 14 digits) is accepted directly here, as is STAR CDN's native YYYYDDDHHmm (11 digits, DDD = day-of-year). Args: timestamp: Image timestamp — either YYYYMMDDHHmmss (14 digits, as returned by goes_get_available_times) or YYYYDDDHHmm (11 digits, DDD = day-of-year). satellite: Satellite — 'goes-19' (East) or 'goes-18' (West). coverage: Coverage area — 'CONUS' (Continental US) or 'FD' (Full Disk). product: Product — band number ('01'-'16') …

  • goes_get_latest_imageread-only

    Get the most recent GOES satellite image. Fetches the latest image from NOAA STAR CDN. Default returns a markdown URL reference (light on the model's context); use response_format='image' for the embedded base64 JPEG, or 'json' for metadata only. Args: satellite: Satellite — 'goes-19' (East) or 'goes-18' (West). coverage: Coverage area — 'CONUS' (Continental US) or 'FD' (Full Disk). product: Product — band number ('01'-'16') or composite ('GEOCOLOR', 'AirMass', 'Sandwich', 'FireTemperature', 'Dust', 'DMW'). resolution: Image resolution. Valid values are coverage-specific — CO…

  • goes_get_sector_imageread-only

    Get latest GOES imagery for a regional sector. Sectors provide zoomed-in views of specific regions. Available sectors: 'se' (Southeast), 'ne' (Northeast), 'car' (Caribbean), 'taw' (Tropical Atlantic Wide), 'pr' (Puerto Rico). Args: sector: Regional sector — 'se', 'ne', 'car', 'taw', 'pr'. satellite: Satellite — 'goes-19' (East) or 'goes-18' (West). product: Product — band number ('01'-'16') or composite ('GEOCOLOR', 'AirMass', etc.). resolution: Image resolution — 'thumbnail', '300x300', '600x600', '1200x1200', '2400x2400', 'latest'. Defaults to '1200x1200'. Note sectors use …

  • goes_list_productsread-only

    List all available GOES satellite imagery products. Returns a catalog of ABI bands (1-16) and composite products (GeoColor, AirMass, etc.) with wavelength, type, and description for each. Args: response_format: Output format — 'markdown' (default) or 'json'.

  • hpc_account_inforead-only

    Show Slurm account associations for a user. Lists all accounts, partitions, QOS, and limits the user has access to. Args: user: Username to query. Defaults to current user.

  • hpc_allocation_usageread-only

    Show core-hour allocation usage via sreport. Reports how many core-hours have been used by the user or account. Args: account: Slurm account name. If not provided, shows user's own usage. cluster: Cluster name (e.g. 'ursa', 'hercules', 'orion'). Auto-detected if not provided.

  • hpc_dfread-only

    Show filesystem disk space usage (df -h). Args: filesystem: Optional specific mount point (e.g. '/scratch5'). If not provided, shows all mounted filesystems.

  • hpc_disk_quotaread-only

    Check disk quota for the current user. Shows home directory quota and scratch/work filesystem quotas. On Ursa: uses 'quota -Qs' for home and 'lfs quota' for Lustre. On Hercules/Orion: uses 'reportFSUsage' if available. Args: filesystem: Optional specific filesystem to check (e.g. '/scratch5', '/work', '/home'). If not provided, checks all available.

  • hpc_fairshareread-only

    Show FairShare status for Slurm accounts. FairShare determines job scheduling priority. A factor > 0.5 means underutilization (higher priority); < 0.5 means overutilization. Args: account: Specific account to check. If not provided, shows all. detailed: If true, show per-user breakdown within the account.

  • hpc_job_priorityread-only

    Show job priority factors for pending jobs. Helps understand why a job is waiting and its position in the queue. Args: job_id: Specific job ID to check. If not provided, shows all user's pending jobs.

  • hpc_module_availread-only

    Search for available modules. Uses 'module avail' to list loadable modules, or 'module spider' to search all modules including those with unmet dependencies. Args: search: Module name or pattern to search for (e.g. 'netcdf', 'intel', 'hdf5'). If not provided, lists all available.

  • hpc_module_inforead-only

    Show detailed information about a specific module. Displays the module file contents including paths, environment variables, and dependencies. Args: module_name: Full module name (e.g. 'netcdf-c/4.9.2', 'intel/2023.2.0').

  • hpc_module_listread-only

    List currently loaded modules. Shows all modules in the current environment, including compilers, MPI stacks, and application modules.

  • hpc_partition_limitsread-only

    Show partition and QOS limits (max nodes, wall time, etc.). Uses 'sbatch-limits' if available (MSU-HPC systems), otherwise parses sinfo for basic partition limits.

  • hpc_pbs_job_detailread-only

    Show detailed information for a specific PBS job. Returns full job attributes including resources requested, state, output/error paths, and scheduling info. Args: job_id: The PBS job identifier (e.g. '12345', '12345.svc').

  • hpc_pbs_jobsread-only

    Show current user's PBS jobs via qstat. Lists all jobs owned by the current user on a PBS/WCOSS2 system, including job ID, name, state, queue, and resource usage.

  • hpc_pbs_nodesread-only

    Show PBS node status via pbsnodes. Displays node availability, jobs running on each node, and resource summary for the PBS/WCOSS2 cluster.

  • hpc_recent_jobsread-only

    Show recently completed jobs via sacct. Args: days: How many days back to look (default 1, max 30). account: Filter by Slurm account. If not provided, shows all user's jobs.

  • hpc_storage_usageread-only

    Show disk usage summary for a directory. Uses 'du' to report sizes of subdirectories, sorted by size (largest first), plus the directory's overall total. Args: directory: Path to check (e.g. '/scratch5/purged/Mansur.Jisan'). max_depth: How many directory levels deep to report (default 1).

  • hpc_system_inforead-only

    Show HPC partition and node information via sinfo. Displays available partitions, node counts, states, and limits. Args: partition: Specific partition to query (e.g. 'u1-compute', 'hercules'). If not provided, shows all partitions.

  • hpc_user_groupsread-only

    Show group membership for a user. Displays the user's primary and secondary groups, which determine access to project directories and Slurm accounts. Args: user: Username to query. Defaults to current user.

  • ndbc_compare_stationsread-only

    Compare latest observations from multiple NDBC stations side by side. Args: station_ids: List of NDBC station IDs to compare (2-10 stations, e.g., ['41001', '41002', '44013']). response_format: Output format — 'markdown' (default) or 'json'.

  • ndbc_find_nearest_stationsread-only

    Find NDBC stations nearest to a geographic coordinate. Args: latitude: Latitude in decimal degrees (e.g., 40.7). longitude: Longitude in decimal degrees (e.g., -74.0). radius_km: Search radius in kilometers (default 200). station_type: Optional filter by platform type (e.g., 'buoy'). has_met: If true, only stations with meteorological sensors. limit: Maximum number of stations to return (default 5). response_format: Output format — 'markdown' (default) or 'geojson' (a FeatureCollection of Point features, coordinates [lon, lat]).

  • ndbc_get_daily_summaryread-only

    Get daily min/max/mean statistics for key variables over recent days. Args: station_id: NDBC station ID (e.g., '41001', '46042'). days: Number of days to summarize (default 7, max 45). variables: Variables to include (default: WSPD, GST, WVHT, DPD, PRES, ATMP, WTMP). response_format: Output format — 'markdown' (default) or 'json'.

  • ndbc_get_latest_observationread-only

    Get the latest observation from an NDBC station. Returns all available variables (wind, waves, temperature, pressure, etc.) as key-value pairs. Args: station_id: NDBC station ID (e.g., '41001', '46042', 'TPLM2'). response_format: Output format — 'markdown' (default) or 'json'.

  • ndbc_get_observationsread-only

    Get time series observations from an NDBC station. Data covers the last 45 days (rolling), updated every ~10 minutes. Args: station_id: NDBC station ID (e.g., '41001', '46042'). hours: Number of hours to retrieve (default 24, max 1080 = 45 days). variables: Optional list of variables to include (e.g., ['WSPD', 'WVHT', 'WTMP']). Default: all available. response_format: Output format — 'markdown' (default) or 'json'. max_records: Cap on JSON records returned (default 2000). A long hours window is thousands of points; only the most recent max_records are kept…

  • ndbc_get_stationread-only

    Get metadata for a specific NDBC station. Args: station_id: NDBC station ID (e.g., '41001', '46042', 'TPLM2').

  • ndbc_get_wave_summaryread-only

    Get spectral wave summary from an NDBC station. Provides swell and wind-wave separation from the .spec file. Args: station_id: NDBC station ID (e.g., '41001', '46042'). hours: Number of hours to retrieve (default 24, max 1080). response_format: Output format — 'markdown' (default) or 'json'. max_records: Cap on JSON records returned (default 2000). Only the most recent max_records are kept, and the JSON flags any truncation. (Markdown is already capped.)

  • ndbc_list_stationsread-only

    List active NDBC stations with optional filters. Args: station_type: Filter by platform type (e.g., 'buoy', 'fixed', 'dart', 'cman', 'tides', 'oilrig'). owner: Filter by station owner string (case-insensitive substring match, e.g., 'NDBC', 'Environment Canada'). has_met: If true, only stations with meteorological sensors. limit: Maximum stations to return (default 50). offset: Number of stations to skip for pagination (default 0).

  • nhc_get_active_stormsread-only

    Get currently active tropical cyclones from the National Hurricane Center. Returns a list of all active storms with their current classification, location, and advisory information. Returns an empty list outside of hurricane season or when no storms are active. Args: response_format: Output format — 'markdown' (default) or 'json'.

  • nhc_get_best_trackread-only

    Get best track (observed path) data for a tropical cyclone. For recent storms (current/previous year), retrieves from ATCF B-deck files. For historical storms, retrieves from HURDAT2 archive (Atlantic 1851–2024, East Pacific 1949–2024). Args: storm_id: NHC storm identifier (e.g., 'AL092005' for Katrina, 'AL042024'). response_format: Output format — 'markdown' (default), 'json', or 'geojson' (a FeatureCollection: a LineString for the track plus a Point per fix, coordinates [lon, lat], for mapping).

  • nhc_get_forecast_trackread-only

    Get the official NHC 5-day forecast track positions for an active storm. Retrieves forecast point data from the NHC ArcGIS MapServer including position (lat/lon), forecast time, maximum winds, development type, and Saffir-Simpson category for each forecast period (12h, 24h, etc.). Note: This only works for currently active storms. Use nhc_get_active_storms first to see available storms and their IDs. Args: storm_id: NHC storm identifier (e.g., 'AL052024', 'EP042023'). response_format: Output format — 'markdown' (default), 'json', or 'geojson' (a FeatureCollection: a LineStri…

  • nhc_get_storm_watches_warningsread-only

    Get active watches and warnings for an active tropical cyclone. Returns coastal watch/warning segments (Hurricane Warning, Tropical Storm Watch, etc.) from the NHC ArcGIS MapServer. Note: This only works for currently active storms with watches/warnings in effect. Use nhc_get_active_storms first to see available storms. Args: storm_id: NHC storm identifier (e.g., 'AL052024'). response_format: Output format — 'markdown' (default) or 'json'.

  • nhc_search_stormsread-only

    Search historical tropical cyclones in the HURDAT2 database. Searches the Atlantic (1851–2024) and East Pacific (1949–2024) hurricane databases. Filter by storm name, year, basin, and/or minimum wind speed. Args: name: Storm name to search for (case-insensitive, partial match). E.g., 'katrina'. year: Filter by year (e.g., 2005). basin: Filter by basin — 'al' (Atlantic), 'ep' (East Pacific), 'cp' (Central Pacific). min_wind: Minimum peak wind speed in knots (e.g., 64 for hurricanes, 96 for major). limit: Maximum number of results to return (default 50). response_format…

  • nos_compare_configsread-only

    Compare two NOS OFS system configurations side by side. Highlights differences in grid, forcing, physics, resources, and output settings between two systems. Args: system_a: First OFS system name (e.g. 'secofs'). system_b: Second OFS system name (e.g. 'stofs_3d_atl'). sections: Comma-separated sections to compare (default: 'grid,forcing,model,resources,output').

  • nos_diagnose_failureread-only

    Diagnose a NOS OFS model run failure from log output. Pass the contents of a job log file, fatal.error, or relevant error output. The tool will classify the error and suggest fixes. Handles SCHISM-specific errors (h_c, CFL, NaN), MPI failures, OOM, timeout, missing files, and general model aborts. Args: log_content: Contents of the error log or fatal.error file.

  • nos_get_configread-only

    Read the configuration for a NOS OFS system. Returns the full YAML config or a specific section. Configs include grid dimensions, forcing sources, model physics, runtime settings, output configuration, and ensemble parameters. Args: system_name: OFS system name (e.g. 'secofs', 'stofs_3d_atl', 'cbofs'). section: Optional section path using dot notation (e.g. 'forcing', 'model.physics', 'grid.domain', 'ensemble', 'resources'). If not provided, returns the full config.

  • nos_get_ecflow_suiteread-only

    Show the ecFlow suite definition for NOS OFS workflows. Displays task dependencies, triggers, resources, and cron schedules from the ecFlow suite definition. Args: system_name: Optional OFS system name to filter (e.g. 'stofs_3d_atl'). If not provided, shows the full suite structure.

  • nos_get_ensemble_configread-only

    Show ensemble configuration for an OFS system. Displays ensemble members, atmospheric forcing sources (GEFS, RRFS), perturbed physics parameters, and resource settings. Args: system_name: OFS system name (e.g. 'secofs', 'stofs_3d_atl').

  • nos_list_systemsread-only

    List all available NOS Operational Forecast Systems. Shows each OFS with its ocean model (SCHISM, ROMS, FVCOM, ADCIRC), framework (STOFS or COMF/nosofs), and geographic region.

  • ofs_compare_with_coopsread-only

    Compare OFS model water level forecast against CO-OPS observations at a station. Fetches the model forecast at the nearest grid point to the CO-OPS station and compares it with the observed water level. Computes bias, RMSE, MAE, peak error, and correlation. Args: station_id: CO-OPS station ID (e.g., '8571892' for Cambridge, MD). model: OFS model identifier (e.g., 'cbofs', 'ngofs2'). hours_to_compare: Hours of comparison period (default 24, max 96). response_format: 'markdown' (default) or 'json'.

  • ofs_find_models_for_locationread-only

    Find which OFS models cover a given latitude/longitude location. Uses model bounding boxes to identify all models whose domain includes the specified point. Larger regional models may cover the area at coarser resolution than smaller local models. Args: latitude: Latitude in decimal degrees. longitude: Longitude in decimal degrees.

  • ofs_get_forecast_at_pointread-only

    Get an OFS model forecast time series at a geographic point. Connects to the NOAA THREDDS OPeNDAP server to lazily extract the forecast at the nearest model grid point without downloading the full gridded file. Falls back to S3 download if OPeNDAP is unavailable. Args: latitude: Target latitude in decimal degrees. longitude: Target longitude in decimal degrees. model: OFS model to query (e.g., 'cbofs', 'ngofs2', 'wcofs'). variable: Variable to retrieve — 'water_level', 'temperature', or 'salinity'. max_distance_km: Maximum distance to nearest grid point in km (default 100…

  • ofs_get_model_inforead-only

    Get detailed specifications for a specific OFS model. Returns grid type, spatial domain, cycle schedule, vertical levels, datum, available variables, and data access URLs. Args: model: OFS model identifier (e.g., 'cbofs', 'ngofs2'). response_format: 'markdown' (default) or 'json'.

  • ofs_list_cyclesread-only

    List available OFS forecast cycles on AWS S3 for a given model and date range. Checks S3 for available forecast files to determine which cycles have been published. Useful before calling ofs_get_forecast_at_point. Args: model: OFS model identifier (e.g., 'cbofs', 'ngofs2'). date: Specific date in YYYY-MM-DD format. Default: today UTC. num_days: Number of past days to check (1–7). Default: 2.

  • ofs_list_modelsread-only

    List all supported NOAA OFS regional ocean models with key metadata. Returns model names, grid types, geographic coverage, cycle schedules, forecast lengths, and variables available. Args: response_format: 'markdown' (default) or 'json'.

  • recon_get_fixesread-only

    Get ATCF f-deck aircraft fix data for a tropical cyclone. F-deck data contains structured aircraft and satellite position fixes including lat/lon, wind speed, and pressure. This is the most machine-readable format for reconnaissance fix data. Current-season storms come from ATCF fix/, earlier seasons from the ATCF archive. Args: basin: Basin code — 'al' (Atlantic), 'ep' (East Pacific), or 'cp' (Central Pacific). storm_number: Storm number within the season (e.g., 14 for AL142024). year: 4-digit year (e.g., 2024). max_records: Cap on fix records returned (default 2000). The f-…

  • recon_get_hdobsread-only

    Get HDOB (High Density Observation) flight-level reconnaissance data. HDOB bulletins contain 30-second averaged observations from hurricane hunter aircraft including flight-level winds, SFMR surface winds, pressure, temperature, and position. This is the primary real-time reconnaissance data feed. Args: year: Year of data (e.g., 2024). basin: Basin — 'al' (Atlantic, default), 'ep' (East Pacific), or 'cp' (Central Pacific). month: Optional month filter (1-12). day: Optional day filter (1-31). limit: Maximum number of HDOB bulletins to parse (default 20). max_records: C…

  • recon_get_sfmrread-only

    Get SFMR radial wind profile for a storm — surface wind speed vs. distance from center. Downloads SFMR NetCDF data from the AOML archive and computes each observation's radial distance from the storm center using the ATCF best track. Returns binned wind statistics (mean, max, count) by radius. Requires the storm's ATCF identifiers (basin + storm_number) to fetch the best track for radius computation. Note: AOML posts data weeks to months after storms. Recent storms may not have SFMR data available yet. Args: year: Year of the storm (e.g., 2022). storm_name: Lowercase storm name (e.…

  • recon_get_vdmsread-only

    Get Vortex Data Messages (VDMs) — storm center fix reports from recon aircraft. VDMs contain the most operationally critical reconnaissance data: center position, minimum sea-level pressure, max flight-level and surface winds, eye diameter, and storm structure. Each VDM represents a single pass through or near the storm center. Args: year: Year of data (e.g., 2024). basin: Basin — 'al' (Atlantic, default), 'ep' (East Pacific), or 'cp' (Central Pacific). storm_id: Optional storm ID filter (e.g., 'AL142024' for Milton). month: Optional month filter (1-12). day: Optional day…

  • recon_list_missionsread-only

    List available reconnaissance data files from the NHC archive. Browse the NHC reconnaissance archive directory for HDOB, VDM, or dropsonde bulletins. Use this to discover what data files exist before fetching specific observations. Args: year: Year to search (e.g., 2024). product: Data product type — 'hdob', 'vdm', or 'dropsonde'. basin: Basin — 'al' (Atlantic, default), 'ep' (East Pacific), or 'cp' (Central Pacific). month: Optional month filter (1-12) to narrow results by filename date. day: Optional day filter (1-31) to narrow results by filename date. limit: Maxim…

  • recon_list_sfmrread-only

    List available SFMR NetCDF files for a storm from the AOML archive. SFMR (Stepped-Frequency Microwave Radiometer) files contain 1-Hz surface wind speed and rain rate observations from hurricane hunter aircraft. Data is post-processed and quality-controlled by AOML/HRD. Note: AOML posts data weeks to months after storms. Recent storms may not have SFMR data available yet. Args: year: Year of the storm (e.g., 2022). storm_name: Lowercase storm name (e.g., 'ian', 'laura'). max_records: Cap on files returned in JSON output (default 2000). Files are listed oldest-first, so on…

  • rtofs_compare_with_observationsread-only

    Compare RTOFS values at the same location over the 24 hours before a time. Fetches the 24 h window ending at the reference time and reports the value at its start, middle and end, plus the change across the window. Args: latitude: Latitude in decimal degrees. longitude: Longitude in decimal degrees. variable: Surface variable to compare. Default: 'sst'. time: Reference time (end of the window) in ISO format. Default: now ('present'). response_format: 'markdown' (default) or 'json'.

  • rtofs_get_area_forecastread-only

    Get RTOFS surface forecast for a grid of points in a bounding box. Queries multiple points in parallel using THREDDS NCSS. The number of points per axis is controlled by n_points (total queries = n_points^2). For 3D variables (SST, SSS, currents), surface values (depth=0) are returned. Args: lat_start: Southern latitude bound. lat_end: Northern latitude bound. lon_start: Western longitude bound. lon_end: Eastern longitude bound. variable: One of: sst, sss, u_current, v_current, ssh. Default: 'sst'. time: Time in ISO format. Default: latest ('present'). n_points: …

  • rtofs_get_latest_timeread-only

    Query the latest available forecast time from HYCOM THREDDS. Useful for determining what forecast data is currently available before making data queries. Args: dataset: One of 'ssh', 'sst', 'sss', 'currents'. Default: 'ssh'. response_format: 'markdown' (default) or 'json'.

  • rtofs_get_profile_forecastread-only

    Get RTOFS 3D depth profile at a point (temperature, salinity, or currents vs depth). Queries HYCOM THREDDS NCSS for a vertical profile at the nearest grid cell. Returns values at all available depth levels for a single time step. Args: latitude: Latitude in decimal degrees (-80 to 90). longitude: Longitude in decimal degrees (-180 to 180). variable: One of: temperature, salinity, u, v. Default: 'temperature'. time: Time in ISO format (e.g., '2026-03-03T12:00:00Z'). Default: latest. response_format: 'markdown' (default) or 'json'.

  • rtofs_get_surface_forecastread-only

    Get RTOFS surface time series at a point (SST, SSS, currents, or SSH). Queries HYCOM THREDDS NCSS for the nearest grid cell to the requested lat/lon (~8 km resolution). By default returns the window starting now: the next 72 h for the 3-hourly sst/sss/currents, the next 24 h for hourly ssh. Data spans ~10 days back and ~6 days ahead. HYCOM extracts about one time step per second, so keep custom windows to a few days. For 3D variables (SST, SSS, currents), surface values (depth=0) are returned. Args: latitude: Latitude in decimal degrees (-80 to 90). longitude: Longitude in decimal d…

  • rtofs_get_system_inforead-only

    Get RTOFS system overview — model specifications, variables, resolution, and coverage. Returns metadata about the Real-Time Ocean Forecast System (RTOFS/ESPC) including model resolution, forecast length, available variables, and data source information. No network request needed. Args: response_format: 'markdown' (default) or 'json'.

  • rtofs_get_transectread-only

    Get a vertical transect (cross-section) between two points from RTOFS 3D data. Queries depth profiles at multiple points along a line between start and end coordinates, then combines them into a depth vs. distance cross-section. Uses asyncio.gather for parallel THREDDS NCSS queries. Args: lat_start: Starting latitude. lon_start: Starting longitude. lat_end: Ending latitude. lon_end: Ending longitude. variable: One of: temperature, salinity, u, v. Default: 'temperature'. time: Time in ISO format. Default: latest ('present'). n_points: Number of profile points along…

  • rtofs_list_datasetsread-only

    List RTOFS datasets on HYCOM THREDDS with optional availability check. Shows the 4 RTOFS/ESPC datasets (SSH, temperature, salinity, currents) and optionally checks if each is currently accessible. Args: check_availability: If True, ping each dataset to check live status. Default: True. response_format: 'markdown' (default) or 'json'.

  • schism_diagnose_errorread-only

    Diagnose a SCHISM run error from a log snippet or error description. Matches against known SCHISM failure modes (dry boundary, NaN, vertical instability, hotstart incompatibility, etc.) and suggests fixes. Args: error_text: Error message, log snippet, or description of the problem.

  • schism_explain_parameterread-only

    Look up any SCHISM param.nml parameter by name. Returns namelist section, description, valid values, default, and common mistakes. Also covers tidal constituents, vertical grid types, and boundary condition types. Args: parameter: Parameter name (e.g., 'dt', 'nspool', 'ihfskip', 'M2', 'LSC2').

  • schism_fetch_docsread-only

    Fetch documentation from the SCHISM documentation site. Retrieves page content as plain text. Args: topic: Documentation path or topic (e.g., 'input-output/param.html', 'known_issues.html').

  • schism_list_parametersread-only

    List all SCHISM param.nml parameters grouped by section. Returns a reference of parameter names with brief descriptions. Args: section: Optional filter by section ('CORE', 'OPT', 'SCHOUT').

  • schism_parse_bctidesread-only

    Parse a SCHISM bctides.in tidal boundary condition file. Returns tidal constituent names/frequencies, boundary segment types, and node counts. Args: file_path: Path to the bctides.in file on disk. content: Raw text content of bctides.in.

  • schism_parse_hgridread-only

    Parse a SCHISM hgrid.gr3 horizontal grid file header. Returns node/element counts, bounding box, and boundary info. Does NOT load full mesh into memory. Args: file_path: Path to the hgrid.gr3 file on disk. content: Raw text content (or header portion) of hgrid.gr3.

  • schism_parse_param_nmlread-only

    Parse a SCHISM param.nml FORTRAN namelist file. Returns all parameters organized by section with annotations. Args: file_path: Path to the param.nml file on disk. content: Raw text content of param.nml (alternative to file_path).

  • schism_parse_vgridread-only

    Parse a SCHISM vgrid.in vertical grid file. Returns grid type (LSC2/SZ), number of levels, and layer distribution. Args: file_path: Path to the vgrid.in file on disk. content: Raw text content of vgrid.in.

  • schism_search_docsread-only

    Search SCHISM documentation and return matching pages. Args: query: Search terms (e.g., 'param.nml', 'vertical grid', 'hotstart').

  • schism_validate_configread-only

    Validate a SCHISM configuration with comprehensive checks. Parses param.nml and optionally cross-references with hgrid.gr3 and vgrid.in. Checks nspool/ihfskip divisibility, 2D vs 3D consistency, dt adequacy, output frequency, and module flags. Args: param_nml_path: Path to param.nml file. param_nml_content: Raw text of param.nml (alternative to path). hgrid_path: Optional path to hgrid.gr3 for cross-validation. vgrid_path: Optional path to vgrid.in for cross-validation.

  • stofs_compare_with_observationsread-only

    Compare STOFS forecast against CO-OPS observed water levels at a station. Downloads the STOFS station file, fetches CO-OPS observations for the overlapping period, and aligns the two series. The response leads with a summary — observed and forecast peak (value and time), peak error, peak timing error, bias, RMSE — followed by the aligned series. Statistics always use every 6-minute point; the returned series is hourly unless full_resolution is set. The comparison window starts at the beginning of the station file, which is the nowcast 6 hours before the cycle time. To cover an event N hours …

  • stofs_get_gridded_forecastread-only

    [CURRENTLY UNAVAILABLE — NOMADS OPeNDAP retired Oct 2025, NWS SCN 25-81] Get STOFS forecast at any lat/lon from the regular gridded product via OPeNDAP. Unlike stofs_get_station_forecast (limited to ~385 fixed CO-OPS stations), this tool queries the STOFS regular-grid product interpolated onto structured lat/lon grids and served via NOMADS OPeNDAP. Only the requested grid cell is downloaded — no large file transfer required. Coverage: US East Coast, Gulf, West Coast, Alaska, Hawaii, Puerto Rico, Guam. Resolution: ~2.5 km (conus/hawaii/guam), ~1.25 km (Puerto Rico), ~6 km (Alaska). Note: NOM…

  • stofs_get_max_water_levelread-only

    Get the stations with the highest predicted water levels in a STOFS cycle. Computes the maximum water level across all forecast timesteps for each station, then returns the top N sorted by peak value. Uses station files (not the large gridded maxele file). Args: model: '2d_global' or '3d_atlantic'. cycle_date: Date in YYYY-MM-DD format. Default: latest. cycle_hour: Cycle hour. Default: latest. top_n: Number of top stations to return (default 20). region: Optional region filter ('east_coast', 'gulf', etc.). response_format: 'markdown' or 'json'.

  • stofs_get_point_forecastread-only

    Get STOFS forecast at an arbitrary lat/lon by finding the nearest station. Downloads the station file and finds the closest STOFS output point to the requested location. Args: latitude: Target latitude in decimal degrees. longitude: Target longitude in decimal degrees. model: '2d_global' or '3d_atlantic'. product: 'cwl', 'htp', or 'swl' (3D only supports 'cwl'). cycle_date: Date in YYYY-MM-DD format. Default: latest. cycle_hour: Cycle hour '00', '06', '12', '18'. Default: latest. max_distance_km: Maximum search radius to nearest station (default 50 km). respon…

  • stofs_get_station_forecastread-only

    Get STOFS water level forecast time series at a specific CO-OPS station. Downloads the station NetCDF file from AWS S3 (~2–10 MB) and extracts the full forecast time series for the specified station. Args: station_id: CO-OPS station ID (e.g., '8518750' for The Battery, NY). model: '2d_global' (global, 4x daily) or '3d_atlantic' (US East/Gulf, 1x daily). product: 'cwl' (combined), 'htp' (tidal only), 'swl' (surge only). Note: 3D-Atlantic only supports 'cwl'. cycle_date: Date in YYYY-MM-DD format. Default: latest available. cycle_hour: Cycle hour '00', '06', '1…

  • stofs_get_system_inforead-only

    Get STOFS system metadata — model specifications, datums, cycle schedule. Args: model: '2d_global', '3d_atlantic', or None for both. Default: None. include_stations: If True, include the full station registry. Default: False.

  • stofs_list_cyclesread-only

    List available STOFS forecast cycles on AWS S3 for a given date range. Checks AWS S3 for available station NetCDF files to determine which forecast cycles have been published. Args: model: 'two_global' (4x daily, global) or '3d_atlantic' (1x daily, US East/Gulf). date: Specific date in YYYY-MM-DD format. Default: today UTC. num_days: Number of past days to check (1–7). Default: 2.

  • stofs_list_stationsread-only

    List STOFS output stations, optionally filtered by location, state, or region. Uses the built-in station registry (~50 key CO-OPS stations). For the complete dynamic list, the station NetCDF file must be downloaded. Args: model: '2d_global' or '3d_atlantic'. near_lat: Filter to stations near this latitude. near_lon: Filter to stations near this longitude. radius_km: Search radius in km when near_lat/near_lon provided (default 100). state: Filter by US state abbreviation (e.g., 'NY', 'FL'). region: Filter by region ('east_coast', 'gulf', 'west_coast', 'alaska', 'hawaii…

  • ufs_cancel_runcan change or delete data

    Cancel a running UFS experiment. Args: job_id: Slurm job ID to cancel.

  • ufs_collect_outputsread-only

    List output files from a completed UFS experiment. Finds NetCDF outputs, log files, restart files, and Slurm logs. Args: run_dir: Path to the experiment directory.

  • ufs_create_experiment

    Create a UFS-Coastal experiment directory from a template. Sets up the run directory with namelists, configs, and input file stubs copied from an approved template. Only operates in whitelisted scratch paths. Args: model_type: Model configuration — 'schism', 'adcirc', or 'fvcom'. run_dir: Absolute path for the experiment directory (must be under /scratch*). template: Template name (default: auto-detected). Use ufs_list_templates to see options. overrides: JSON string of parameter overrides. Flat keys set template variables (e.g. '{"start_year": 2024, "nhours_fcst": 12…

  • ufs_get_run_statusread-only

    Check the status of a UFS experiment run. Provide either the run directory or the Slurm job ID. Args: run_dir: Path to the experiment directory. job_id: Slurm job ID (if known).

  • ufs_list_templatesread-only

    List available UFS experiment templates. Shows all pre-configured model templates that can be used with ufs_create_experiment.

  • ufs_submit_experiment

    Submit a UFS experiment to Slurm. IMPORTANT: Defaults to dry_run=true — shows the sbatch command without executing. Set dry_run=false only after reviewing the dry-run output. Args: run_dir: Path to the experiment directory. account: Slurm account/allocation name. partition: Slurm partition. nodes: Number of compute nodes (default 1, max 50). wall_hours: Wall clock limit in hours (default 1, max 12). qos: Optional QOS (e.g. 'batch', 'debug', 'gpu'). dry_run: If true (default), show command without submitting.

  • ufs_validate_experimentread-only

    Validate a UFS experiment directory is ready for submission. Checks for required files, valid namelists, and Slurm submission scripts. Args: run_dir: Path to the experiment directory.

  • usgs_find_nearest_sitesread-only

    Find USGS sites near a geographic point. Searches for active streamflow sites within a radius of the given coordinates, sorted by distance. Args: latitude: Latitude in decimal degrees. longitude: Longitude in decimal degrees. radius_miles: Search radius in miles (default 25). parameter_code: USGS parameter code — '00060' (discharge, default) or '00065' (gage height). limit: Maximum number of sites to return (default 10). response_format: Output format — 'markdown' (default), 'json', or 'geojson' (a FeatureCollection of Point features, [lon, lat]).

  • usgs_find_sitesread-only

    Find USGS gauge stations by state or bounding box. Search for active USGS streamflow monitoring sites. Returns site ID, name, coordinates, and drainage area. Args: state_code: US state 2-letter code (e.g., 'MD', 'TX'). Either state_code or bbox required. bbox: Bounding box as 'west,south,east,north' decimal degrees. Either state_code or bbox required. site_type: Site type code — 'ST' (stream, default), 'LK' (lake), 'SP' (spring). parameter_code: USGS parameter code — '00060' (discharge, default) or '00065' (gage height). limit: Maximum number of sites to return (default 2…

  • usgs_get_daily_statsread-only

    Get daily streamflow statistics (flow duration) for a USGS site. Returns percentiles showing the typical flow range for each day of the year based on the complete period of record. Useful for understanding whether current conditions are normal for the time of year. Args: site_number: 8-digit USGS site number (e.g., '01646500'). parameter_code: USGS parameter code — '00060' (discharge, default). month: Optional month number (1-12) to filter results. response_format: Output format — 'markdown' (default) or 'json'.

  • usgs_get_daily_valuesread-only

    Get daily mean/min/max streamflow values from a USGS site. Returns daily statistical values over a date range. Decades of historical data are available at most sites. Args: site_number: 8-digit USGS site number (e.g., '01646500'). start_date: Start date as YYYY-MM-DD. end_date: End date as YYYY-MM-DD. parameter_code: USGS parameter code — '00060' (discharge, default) or '00065' (gage height). stat_code: Statistic code — '00003' (mean, default), '00001' (max), '00002' (min). response_format: Output format — 'markdown' (default) or 'json'. max_points: For json outpu…

  • usgs_get_flood_statusread-only

    Assess current flood conditions at a USGS site. Combines current instantaneous data with peak flow history and statistical context to determine whether conditions are normal, above normal, or at flood stage. Args: site_number: 8-digit USGS site number (e.g., '01646500'). response_format: Output format — 'markdown' (default) or 'json'.

  • usgs_get_hydrographread-only

    Get streamflow data formatted for hydrograph context. Fetches recent instantaneous values and optionally compares them to historical daily median statistics for context. Useful for understanding whether current conditions are above or below normal. Args: site_number: 8-digit USGS site number (e.g., '01646500'). days: Number of days of recent data (default 7, max 120). include_median: Include historical median comparison (default True). response_format: Output format — 'markdown' (default) or 'json'.

  • usgs_get_instantaneous_valuesread-only

    Get real-time (instantaneous) streamflow data from a USGS site. Returns ~15-minute interval data for up to the last 120 days. Common use: checking current river conditions and recent trends. Args: site_number: 8-digit USGS site number (e.g., '01646500'). parameter_code: USGS parameter code — '00060' (discharge, default) or '00065' (gage height). period: ISO 8601 duration for lookback period (default 'P7D' = 7 days). Max 'P120D'. response_format: Output format — 'markdown' (default) or 'json'. max_points: For json output, cap each series to the most recent N points …

  • usgs_get_monthly_statsread-only

    Get monthly streamflow statistics for a USGS site. Returns long-term monthly statistics including mean, min, max, and percentiles (P10, P25, P50, P75, P90) for each month. Useful for understanding seasonal flow patterns. Args: site_number: 8-digit USGS site number (e.g., '01646500'). parameter_code: USGS parameter code — '00060' (discharge, default). response_format: Output format — 'markdown' (default) or 'json'.

  • usgs_get_peak_streamflowread-only

    Get annual peak streamflow records for a USGS site. Returns the highest flow recorded each year, including discharge and gage height. Many sites have 50+ years of record. Useful for flood frequency analysis and understanding historical flood severity. Args: site_number: 8-digit USGS site number (e.g., '01646500'). start_year: Optional start year filter. end_year: Optional end year filter. response_format: Output format — 'markdown' (default) or 'json'.

  • usgs_get_site_inforead-only

    Get detailed metadata for a specific USGS site. Returns full site details including name, coordinates, county, HUC code, drainage area, datum, and contributing drainage area. Args: site_number: 8-digit USGS site number (e.g., '01646500'). response_format: Output format — 'markdown' (default) or 'json'.

  • vdatum_convertread-only

    Convert elevation values between vertical datums. Supports conversions between NAVD88, MLLW, MLW, MHW, MHHW, LMSL, xGEOID20b, IGLD85, and LWD using NOAA's coastalmodeling-vdatum. Points outside the datum conversion domain return inf. Args: datum_from: Source vertical datum (e.g. 'navd88', 'mllw'). datum_to: Target vertical datum (e.g. 'mllw', 'navd88'). lat: Latitude(s) as comma-separated values or single value (e.g. '30.0' or '30.0,26.0,27.5'). lon: Longitude(s) as comma-separated values or single value (e.g. '-80.0' or '-80.0,-75.0,-77.5'). z: Elevation(s) in meters as…

  • vdatum_list_datumsread-only

    List all supported vertical datums for conversion. Shows each datum's abbreviation and full name.

  • winds_compare_stationsread-only

    Compare latest wind observations across multiple stations. Args: station_ids: List of ICAO station IDs to compare (max 10, e.g., ['KJFK', 'KLGA', 'KEWR']). units: Unit system — 'metric' or 'english' (default: metric). response_format: Output format — 'markdown' (default) or 'json'.

  • winds_find_nearest_stationsread-only

    Find NWS stations nearest to a geographic coordinate. Args: latitude: Latitude in decimal degrees (e.g., 40.7). longitude: Longitude in decimal degrees (e.g., -74.0). limit: Maximum number of stations to return (default 5). NWS returns all stations near the point untrimmed; this caps both the markdown list and the JSON response (which flags truncation if more were available). response_format: Output format — 'markdown' (default) or 'json'.

  • winds_get_daily_summaryread-only

    Get daily wind statistics summary from IEM ASOS archive. Computes daily max/mean wind speed, max gust, and prevailing direction. Args: station_id: Station identifier — ICAO (e.g., 'KJFK') or FAA (e.g., 'JFK'). start_date: Start date in YYYY-MM-DD format. end_date: End date in YYYY-MM-DD format. units: Unit system — 'metric' or 'english' (default: metric). response_format: Output format — 'markdown' (default) or 'json'. max_records: Cap on JSON days returned (default 2000; a 366-day request produces at most ~366 daily summaries, so this rarely triggers)…

  • winds_get_historyread-only

    Get historical ASOS wind data from the Iowa Environmental Mesonet archive. Provides access to historical surface observations dating back to ~2000. Uses 3-char FAA codes internally; K-prefix (ICAO) is stripped automatically. Args: station_id: Station identifier — ICAO (e.g., 'KJFK') or FAA (e.g., 'JFK'). start_date: Start date in YYYY-MM-DD format. end_date: End date in YYYY-MM-DD format. units: Unit system — 'metric' or 'english' (default: metric). response_format: Output format — 'markdown' (default) or 'json'. max_records: Cap on JSON records returned (default 2000…

  • winds_get_latest_observationread-only

    Get the most recent surface observation at a station. Returns wind speed, direction, gust, temperature, pressure, and visibility. Args: station_id: ICAO station identifier (e.g., 'KJFK', 'KORD'). units: Unit system — 'metric' (m/s, °C, hPa) or 'english' (kt, °F, inHg). Default: metric. response_format: Output format — 'markdown' (default) or 'json'.

  • winds_get_observationsread-only

    Get recent surface observations over a time window. Args: station_id: ICAO station identifier (e.g., 'KJFK'). hours: Number of hours of observations to retrieve (default 24, max 168). units: Unit system — 'metric' or 'english' (default: metric). response_format: Output format — 'markdown' (default) or 'json'. max_records: Cap on JSON records returned (default 2000). NWS returns observations newest-first, so the most recent max_records are kept and the JSON flags any truncation. (Markdown is capped to the most recent 200 rows regardless of this setti…

  • winds_get_stationread-only

    Get detailed metadata for a specific NWS station. Args: station_id: ICAO station identifier (e.g., 'KJFK', 'KORD', 'KLAX'). response_format: Output format — 'markdown' (default) or 'json'.

  • winds_list_stationsread-only

    List NWS weather stations by US state. Returns ASOS, AWOS, and other NWS-affiliated surface observation stations. Station IDs are ICAO codes (e.g., KJFK, KORD, KLAX). Args: state: US state 2-letter code (e.g., 'NY', 'FL', 'CA'). limit: Maximum number of stations to return (default 50). Also caps the JSON response — the NWS API itself never returns more than this many, so JSON truncation only fires if `limit` is raised beyond what a single request should return. response_format: Output format — 'markdown' (default) or 'json'.

  • ww3_compare_forecast_with_buoyread-only

    Compare GFS-Wave forecast with NDBC buoy observations. Fetches both the model forecast and buoy observations for wave height, aligns the time series, and computes validation statistics (bias, RMSE, MAE, peak error, correlation). Args: station_id: NDBC buoy station ID (e.g., '41025', '46042'). buoy_lat: Buoy latitude in decimal degrees. buoy_lon: Buoy longitude in decimal degrees. grid: Wave grid to use (default: 'global.0p25'). hours_to_compare: Hours of comparison (default 24, max 120). response_format: 'markdown' (default) or 'json'.

  • ww3_find_buoysread-only

    Find NDBC buoys near a geographic location. Searches the NDBC active stations registry for buoys within a specified radius of a lat/lon point. Returns station IDs, distances, and metadata. Args: latitude: Target latitude in decimal degrees. longitude: Target longitude in decimal degrees. radius_km: Search radius in kilometers (default 200). limit: Maximum number of buoys to return (default 10). response_format: 'markdown' (default) or 'json'.

  • ww3_get_buoy_historyread-only

    Get historical annual wave observations from an NDBC buoy. Fetches archived standard meteorological data for a specific year from the NDBC historical archive. Useful for climatological analysis. Args: station_id: NDBC station ID (e.g., '41025', '46042'). year: Year to fetch (e.g., 2023). max_records: Maximum records to return (default 500, max 5000). response_format: 'markdown' (default) or 'json'.

  • ww3_get_buoy_observationsread-only

    Get recent wave observations from an NDBC buoy. Fetches realtime standard meteorological data from NDBC including wave height, dominant period, average period, mean wave direction, wind speed, and wind direction. Data covers the last ~45 days at hourly intervals. Args: station_id: NDBC station ID (e.g., '41025', '46042', '44013'). hours: Number of recent hours to return (default 24, max 1080). response_format: 'markdown' (default) or 'json'.

  • ww3_get_forecast_at_pointread-only

    Get GFS-Wave forecast time series at a geographic point. Downloads subsetted GRIB2 data from NOMADS for multiple forecast hours and extracts wave variables at the nearest grid point. This is the primary tool for wave forecast data. Args: latitude: Target latitude in decimal degrees (-90 to 90). longitude: Target longitude in decimal degrees (-180 to 180). grid: Wave grid to use (default: 'global.0p25'). variables: List of wave variables to retrieve (e.g., ['HTSGW', 'PERPW', 'DIRPW']). Default: ['HTSGW', 'PERPW', 'DIRPW']. max_hours: Maximum forecast hours t…

  • ww3_get_point_snapshotread-only

    Get all wave variables at a single point and forecast time. Downloads a single GRIB2 file and extracts all available wave variables at the nearest grid point. Use this for a quick snapshot of current or near-future conditions. Args: latitude: Target latitude in decimal degrees. longitude: Target longitude in decimal degrees. forecast_hour: Forecast hour (0=analysis, 6, 12, ..., max 384). Default: 0. grid: Wave grid to use (default: 'global.0p25'). response_format: 'markdown' (default) or 'json'.

  • ww3_get_regional_summaryread-only

    Get spatial statistics for wave variables over a bounding box. Downloads a single GRIB2 file subsetted to the bounding box and computes min, max, mean, and standard deviation for each wave variable. Args: lat_min: Southern latitude bound. lat_max: Northern latitude bound. lon_min: Western longitude bound (-180 to 180). lon_max: Eastern longitude bound (-180 to 180). forecast_hour: Forecast hour (default 0). grid: Wave grid to use (default: 'global.0p25'). response_format: 'markdown' (default) or 'json'.

  • ww3_list_cyclesread-only

    Check available GFS-Wave forecast cycles on NOAA servers. Checks AWS S3 for available GRIB2 files to determine which forecast cycles have been published. Useful before calling ww3_get_forecast_at_point. Args: grid: Wave grid to check (default: 'global.0p25'). date: Specific date in YYYY-MM-DD format. Default: today UTC. num_days: Number of past days to check (1-7). Default: 2.

  • ww3_list_gridsread-only

    List available GFS-Wave (WAVEWATCH III) model grids with resolution and domain info. Returns grid IDs, resolution, geographic coverage, forecast length, and available wave variables. Use this to choose a grid for ww3_get_forecast_at_point. Args: response_format: 'markdown' (default) or 'json'.

Signals

Stars
10
Forks
2
Open issues
2
Weekly downloads
30
Last commit
Oct 20, 2026 (8 days ago)
Last release
Jul 28, 2026 (3 months ago)
Last package publish
Jul 28, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.mansurjisan/winds-mcp
Version
0.1.2
Auth
No auth
Packages
pypi winds-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from mansurjisan

Cite this page

NWS Surface Wind Observations MCP Server. Agent Mart. https://agentmart.dev/connectors/mansurjisan-winds-mcp (last updated 2026-10-24)