avymcp

scott-brereton/avymcp
0 starsMITCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Provides avalanche forecasts, danger ratings, and field observations for US avalanche centers, Canadian regions, and Quebec's Chic-Chocs via natural language queries.

README.md

avymcp

MCP server for avalanche forecasts, danger ratings, and field observations. Covers all 28 US avalanche centers via avalanche.org, Canadian regions via Avalanche Canada, and the Chic-Chocs (Gaspésie, Québec) via Avalanche Québec.

Deployed on Cloudflare Workers. No API keys required -- all upstream data sources are public.

Quick Start

A public demo instance is available for immediate use -- no setup or deployment needed:

https://avymcp.scottjohnbrereton-4c1.workers.dev/mcp

Claude Code

claude mcp add avymcp --transport http https://avymcp.scottjohnbrereton-4c1.workers.dev/mcp

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "avymcp": {
      "command": "npx",
      "args": ["mcp-remote", "https://avymcp.scottjohnbrereton-4c1.workers.dev/mcp"]
    }
  }
}

Cursor / Other MCP Clients

Point your client to the endpoint URL above using HTTP/Streamable transport.

Self-Hosting

You can also deploy your own instance -- see Development below.

Tools

get_forecast

Get a full avalanche forecast for a US zone. Returns danger ratings by elevation band, avalanche problems with aspect/elevation/likelihood/size, forecaster discussion, and bottom line summary.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | zone | string | no | Zone name (e.g. "Stevens Pass", "Salt Lake", "Bridger Range") | | center_id | string | no | Center ID to narrow search (e.g. "NWAC", "UAC", "CAIC") | | latitude | number | no | Latitude for point-based lookup | | longitude | number | no | Longitude for point-based lookup |

Provide either zone (with optional center_id) or latitude/longitude.

Example prompts:

  • "What's the avalanche forecast for Stevens Pass?"
  • "Get me the forecast for the Bridger Range in Montana"
  • "Avalanche conditions at 40.59, -111.64"

---

get_danger_ratings

Get current avalanche danger ratings. Returns the 1-5 danger level, travel advice, and active warnings.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | center_id | string | no | Filter by center (e.g. "NWAC", "UAC", "CAIC") | | latitude | number | no | Latitude for point lookup | | longitude | number | no | Longitude for point lookup | | date | string | no | Historical date (YYYY-MM-DD) |

With no arguments, returns danger ratings for all 82 US forecast zones. With center_id, returns just that center's zones. With lat/lon, returns the specific zone containing that point.

Example prompts:

  • "What's the avalanche danger in Colorado right now?"
  • "Show me danger ratings for all NWAC zones"
  • "What was the danger level at Alta on March 15th?"

---

list_centers

List all 28 US avalanche centers and their forecast zones.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | search | string | no | Search by center name, zone name, or state (e.g. "CO", "Montana", "NWAC") |

Example prompts:

  • "What avalanche centers are there?"
  • "Which centers cover Alaska?"
  • "Find avalanche zones in Utah"

---

get_center_info

Get detailed information about a specific avalanche center.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | center_id | string | yes | Center ID (e.g. "NWAC", "UAC", "CAIC", "GNFAC") |

Returns the center's website, contact info, timezone, list of forecast zones with IDs, and whether the center is in its off-season.

Example prompts:

  • "Tell me about the Utah Avalanche Center"
  • "What zones does GNFAC cover?"

---

get_observations

Get recent field observations from US avalanche centers. Includes trip reports, avalanche sightings, snowpack assessments, and weather observations.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | center_id | string | no | Filter by center (e.g. "NWAC", "UAC") | | days_back | number | no | Days to look back (default: 3, max: 14) | | page_size | number | no | Number of results (default: 10, max: 25) |

Example prompts:

  • "What are the recent observations from NWAC?"
  • "Any avalanche observations in the last week?"
  • "Show me field reports from Colorado this week"

---

get_observation_detail

Get full details of a single field observation by its UUID.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | observation_id | string | yes | Observation UUID (from get_observations results) |

Returns the complete observation including weather conditions, snowpack assessment, avalanche details (type, trigger, size, aspect, elevation), and media links.

---

check_warnings

Check for active avalanche warnings and watches across all US centers. No parameters required.

Returns active warnings, zones at High (4) or Extreme (5) danger, and a summary of conditions nationwide.

Example prompts:

  • "Are there any avalanche warnings right now?"
  • "Where is the avalanche danger highest in the US?"

---

get_canada_forecast

Get an Avalanche Canada forecast by coordinates.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | latitude | number | yes | Latitude (e.g. 51.3 for Rogers Pass) | | longitude | number | yes | Longitude (e.g. -117.5 for Rogers Pass) | | language | string | no | "en" (default) or "fr" |

Returns danger ratings for 3 days across Alpine/Treeline/Below Treeline, avalanche problems, and forecaster summaries.

Example prompts:

  • "What's the avalanche forecast near Whistler?"
  • "Avalanche conditions at Rogers Pass, BC"

---

get_quebec_forecast

Get the current Avalanche Québec bulletin for the Chic-Chocs in Gaspésie. This region is NOT covered by the Avalanche Canada API, so it has its own tool. Covers Mont Albert, Mont Ernest-Laforce, Mont Hog's Back, Champs-de-Mars, Mont Lyall, Mont Vallières-de-Saint-Réal, Mont Blanche-Lamontagne, and Mines-Madeleine. Bulletins are issued daily December 1 – April 30.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | language | string | no | "en" (default) or "fr" | | latitude | number | no | Optional lat for a sanity check that the point is in the Chic-Chocs | | longitude | number | no | Optional lon for a sanity check that the point is in the Chic-Chocs |

Returns 3-day danger ratings across Alpine/Treeline/Below Treeline, avalanche problems (type, aspect, elevation, likelihood, size), travel advice, and avalanche/snowpack/weather summaries.

Example prompts:

  • "What's the avalanche forecast for Mont Albert?"
  • "Conditions in the Chic-Chocs today"
  • "Get me the French bulletin for Gaspésie"

Data Sources

| Source | Coverage | Auth | |--------|----------|------| | Avalanche.org API | 28 US centers, 82 zones | None | | Avalanche.org Observations API | Field reports from all US centers | Referer header | | Avalanche Canada API | All Canadian forecast regions | None | | Avalanche Québec | Chic-Chocs, Gaspésie, Québec | None (HTML scrape) |

Danger Scale

| Level | Rating | Color | |-------|--------|-------| | 1 | Low | Green | | 2 | Moderate | Yellow | | 3 | Considerable | Orange | | 4 | High | Red | | 5 | Extreme | Black |

Development

# Install dependencies
npm install

# Run locally
npm run dev

# Deploy to Cloudflare Workers
npm run deploy

Requires Wrangler CLI and a Cloudflare account.

Architecture

src/
├── index.ts                      # Entry point, health check, MCP handler
├── api/
│   ├── avalanche-org.ts          # US forecast API client
│   ├── observations.ts           # Observations API client
│   ├── avalanche-canada.ts       # Canada API client
│   └── avalanche-quebec.ts       # Avalanche Québec bulletin scraper
├── lib/
│   ├── html-to-text.ts           # HTML stripping for forecast text
│   ├── zone-resolver.ts          # Zone name resolution + point-in-polygon
│   └── types.ts                  # TypeScript type definitions
└── tools/
    ├── get-forecast.ts           # Full forecast retrieval
    ├── get-danger-ratings.ts     # Danger rating map/point lookup
    ├── list-centers.ts           # Center directory + search
    ├── get-center-info.ts        # Center detail
    ├── get-observations.ts       # Observation list + detail
    ├── check-warnings.ts         # Warning scanner
    ├── get-canada-forecast.ts    # Avalanche Canada forecasts
    └── get-quebec-forecast.ts    # Avalanche Québec (Chic-Chocs) forecast

License

MIT

Related MCP servers

Browse all →