Metadata-Version: 2.4
Name: nhc-mcp
Version: 0.1.0
Summary: MCP server for NHC storm tracks, advisories, and hurricane best track data
Project-URL: Homepage, https://github.com/mansurjisan/ocean-mcp
Project-URL: Repository, https://github.com/mansurjisan/ocean-mcp
Project-URL: Bug Tracker, https://github.com/mansurjisan/ocean-mcp/issues
Project-URL: Documentation, https://github.com/mansurjisan/ocean-mcp/tree/main/servers/nhc-mcp
Project-URL: Changelog, https://github.com/mansurjisan/ocean-mcp/releases
Author-email: Mansur Ali Jisan <mansur.jisan@noaa.gov>
License-Expression: MIT
License-File: LICENSE
Keywords: hurdat2,hurricane,mcp,meteorology,model-context-protocol,nhc,noaa,storm-track,tropical-cyclone
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Dist: httpx>=0.27.0
Requires-Dist: mcp[cli]>=1.0.0
Requires-Dist: pydantic>=2.0.0
Description-Content-Type: text/markdown

# NHC MCP Server

<!-- mcp-name: io.github.mansurjisan/nhc-mcp -->

MCP server providing AI assistants with access to National Hurricane Center (NHC) storm tracks, advisories, and best track data.

**Status: Ready**

## Tools

| Tool | Description | Status |
|------|-------------|--------|
| `nhc_get_active_storms` | Get currently active tropical cyclones | Ready |
| `nhc_get_forecast_track` | Get official NHC 5-day forecast track positions | Ready |
| `nhc_get_best_track` | Get best track data for historical or recent storms | Ready |
| `nhc_search_storms` | Search historical storms by name, year, basin, intensity | Ready |
| `nhc_get_storm_watches_warnings` | Get active watches and warnings for a storm | Ready |
| `nhc_generate_parametric_wind` | Generate parametric wind field for a storm | Planned |

## Data Sources

- **CurrentStorms.json** — Real-time active storm information from NHC
- **ATCF B-deck** — Current-season best track data (Automated Tropical Cyclone Forecasting)
- **HURDAT2** — Atlantic (1851–2024) and East Pacific (1949–2024) hurricane database
- **NHC ArcGIS MapServer** — Forecast tracks, cones, and watch/warning polygons

## Quick Start

```bash
git clone https://github.com/mansurjisan/ocean-mcp.git
cd ocean-mcp/servers/nhc-mcp
uv sync
```

### Configure your MCP client

```json
{
  "mcpServers": {
    "nhc": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/ocean-mcp/servers/nhc-mcp", "python", "-m", "nhc_mcp"]
    }
  }
}
```

## Example Queries

- "Are there any active tropical cyclones right now?"
- "Show me Hurricane Katrina's track"
- "Search for Category 5 hurricanes in the Atlantic since 2000"
- "What is the forecast track for the active storm AL052024?"
- "Find all storms named Maria"

## Running Tests

```bash
# Unit tests (fast, no network)
uv run pytest tests/test_utils.py tests/test_client.py -v

# Live integration tests (requires internet)
uv run pytest tests/test_live.py -v -s
```

## License

MIT
