MCP-Server-Weather-Alerts

MCP-Server-Weather-Alerts

3.2

If you are the rightful owner of MCP-Server-Weather-Alerts and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The MCP Weather Server is a project that utilizes the Model Context Protocol framework to provide weather alerts and forecasts for specific locations in the United States using the National Weather Service API.

MCP Weather Server

This project is a weather server built using the MCP (Model Context Protocol) framework. It provides tools to fetch weather alerts and forecasts for specific locations in the United States using the National Weather Service (NWS) API.

Features

  • Get Weather Alerts: Retrieve active weather alerts for a specific US state.
  • Get Weather Forecast: Fetch detailed weather forecasts for a specific latitude and longitude.

Installation

  1. Clone the repository:
    git clone <repository-url>
    
  2. Navigate to the project directory:
    cd MCP Server/weather
    
  3. Install dependencies:
    pip install -r requirements.txt
    

Usage

Run the Server

Start the MCP weather server:

python weather.py

If the server and client are on the same machine, use the stdio transport:

uv run weather.py

Tools

1. Get Weather Alerts

Fetch active weather alerts for a US state using the get_alerts tool.

Arguments:

  • state: Two-letter US state code (e.g., CA for California, NY for New York).

Example:

{
  "tool": "get_alerts",
  "args": {
    "state": "CA"
  }
}
2. Get Weather Forecast

Fetch a detailed weather forecast for a specific location using the get_forecast tool.

Arguments:

  • latitude: Latitude of the location (e.g., 34.0522 for Los Angeles).
  • longitude: Longitude of the location (e.g., -118.2437 for Los Angeles).

Example:

{
  "tool": "get_forecast",
  "args": {
    "latitude": 34.0522,
    "longitude": -118.2437
  }
}

Automatic Invocation by LLM

These tools are designed to be automatically invoked by a Language Model (LLM) through the client whenever required. The client can seamlessly interact with the server to fetch weather alerts or forecasts based on user queries.

Contributing

Feel free to submit issues or pull requests to improve the project.

License

This project is licensed under the MIT License.