Skip to main content
Glama
Zachwitte21
by Zachwitte21
README.md
# Weather MCP Server

An MCP (Model Context Protocol) server that provides weather information tools using the National Weather Service (NWS) API.

## Features

This MCP server exposes two tools for accessing weather data:

- **`get_alerts`**: Get active weather alerts for any US state
- **`get_forecast`**: Get detailed weather forecast for a specific location (latitude/longitude)

## Requirements

- Python >= 3.14
- uv (recommended for dependency management)

## Setup

1. Clone this repository or download the source code

2. Install dependencies using uv:
```bash
uv sync
```

## Running the Server

The server runs using stdio transport for MCP communication:

```bash
uv run weather.py
```

## Using with MCP Clients

To use this server with an MCP client (like Claude Desktop), add it to your MCP client configuration:

```json
{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
        "--directory",
        "c:\\Users\\Zachary\\Dev\\weather",
        "run",
        "weather.py"
      ]
    }
  }
}
```

## Available Tools

### get_alerts

Get active weather alerts for a US state.

**Parameters:**
- `state` (string): Two-letter US state code (e.g., "CA", "NY", "TX")

**Example:**
```
get_alerts(state="CA")
```

### get_forecast

Get weather forecast for a specific location.

**Parameters:**
- `latitude` (float): Latitude of the location
- `longitude` (float): Longitude of the location

**Example:**
```
get_forecast(latitude=37.7749, longitude=-122.4194)
```

## Data Source

This server uses the [National Weather Service API](https://www.weather.gov/documentation/services-web-api), which provides free weather data for US locations.

## License

Add your license information here.

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have completely distinct purposes: get_alerts retrieves weather alerts for US states, while get_forecast provides forecasts for geographic coordinates. There is no overlap in functionality or target data, making them easily distinguishable.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with 'get_' prefix (get_alerts, get_forecast). The naming is perfectly uniform and predictable across the tool set.

Tool Count2/5

With only two tools, this server feels severely under-scoped for a weather domain. A weather server should ideally include tools for current conditions, historical data, radar, or multiple forecast types, making this minimal set inadequate for comprehensive weather interactions.

Completeness2/5

The tool surface is highly incomplete for a weather server. It lacks fundamental operations like getting current conditions, historical weather, radar imagery, or air quality data. Agents will face significant gaps when trying to perform common weather-related tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues