mcpField
W
Weather MCP Server

Weather MCP Server

Local
github.com/Jai-Keshav-SharmaMedia & Design0Updated 78w ago

About Weather MCP Server

Weather MCP Server provides weather alerts for US states using the National Weather Service API. It is intended for MCP clients and includes stdio and SSE transports, plus a separate LLM-powered CLI client with conversation memory.

Key features

  1. 01Retrieve alerts for a US state
  2. 02Use stdio or SSE transport
  3. 03Run in a Docker container
  4. 04Integrate with Claude Desktop and Cursor IDE
  5. 05LLM-powered CLI client with conversation memory

Use cases

  1. 01Check weather alerts for a US state
  2. 02Connect weather alerts to Claude Desktop or Cursor IDE
  3. 03Use the LLM-powered CLI with conversation memory

MCP support

Exposes a get_alerts tool that returns weather alerts for a specified US state. The server supports stdio and SSE transports.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"Creating-Weather-MCP-Server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"pull"
]
}
}
}
Run commanddocker run -i --rm pull

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
ocipull

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Weather MCP Server

A Model Context Protocol (MCP) server implementation that provides weather alerts for US states, built using the MCP Python SDK. This project demonstrates how to create an MCP server with tools, resources, and Docker integration.

MCP SDK Docker License

Features

  • Weather alerts for US states using the National Weather Service API
  • Support for both stdio and SSE (Server-Sent Events) transport
  • Docker containerization
  • Integration with Claude Desktop and Cursor IDE
  • LLM-powered CLI client using Groq
  • Built-in conversation memory support

Project Structure

Creating-MCP-server/
├── server/
│   ├── weather.py        # Main MCP server implementation
│   ├── client.py         # LLM-powered CLI client
│   └── weather.json      # Server configuration
├── mcpserver/
│   ├── Dockerfile        # Docker configuration
│   ├── requirements.txt  # Python dependencies
│   ├── client-stdio.py   # Standard I/O client example
│   ├── client-sse.py     # SSE client example
│   └── server.py         # Containerized server

Installation

Local Setup
  1. Clone the repository:
git clone <repository-url>
cd Creating-MCP-server
  1. Install dependencies:
pip install -r mcpserver/requirements.txt
Docker Setup

Pull the pre-built image:

docker pull ksharma9719/weather-mcp-server

Or build locally:

cd mcpserver
docker build -t weather-mcp-server .

Usage

Running the Server
Local Development
cd server
python weather.py
Using Docker
docker run -p 8000:8000 ksharma9719/weather-mcp-server
Client Examples
CLI Client with LLM Integration
cd server
python client.py
Standard I/O Client
cd mcpserver
python client-stdio.py
SSE Client
cd mcpserver
python client-sse.py

Available Tools

get_alerts

Get weather alerts for a US state.

Parameters:

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

Example:

result = await session.call_tool("get_alerts", arguments={"state": "CA"})

Integration with Claude Desktop

  1. Install the server in Claude Desktop:
mcp install weather.py
  1. Optional: Specify a custom name:
mcp install weather.py --name "Weather Alerts Server"

Development

Prerequisites
  • Python 3.11 or higher
  • uv package manager
  • Docker (optional)
Environment Variables

Create a .env file in the server directory:

GROQ_API_KEY=your_groq_api_key

Documentation

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Model Context Protocol team for the excellent SDK
  • National Weather Service for their public API
  • Groq for their LLM API

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.