weather

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

  1. Create and activate a virtual environment:
uv venv
source .venv/bin/activate  # On Unix/macOS
# or
.venv\Scripts\activate  # On Windows
  1. Install dependencies:
uv pip install -e .

Usage

Run the server:

uv run weather-server

The server exposes two tools:

  1. get_alerts(state): Get weather alerts for a US state

    • Example: get_alerts("CA") for California alerts
  2. get_forecast(latitude, longitude): Get weather forecast for a location

    • Example: get_forecast(38.5816, -121.4944) for Sacramento, CA

Configuration

To use this server with Claude for Desktop:

  1. Open ~/Library/Application Support/Claude/claude_desktop_config.json
  2. Add the following configuration:
{
    "mcpServers": {
        "weather": {
            "command": "/Users/zhihaoouyang/.local/bin/uv",
            "args": [
                "--directory",
                "/Users/zhihaoouyang/Desktop/code/weather",
                "run",
                "weather-server"
            ]
        }
    }
}
  1. Restart Claude for Desktop

Note

This server uses the National Weather Service API, which only provides data for locations within the United States.