Skip to main content
Glama
Clement-Okolo

Weather MCP Server

🌦️ Weather MCP Server and Client

Welcome to the Weather Model Context Protocol (MCP) Project! This project provides real-time weather intelligence by integrating with external APIs like the National Weather Service (NWS). It is built using the FastMCP framework and supports both server and client interactions.

πŸš€ Features

  • Weather Alerts: Fetch weather alerts for any US state.

  • Weather Forecasts: Get detailed weather forecasts for specific locations.

  • Asynchronous Operations: Fully asynchronous for high performance.

  • Modular Design: Clean separation of server, client, and utility logic.

  • LLM Integration: Summarize weather data using a language model (DistilGPT-2).

Related MCP server: mcp-weather

πŸ“‚ Project Structure

  • server.py: The main server file that registers tools for fetching weather alerts and forecasts.

  • client.py: A command-line client to interact with the server.

  • app.py: A Streamlit-based web app for user-friendly interaction.

  • agent.py: An advanced client integrating a language model for summarizing weather data.

πŸ› οΈ Setup Instructions

  1. Clone the Repository:

    git clone <repository-url>
    cd mcp
  2. Install Dependencies: Ensure Python 3.8+ is installed, then run:

    pip install -r requirements.txt
  3. Run the Server: Start the FastMCP server:

    python server.py
  4. Interact with the Client: Use the command-line client or the Streamlit app to interact with the server.

πŸ–₯️ Usage

Command-Line Client

  1. List Available Tools:

    python client.py list_tools
  2. Fetch Alerts:

    python client.py get_alerts --state CA
  3. Fetch Forecasts:

    python client.py get_forecast --latitude 34.05 --longitude -118.25

Streamlit Web App

  1. Run the app:

    streamlit run app.py
  2. Use the sidebar to select actions like "List Tools," "Get Alerts," or "Get Forecast."

LLM Integration

  1. Summarize weather data using the language model:

    python agent.py interact_with_llm --llm_action get_alerts --state CA
    python agent.py interact_with_llm --llm_action get_forecast --latitude 34.05 --longitude -118.25

πŸŽ₯ Video Demonstration

Watch a quick demonstration of the Weather MCP Project in action:

[Weather MCP Demo]

🌐 External Dependencies

  • FastMCP: Framework for building MCP servers and clients.

  • httpx: For making asynchronous HTTP requests.

  • Streamlit: For building the web app.

  • Transformers: For integrating the DistilGPT-2 language model.

πŸ“‹ Notes

  • Ensure the server is running before using the client or web app.

  • Follow the asynchronous programming model to avoid blocking operations.

❀️ Acknowledgments

  • FastMCP for the server-client framework.

  • National Weather Service (NWS) for providing weather data.

  • Hugging Face Transformers for the DistilGPT-2 model.

🀝 Contributing

We welcome contributions to the Weather MCP Project! Here's how you can help:

  1. Report Bugs: If you encounter any issues, please open an issue on the GitHub repository.

  2. Suggest Features: Have an idea for a new feature? Let us know by creating a feature request.

  3. Submit Pull Requests: Fork the repository, make your changes, and submit a pull request for review.

  4. Improve Documentation: Help us enhance the documentation by fixing typos, adding examples, or clarifying instructions.

Contribution Guidelines

  • Follow the project's coding conventions and structure.

  • Ensure all new code is covered by tests.

  • Use clear and concise commit messages.

  • Test your changes thoroughly before submitting.

Enjoy exploring the weather with Weather MCP! 🌀️

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Provides real-time US weather alerts and forecasts by integrating with the National Weather Service API. It enables AI assistants to fetch state-specific alerts and detailed local forecasts using geographic coordinates.
    2
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time weather alerts and forecasts from the National Weather Service for US locations, integrating with AI assistants via the Model Control Protocol.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides weather forecasts and alerts for US locations via the National Weather Service API, enabling AI assistants to deliver real-time weather information.
    8 npm
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time weather data and alerts from the National Weather Service API, including forecasts for US locations and active alerts for US states.
    -