jcottam/mcp-server-weather
If you are the rightful owner of mcp-server-weather and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP Weather Server is a Model Context Protocol server that provides real-time weather alerts and forecasts for US locations by integrating with the National Weather Service API.
MCP Weather Server
A Model Context Protocol (MCP) server that provides weather-related functionality for any MCP client. This server integrates with the National Weather Service (NWS) API to deliver real-time weather alerts and forecasts for US locations.

Features
🌤️ Weather Alerts
- Get active weather alerts for any US state using two-letter state codes
- Displays event type, affected area, severity, status, and headlines
- Real-time data from the National Weather Service
📍 Weather Forecasts
- Get detailed weather forecasts for any US location using coordinates
- Includes temperature, wind conditions, and short forecast descriptions
- Supports multiple forecast periods (daily/hourly)
Prerequisites
- Node.js (version 14 or higher)
- pnpm (Package Manager) - automatically managed via Corepack
- Any MCP client (Claude Desktop, Ollama, etc.)
Installation
- Install dependencies:
pnpm install
- Build the project:
pnpm run build
Configuration
To integrate this server with an MCP client, you need to configure your client's MCP server settings. Here are examples for popular clients:
Claude Desktop
- Open your Claude Desktop configuration file:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
- Add the following configuration to your MCP servers section:
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["/ABSOLUTE_PATH/mcp-server-weather/build/index.js"]
}
}
}
Other MCP Clients
For other MCP clients, add a server configuration with:
- Command:
node - Args:
["/ABSOLUTE_PATH/mcp-server-weather/build/index.js"]
Replace /ABSOLUTE_PATH with the actual absolute path to your project directory.
Usage
Once configured, you can use the weather server through any MCP client with these commands:
Get Weather Alerts
Get weather alerts for California
- Returns active weather alerts for the specified state
- Uses two-letter state codes (CA, NY, TX, etc.)
Get Weather Forecast
Get the weather forecast for coordinates 40.7128, -74.0060
- Returns detailed forecast for the specified coordinates
- Only works for US locations (NWS API limitation)
- Includes temperature, wind, and forecast descriptions
Development
The project is written in TypeScript and uses the following key dependencies:
@modelcontextprotocol/sdk: For MCP server implementationzod: For runtime type validation and schema definitiontypescript: For type safety and development
Project Structure
├── src/
│ └── index.ts # Main server entry point with all weather tools
├── build/ # Compiled JavaScript output
├── package.json # Project dependencies and scripts
└── pnpm-lock.yaml # pnpm lock file for dependency management
Available Scripts
pnpm install- Install dependenciespnpm run build- Compile TypeScript to JavaScriptpnpm run clean- Remove build directory
API Integration
This server integrates with the National Weather Service (NWS) API:
- Base URL:
https://api.weather.gov - Data Format: GeoJSON
- Coverage: United States only
- Rate Limits: Standard NWS API limits apply
Supported Endpoints
/alerts?area={STATE}- Get weather alerts by state/points/{lat},{lon}- Get grid point data for coordinates/gridpoints/{office}/{gridX},{gridY}/forecast- Get forecast data
Monitoring and Debugging
Logs
MCP clients typically write logs to their respective directories:
Claude Desktop:
~/Library/Logs/Claude/mcp*.log
Other clients:
- Refer to your specific client's documentation for log locations
To monitor logs in real-time (Claude Desktop example):
# View recent logs and follow new entries
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
Error Handling
The server includes comprehensive error handling for:
- Network request failures
- Invalid coordinates or state codes
- NWS API service unavailability
- Data parsing errors
Limitations
- Geographic Coverage: Only supports US locations (NWS API limitation)
- Coordinate Precision: Uses 4 decimal places for coordinate precision
- Data Source: Relies on National Weather Service API availability
Resources
License
ISC License - See LICENSE file for details