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.pyTo integrate with Claude Desktop:
- Edit your Claude Desktop configuration (typically at
~/Library/Application Support/Claude/claude_desktop_config.jsonon 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)
pytestContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the terms of the license included in the repository.
