Weather MCP Server logo

Weather MCP Server

Kennexcorp/weather_mcp_server
0 starsUpdated 2026-01-31Community

Is this your server?

Add your score badge to your README and get your server in front of 45k+ builders a month.

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

A Model Context Protocol server that provides real-time weather alerts and forecasts using the National Weather Service API.

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

docker build -t weather-mcp .

2. Configure Claude Desktop

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "weather": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "weather-mcp"
      ]
    }
  }
}

Development

To test your changes during development, rebuild and run the container manually:

# 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:

echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_alerts", "arguments": {"state": "TX"}}}' | docker run -i --rm weather-mcp

Technologies

  • mcp: The official Python SDK for the Model Context Protocol.
  • httpx: A next-generation HTTP client for Python.
  • uv: An extremely fast Python package installer and resolver.

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use AI & ML servers.