Skip to main content
Glama

Weather MCP Server

Weather MCP Project

A Model Context Protocol (MCP) server that provides real-time weather alerts and forecasts from the US National Weather Service. Built with modern Python practices, comprehensive testing, and production-ready deployment.

Features

  • Weather Alerts - Real-time alerts from the National Weather Service
  • Weather Forecasts - Detailed forecasts for any US location
  • Web Interface - Beautiful Streamlit UI for easy interaction
  • MCP Protocol - Standards-compliant Model Context Protocol server
  • Async/Await - High-performance asynchronous architecture
  • 100% Test Coverage - Comprehensive test suite with 53 tests
  • Type Safe - Full MyPy type checking compliance
  • Production Ready - Deployed and operational

Quick Start

Prerequisites

  • Python 3.13

1. Clone and Install

git clone <your-repo-url> cd weather-mcp-project pip install -r requirements.txt

2. Run the Web Interface

streamlit run ui.py

Open your browser to http://localhost:8501 and start exploring weather data!

3. Run the MCP Server

python -m weather_mcp.server

The MCP server will start on http://localhost:8000 with SSE transport.

Installation

Using pip

pip install -r requirements.txt

API Reference

Weather Alerts

Get active weather alerts for any US state:

await get_alerts(state: str) -> str

Parameters:

  • state (str): Two-letter US state code (e.g., "CA", "TX", "NY")

Returns:

  • Formatted string with active alerts or "No active alerts" message

Example:

alerts = await get_alerts("CA") print(alerts) # Output: Winter Storm Warning for Los Angeles County...

Weather Forecasts

Get detailed weather forecast for coordinates:

await get_forecast(latitude: float, longitude: float) -> str

Parameters:

  • latitude (float): Latitude coordinate
  • longitude (float): Longitude coordinate

Returns:

  • Formatted forecast string with 5-day outlook

Example:

forecast = await get_forecast(34.0522, -118.2437) # Los Angeles print(forecast) # Output: Today: Temperature: 75°F, Wind: 10 mph SW...

MCP Tools

The server exposes two MCP tools:

  1. get_alerts - Fetch weather alerts by state
  2. get_forecast - Fetch weather forecast by coordinates

Development

Project Structure

weather-mcp-project/ ├── weather_mcp/ # Core MCP server │ ├── __init__.py │ ├── server.py # FastMCP server │ ├── nws_api.py # National Weather Service API client │ └── tools.py # Weather processing tools ├── client/ # MCP client │ ├── __init__.py │ └── client.py # Client implementation ├── tests/ # Comprehensive test suite │ ├── conftest.py # Test configuration │ ├── test_*.py # Test modules │ └── run_tests.py # Test runner ├── ui.py # Streamlit web interface ├── requirements.txt # Dependencies ├── pyproject.toml # Project configuration └── README.md # This file

Code Quality

This project maintains high code quality standards:

  • 100% Test Coverage - Every line of code is tested
  • Type Checking - Full MyPy compliance
  • Linting - Ruff for code formatting and style
  • Standards - Follows Python best practices

Testing

Run with Coverage

python -m pytest --cov=weather_mcp --cov=client --cov-report=html --cov-report=term tests/

Test Coverage Report

After running tests with coverage, open htmlcov/index.html in your browser for a detailed coverage report.

Quality Checks

# Type checking mypy . # Linting and formatting ruff check ruff format
-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A Model Context Protocol (MCP) server that provides real-time weather alerts and forecasts from the US National Weather Service.

  1. Features
    1. Quick Start
      1. Prerequisites
      2. 1. Clone and Install
      3. 2. Run the Web Interface
      4. 3. Run the MCP Server
    2. Installation
      1. Using pip
    3. API Reference
      1. Weather Alerts
      2. Weather Forecasts
      3. MCP Tools
    4. Development
      1. Project Structure
      2. Code Quality
    5. Testing
      1. Run with Coverage
      2. Test Coverage Report
      3. Quality Checks

    Related MCP Servers

    • -
      security
      F
      license
      -
      quality
      This is a Model Context Protocol (MCP) server that provides weather information using the National Weather Service (NWS) API. Features Get weather alerts for a US state Get weather forecast for a specific location (using latitude and longitude)
      Last updated -
      Python
      • Linux
      • Apple
    • A
      security
      A
      license
      A
      quality
      A Model Context Protocol server that provides tools to fetch weather alerts for US states and forecasts based on latitude/longitude coordinates using the US National Weather Service API.
      Last updated -
      2
      71
      TypeScript
      MIT License
      • Linux
      • Apple
    • -
      security
      F
      license
      -
      quality
      A Model Control Protocol (MCP) based service that allows users to query weather forecasts by coordinates and receive weather alerts for U.S. states.
      Last updated -
      4
      Python
      • Linux
      • Apple
    • A
      security
      F
      license
      A
      quality
      A Model Context Protocol server that provides current weather forecasts for specific locations and active weather alerts for US states.
      Last updated -
      2
      TypeScript

    View all related MCP servers

    MCP directory API

    We provide all the information about MCP servers via our MCP API.

    curl -X GET 'https://glama.ai/api/mcp/v1/servers/laksh-krishna-sharma/Live-Weather-Alerts-MCP'

    If you have feedback or need assistance with the MCP directory API, please join our Discord server