
Weather Alerts
β 1from shubhechhadey
Provides real-time weather alerts for US states using the National Weather Service API.
MCP Server Beginner example
Project Overview
It is a Python application that provides real-time weather alerts for US states using the National Weather Service (NWS) API. It leverages the mcp framework (with FastMCP) and is designed for modern async Python workflows. The project is fully managed with uv for dependency management and task running.
Features
- Weather Alerts Tool: Fetches and formats active weather alerts for any US state.
- Echo Resource: Simple echo endpoint for testing.
- Async & Modern: Uses Python 3.12+ and async/await patterns.
- MCP Inspector: Visual tool to inspect and test your MCP tools and resources.
Project Structure
.
βββ main.py # Simple entry point (prints a message)
βββ pyproject.toml # Project metadata and dependencies
βββ uv.lock # Locked dependencies for reproducible installs
βββ server/
β βββ weather.py # Main server logic and weather tool/resource
βββ .venv/ # (optional) Virtual environment
βββ .python-version # Python version pin (3.12)
βββ .gitignore # Standard Python ignores
βββ README.md # Project documentationNotes
- All commands use
uv
uv pip install -r uv.lockPrerequisites
- Python 3.12+
- uv (install with
pip install uvif not already installed)
Setup & Installation
-
Clone the repository:
Copy & paste β that's itgit clone <your-repo-url> cd mcpproject -
Install dependencies using uv:
Copy & paste β that's ituv pip install -r uv.lockOr, if you want to install from
pyproject.toml:Copy & paste β that's ituv pip install
Running the Project
1. Run the Main Script
To run the basic entry point:
uv run python main.py2. Develop & Test the Weather Tool
To start the MCP development server for the weather tool:
uv run mcp dev server/weather.pyThis will also open MCP Inspector in your browserβa visual tool to explore and test your MCP tools and resources interactively.
3. Install the Weather Tool
To install the weather tool for use as an MCP tool:
uv run mcp install server/weather.pyUsage Example
With the dev server running, you can use the MCP Inspector or an MCP-compatible client to call the get_alerts tool:
- Tool name:
get_alerts - Argument: Two-letter US state code (e.g.,
CA,NY)
Example (from CLI):
mcp call get_alerts --state=CAUsing with Claude Desktop
You can also use the weather alerts tool in Claude Desktop, as shown below:

Weather alerts for California displayed in Claude Desktop using the get_alerts tool.
Claude Desktop Configuration
To call this MCP server from Claude Desktop, you need to update your claude_desktop_config.json file to include the server
For example:
{
{
"mcpServers": {
"weather": {
"command": "C:\\Users\\shubhechhadey\\.local\\bin\\uv.EXE",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"C:\\Users\\shubhechhadey\\projects\\mcpproject\\server\\weather.py"
]
}
}
}
}Attached is the screenshot: 
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.