A Model Context Protocol (MCP) server that provides weather forecast data from the Government of Canada Weather API.
- Fetch weather forecasts for any location in Canada by providing latitude and longitude
- Easily integrates with Claude Desktop or any MCP-compatible client
- Python 3.13 or higher
- mise or another Python version manager (optional)
-
Clone this repository:
git clone https://github.com/seanlf/weather-mcp.git cd weather-mcp
-
Set up a virtual environment (optional but recommended):
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install the package and dependencies:
pip install -e .
Run the server directly:
python weather.py
To integrate with Claude Desktop:
- Edit your Claude Desktop configuration (typically at
~/Library/Application Support/Claude/claude_desktop_config.json
on macOS):
{
"mcpServers": {
"weather": {
"command": "/path/to/python",
"args": [
"/path/to/weather-mcp/weather.py"
]
}
}
}
- Restart Claude Desktop to apply changes
To use with other MCP hosts, configure the host to execute weather.py
using Python 3.13 or higher.
Gets a 5-day weather forecast for the specified location.
Parameters:
latitude
: Latitude of the locationlongitude
: Longitude of the location
Returns:
- A formatted string containing the 5-day forecast
Example usage in Claude:
Please get the weather forecast for Ottawa, Canada (45.4215, -75.6972)
pytest
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the terms of the license included in the repository.