Weather MCP Server
A Model Context Protocol (MCP) server that provides real-time US weather alerts and forecasts by integrating with the National Weather Service API. It connects directly to Claude Desktop, enabling Claude to fetch live weather data through natural language requests.
Demo
!Weather Alerts !Weather Forecast !Hourly Forecast 1 !Hourly Forecast 2
Tools
get_alerts— Get active weather alerts for a US state (e.g.TX,CA)get_forecast— Get weather forecast for a location by latitude and longitudeget_hourly_forecast— Get hour-by-hour forecast for the next 12 hours by latitude and longitude
Setup
- Install uv
- Clone the repo and run
uv sync - Add to your
claude_desktop_config.json:
{
"mcpServers": {
"weather": {
"command": "uv",
"args": ["--directory", "/path/to/weather", "run", "weather.py"]
}
}
}
Slack Chatbot Setup
Use this if you want Claude + weather tools inside Slack.
- In your Slack app, ensure these are enabled:
- Bot scopes:
app_mentions:read,chat:write,channels:history,im:history - Events:
app_mention,message.im - Socket Mode ON with an app-level token (
connections:write)
- Create env file from template:
cp .env.example .env
- Fill
.envwith your real values:
SLACK_BOT_TOKEN(xoxb...)SLACK_APP_TOKEN(xapp...)SLACK_SIGNING_SECRETANTHROPIC_API_KEY
- Install dependencies and run:
uv sync
uv run slack_bot.py
- In Slack:
- Mention the bot in a channel:
@MCP-NWS weather alerts for TX - Or DM the bot:
forecast for 37.7749, -122.4194






