weather-mcp-server

weather-mcp-server

2

The Weather MCP Server is a Modern Code Protocol server designed to provide weather information utilizing the OpenWeatherMap API. It features real-time data retrieval and offers detailed weather information such as temperature, humidity, and wind speed. The server requires Python 3.12 or higher and an OpenWeatherMap API key.

Weather MCP Server

smithery badge

A Modern Code Protocol (MCP) server that provides weather information using the OpenWeatherMap API.

Features

  • Real-time weather data retrieval
  • Metric units for temperature
  • Detailed weather information including:
    • Temperature
    • Humidity
    • Wind Speed
    • Sunrise/Sunset times
    • Weather description

Prerequisites

  • Python 3.12 or higher
  • OpenWeatherMap API key

Installation

Installing via Smithery

To install Weather MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @CodeByWaqas/weather-mcp-server --client claude

Manual Installation

  1. Clone the repository
  2. Create a virtual environment:
python -m venv .venv
source .venv/bin/activate  # On Windows use: .venv\Scripts\activate
  1. Install dependencies:
pip install -e .

Setup Intructions

Setup with Claude Desktop

# claude_desktop_config.json
# Can find location through:
# Claude -> Settings -> Developer -> Edit Config
{
  "mcpServers": {
      "mcp-weather-project": {
          "command": "uv",
          "args": [
              "--directory",
              "/<absolute-path>/weather-mcp-server/src/resources",
              "run",
              "server.py"
          ],
          "env": {
            "WEATHER_API_KEY": "YOUR_API_KEY"
          }
      }
  }
}

Local/Dev Setup Instructions

Clone repo

git clone https://github.com/CodeByWaqas/weather-mcp-server

Install dependencies

Install MCP server dependencies:

cd weather-mcp-server

# Create virtual environment and activate it
uv venv

source .venv/bin/activate # MacOS/Linux
# OR
.venv/Scripts/activate # Windows

# Install dependencies
uv add "mcp[cli]" python-dotenv requests httpx

Configuration

  1. Copy src/resources/env.example to src/resources/.env
  2. Add your OpenWeatherMap API key to the .env file:
WEATHER_API_KEY=your_api_key_here

Usage

Run the Claude Desktop and use LLM to retrieve weather info

License

This project is licensed under the MIT License - see the LICENSE file for details.