Weather MCP Server
by Kennexcorp
README.md
# Weather MCP Server
A Model Context Protocol (MCP) server that provides real-time weather alerts and forecasts using the National Weather Service (NWS) API. This server is built with Python and `fastmcp`, and is designed to integrate seamlessly with Claude Desktop.
## Features
This server exposes two main tools:
- **`get_alerts(state: str)`**: Retrieves active weather alerts for a specific US state (e.g., "TX", "CA").
- Returns a list of alerts including event type, severity, description, and instructions.
- **`get_forecast(latitude: float, longitude: float)`**: Fetches the weather forecast for a given location.
- Automatically resolves the NWS grid point for the coordinates.
- Returns a detailed forecast including temperature, wind speed, and detailed descriptions for upcoming periods.
## Prerequisites
- **Docker** (required)
## Installation & Usage
### 1. Build the Docker Image
```bash
docker build -t weather-mcp .
```
### 2. Configure Claude Desktop
Add the following to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"weather": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"weather-mcp"
]
}
}
}
```
## Development
To test your changes during development, rebuild and run the container manually:
```bash
# Rebuild the image
docker build -t weather-mcp .
# Run the container (interactive mode to test stdin/stdout)
docker run -i --rm weather-mcp
```
You can then paste JSON-RPC messages (if you know them) or simply ensure the container starts without errors.
To verify a specific tool execution (e.g., getting alerts), you can pipe a request into the container:
```bash
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_alerts", "arguments": {"state": "TX"}}}' | docker run -i --rm weather-mcp
```
## Technologies
- **[mcp](https://github.com/modelcontextprotocol/python-sdk)**: The official Python SDK for the Model Context Protocol.
- **[httpx](https://www.python-httpx.org/)**: A next-generation HTTP client for Python.
- **[uv](https://github.com/astral-sh/uv)**: An extremely fast Python package installer and resolver.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues