Weather MCP Server
Weather MCP Server
A FastMCP server that provides weather data, forecasts, and alerts for Poke integration.
๐ Features
get_current_weather: Current conditions (from National Weather Service forecast data)
get_forecast: Detailed multi-day forecast (day/night periods)
get_weather_alerts: Real-time alerts and warnings (NWS official alerts)
Data Source: National Weather Service (https://api.weather.gov) โ no API key required.
๐ ๏ธ Local Development
# Install dependencies
pip install -r requirements.txt
# Run the server
python src/server.py๐ API Key Setup
Not required. This server uses the National Weather Service API and does not need an API key.
๐ข Deployment
Deploy to Render
Steps:
Click the "Deploy to Render" button above or go to render.com
Connect your GitHub account to Render (if you haven't already)
Create a new Web Service:
Connect this repository
Name:
weather-mcpEnvironment:
Python 3Plan:
FreeBuild Command:
pip install -r requirements.txtStart Command:
python src/server.py
No environment variables required
Deploy!
Note: On Render's free tier, services go idle after ~15 minutes of inactivity and may require a manual "Deploy" to wake or to pick up the latest commit. Unlike Vercel, pushes do not auto-deploy by default.
Your server will be available at https://weather-mcp.onrender.com/mcp
๐ฏ Poke Integration
Add the MCP URL:
https://weather-mcp.onrender.com/mcpGive it a name like "Weather"
Try: "Use the Weather MCP to get the 3-day forecast for Boston."
References
Based on the Interaction MCP server template: MCP Server Template
Discovered via Interactionโs HackMIT challenge: Interaction HackMIT Challenge
National Weather Service API docs:
https://www.weather.gov/documentation/services-web-api
๐ง Available Tools
get_current_weather(location, units="metric|imperial"): Current conditions based on NWS forecast periodsget_forecast(location, days=1..5, units="metric|imperial"): Multi-day forecast (day/night periods)get_weather_alerts(location): Official alerts/watches/warnings for the specified location
๐ Example Usage
# Get current weather (uses NWS forecast period closest to now)
get_current_weather(location="Seattle", units="metric")
# Get 3-day forecast (day/night periods)
get_forecast(location="New York", days=3, units="imperial")
# Get weather alerts
get_weather_alerts(location="Miami")Notes:
Locations are resolved via a simple built-in mapping of major US cities. For other places, default coordinates are used. You can extend this with a geocoding service if needed.
Current conditions are derived from the first forecast period when station observations are unavailable.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/akarnik23/mcp-weather'
If you have feedback or need assistance with the MCP directory API, please join our Discord server