MCP Hub
Back to servers

Weather Forecaster (National Weather Service)

A FastMCP-based server that integrates with the National Weather Service to provide real-time weather alerts by US state code, featuring both a command-line interface and a modern web UI.

Stars
1
Tools
2
Updated
Aug 19, 2025
Validated
Mar 7, 2026

Weather MCP Server

A powerful weather information server built with FastMCP that provides weather alerts and tools through multiple interfaces.

Features

  • 🌤️ Weather Alerts: Get real-time weather alerts for any US state
  • 🔊 Echo Resource: Simple message echoing functionality
  • 🖥️ Multiple Interfaces: Choose between MCP server or web interface
  • 🎨 Beautiful UI: Modern, responsive web interface

Quick Start

Option 1: Interactive Launcher (Recommended)

python run_server.py

This will present you with options to run either the MCP server or web interface.

Option 2: Direct Web Interface

python server/web_interface.py

Then open your browser to: http://localhost:8000

Option 3: MCP Server Only

python main.py

Installation

  1. Install dependencies:

    uv sync
    
  2. Run the server:

    python run_server.py
    

Usage

Web Interface

  1. Start the web interface
  2. Open http://localhost:8000 in your browser
  3. Use the forms to:
    • Get weather alerts for a US state (e.g., CA, NY, TX)
    • Echo messages through the resource system

MCP Server

The MCP server provides these tools:

  • get_alerts(state): Get weather alerts for a US state

    • state: Two-letter US state code (e.g., "CA", "NY")
  • echo_resource(message): Echo a message as a resource

    • message: Any text message to echo

API Endpoints

  • GET /: Main web interface
  • POST /api/alerts: Get weather alerts (form data: state)
  • POST /api/echo: Echo a message (form data: message)

Dependencies

  • mcp[cli]>=1.13.0: MCP server framework
  • fastapi>=0.104.0: Web framework
  • uvicorn[standard]>=0.24.0: ASGI server
  • httpx>=0.25.0: HTTP client
  • python-multipart>=0.0.6: Form data handling

Project Structure

secondproject/
├── main.py                 # MCP server entry point
├── run_server.py          # Interactive launcher
├── server/
│   ├── weather.py         # MCP server implementation
│   └── web_interface.py   # Web interface
├── pyproject.toml         # Project configuration
└── README.md              # This file

Troubleshooting

Common Issues

  1. Port already in use: Change the port in web_interface.py or stop other services
  2. Dependencies missing: Run uv sync to install all dependencies
  3. API errors: Check your internet connection for weather data

Getting Help

  • Check the console output for error messages
  • Ensure all dependencies are installed
  • Verify Python version (requires 3.12+)

License

This project is open source and available under the MIT License.

Reviews

No reviews yet

Sign in to write a review