Weather MCP Server
A simple MCP (Model Control Protocol) server that provides weather information using the National Weather Service API. This server exposes two tools:
get_alerts
: Get weather alerts for a US stateget_forecast
: Get weather forecast for a specific location
Prerequisites
- Python 3.10 or higher
uv
package manager (recommended) orpip
Installation
- Clone this repository:
git clone <your-repo-url>
cd simple_mcp_server
- Set up your Python environment:
Using uv
(recommended):
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create and activate virtual environment
uv venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
# Install dependencies
uv add "mcp[cli]" httpx
Or using pip
:
python -m venv .venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activate
pip install "mcp[cli]" httpx
Usage
- Run the server:
mcp dev main.py
-
Configure Claude for Desktop:
- Open your Claude for Desktop App configuration at
~/Library/Application Support/Claude/claude_desktop_config.json
- Add the following configuration:
{ "mcpServers": { "weather": { "command": "uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/simple_mcp_server", "run", "main.py" ] } } }
- Replace
/ABSOLUTE/PATH/TO/simple_mcp_server
with the actual path to your project directory - Save the file and restart Claude for Desktop
- Open your Claude for Desktop App configuration at
-
Test the server:
- Open Claude for Desktop
- Look for the hammer icon in the interface
- You should see two tools listed:
get_alerts
andget_forecast
- Try asking questions like:
- "What's the weather in NY?"
- "What are the active weather alerts in NY?"
Available Tools
get_alerts
Get weather alerts for a US state.
Parameters:
state
(str): Two-letter US state code (e.g., 'CA', 'NY')
get_forecast
Get weather forecast for a specific location.
Parameters:
latitude
(float): Latitude of the locationlongitude
(float): Longitude of the location
Troubleshooting
-
If the server isn't being picked up by Claude for Desktop:
- Make sure the configuration file path is correct
- Verify that the absolute path in the configuration is correct
- Ensure all dependencies are installed
- Try restarting Claude for Desktop
-
If you get weather API errors:
- Check your internet connection
- Verify that the coordinates or state codes are valid
- The National Weather Service API only works for US locations