This is a tutorial repo about MCP server and client
1 stars
Python
Updated Apr 7, 2025
Documentation
Weather MCP Server
This is a Model Context Protocol (MCP) server that provides weather information using the National Weather Service API.
Project Structure
code
weather/
├── mcp-server/ # MCP server implementation
│ └── weather.py # Main server code
├── pyproject.toml # Project configuration and dependencies
└── README.md # This fileFeatures
- Get weather alerts for US states
- Get detailed weather forecasts for specific locations
Prerequisites
- Python 3.12 or higher
uvpackage manager
Installation
1. Create and activate a virtual environment:
bash
uv venv
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows2. Install dependencies:
bash
uv pip install -e .Usage
Run the server:
bash
uv run weather-serverThe server exposes two tools:
1. get_alerts(state): Get weather alerts for a US state
- Example:
get_alerts("CA")for California alerts
2. get_forecast(latitude, longitude): Get weather forecast for a location
- Example:
get_forecast(38.5816, -121.4944)for Sacramento, CA
Configuration
To use this server with Claude for Desktop:
1. Open ~/Library/Application Support/Claude/claude_desktop_config.json
2. Add the following configuration:
json
{
"mcpServers": {
"weather": {
"command": "/Users/zhihaoouyang/.local/bin/uv",
"args": [
"--directory",
"/Users/zhihaoouyang/Desktop/code/weather",
"run",
"weather-server"
]
}
}
}3. Restart Claude for Desktop
Note
This server uses the National Weather Service API, which only provides data for locations within the United States.
Similar MCP
Based on tags & features
Trending MCP
Most active this week