Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SNOTEL MCP Serverfind SNOTEL stations near Aspen, Colorado"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SNOTEL MCP Server
A Model Context Protocol (MCP) server built with FastMCP for accessing USDA SNOTEL (SNOwpack TELemetry) weather and snow data through the AWDB (Air and Water Database) REST API.
This server provides AI assistants like Claude with access to real-time and historical snow conditions, weather data, and snowpack analysis from over 800 SNOTEL stations across the western United States.
Features
ποΈ Station Discovery
Find by State: Get all SNOTEL stations in any state
Find by Location: Search for stations within a radius of coordinates
Station Details: Access comprehensive station metadata
π Data Access
Historical Data: Retrieve snow depth, SWE, temperature, and precipitation
Recent Conditions: Get latest readings and recent trends
Custom Date Ranges: Query any time period with daily resolution
π Analysis Tools
Snowpack Trends: Analyze peak conditions and seasonal patterns
Storm Tracking: Identify snowfall events and accumulations
Statistical Summaries: Calculate averages, maximums, and snow day counts
Quick Start
Prerequisites
Python 3.9+
uv package manager (recommended) or pip
Installation
Running the Server
FastMCP handles all transport configuration automatically:
Usage with Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
Or if installed via pip:
Available Tools
find_snotel_stations
Find SNOTEL stations by state or geographic location.
Parameters:
state(optional): State abbreviation (e.g., "CO", "MT")latitude(optional): Latitude for location searchlongitude(optional): Longitude for location searchradius_miles(optional): Search radius in miles (default: 50)network(optional): Network type (default: "SNTL")
Examples:
get_station_info
Get detailed information about a specific SNOTEL station.
Parameters:
station_triplet(required): Station identifier (e.g., "713:CO:SNTL")
Example:
get_station_data
Retrieve raw snow and weather data from a station in JSON format.
Parameters:
station_triplet(required): Station identifierstart_date(required): Start date (YYYY-MM-DD)end_date(required): End date (YYYY-MM-DD)elements(optional): Data types ["SNWD", "WTEQ", "TOBS", "PREC"]duration_name(optional): Duration of measurements ["DAILY", "HOURLY", "MONTHLY"]
Returns: Raw JSON data from the SNOTEL API
Examples:
get_recent_conditions
Get recent conditions from a station (last 30 days by default).
Parameters:
station_triplet(required): Station identifierdays(optional): Number of recent days (default: 30)
Example:
analyze_snowpack_trends
Analyze snowpack trends and calculate statistics for a time period.
Parameters:
station_triplet(required): Station identifierstart_date(required): Analysis start dateend_date(required): Analysis end date
Examples:
Example Conversations
Finding Stations
Getting Current Conditions
Analyzing Trends
Data Elements
The server supports these common SNOTEL measurements:
SNWD: Snow depth (inches)
WTEQ: Snow water equivalent (inches)
TOBS: Observed air temperature (Β°F)
PREC: Precipitation increment (inches)
TMAX: Maximum air temperature (Β°F)
TMIN: Minimum air temperature (Β°F)
API Reference
The server connects to the USDA AWDB REST API:
Base URL:
https://wcc.sc.egov.usda.gov/awdbRestApiDocumentation: Swagger UI
Rate Limits: Be respectful with API usage
Development
Project Structure
Running Tests
Code Quality
Configuration
Environment Variables
AWDB_API_BASE: Override default API base URLAWDB_TIMEOUT: Request timeout in seconds (default: 30)
Logging
The server supports configurable logging levels. Set the log level via environment variable:
Log Levels:
DEBUG: Most verbose, shows all internal operationsINFO: Shows API requests, responses, and general operationsWARNING: Shows only warnings and errors (default)ERROR: Shows only errors
Troubleshooting
Common Issues
Connection Errors
Check internet connectivity to USDA servers
Verify API endpoint is accessible
Check for proxy/firewall restrictions
No Data Returned
Verify station triplet format (e.g., "713:CO:SNTL")
Check date ranges are valid
Some stations may have data gaps
Station Not Found
Use
find_snotel_stationsto verify station existsCheck state abbreviation is correct
Ensure station is active
Debug Mode
Enable detailed logging to see all API requests:
For maximum verbosity:
Contributing
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Projects
Model Context Protocol - The MCP specification and SDKs
Claude Desktop - AI assistant with MCP support
USDA SNOTEL - Official SNOTEL program information
Acknowledgments
USDA Natural Resources Conservation Service for providing the SNOTEL network and API
Anthropic for creating the Model Context Protocol
The open source community for the underlying tools and libraries
Happy Snow Tracking! πΏβοΈ