weather
1
The Weather MCP Server is designed to deliver weather information using the National Weather Service API. It offers features like weather alerts and detailed forecasts for US locations, running as an MCP server.
Weather MCP Server
This is a Model Context Protocol (MCP) server that provides weather information using the National Weather Service API.
Project Structure
weather/
├── mcp-server/ # MCP server implementation
│ └── weather.py # Main server code
├── pyproject.toml # Project configuration and dependencies
└── README.md # This file
Features
- Get weather alerts for US states
- Get detailed weather forecasts for specific locations
Prerequisites
- Python 3.12 or higher
uv
package manager
Installation
- Create and activate a virtual environment:
uv venv
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows
- Install dependencies:
uv pip install -e .
Usage
Run the server:
uv run weather-server
The server exposes two tools:
-
get_alerts(state)
: Get weather alerts for a US state- Example:
get_alerts("CA")
for California alerts
- Example:
-
get_forecast(latitude, longitude)
: Get weather forecast for a location- Example:
get_forecast(38.5816, -121.4944)
for Sacramento, CA
- Example:
Configuration
To use this server with Claude for Desktop:
- Open
~/Library/Application Support/Claude/claude_desktop_config.json
- Add the following configuration:
{
"mcpServers": {
"weather": {
"command": "/Users/zhihaoouyang/.local/bin/uv",
"args": [
"--directory",
"/Users/zhihaoouyang/Desktop/code/weather",
"run",
"weather-server"
]
}
}
}
- Restart Claude for Desktop
Note
This server uses the National Weather Service API, which only provides data for locations within the United States.