Skip to content

ChandekarDhruvin/claude-openweather-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌦️ Claude Weather Agent (MCP-Enabled)

This project enables Claude to interact with live weather data (current + forecast) using the OpenWeather API via an MCP (Multi-Command Protocol) server.

It includes:

  • FastMCP server using Python
  • Weather tools (get_weather and get_forecast)
  • Environment variable-based API security
  • Easy integration with claude_desktop_config.py

🚀 How to Run the MCP Server

  1. Clone this repo and navigate into it:
git clone https://github.com/ChandekarDhruvin/claude-openweather-mcp.git
cd claude-weather-agent/weather
  1. Install dependencies:
pip install -r requirements.txt
  1. Create a .env file in the same directory as weather.py:
OPENWEATHER_API_KEY=your_openweather_api_key
  1. Start the MCP server manually (for testing):
python weather.py

🧠 Tools Exposed to Claude

Tool Parameters Description
get_weather city: str, country: str = "IN" Returns current weather conditions.
get_forecast city: str, country: str = "IN" Provides a 5-day forecast (around noon).

🛠️ Claude Integration: claude_desktop_config.py

Add the following to your Claude config to auto-start the MCP server:

{
  "mcpServers": {
    "weather": {
      "command": "C:\\path\\to\\uv.exe",
      "args": [
        "--directory",
        "C:\\path\\to\\weather\\folder",
        "run",
        "C:\\path\\to\\weather\\weather.py"
      ]
    }
  }
}

📝 Note: You must adjust the path to match your local Python virtual environment and directory structure.


📂 Project Structure

weather/
├── weather.py            # Main FastMCP server with weather tools
├── .env                  # Contains the OpenWeather API key
├── requirements.txt      # Dependencies
└── README.md             # You're reading it!

🔒 Environment Variables

Using python-dotenv, we securely load the OpenWeather API key from a .env file.

from dotenv import load_dotenv
import os

load_dotenv()
OPENWEATHER_API_KEY = os.getenv("OPENWEATHER_API_KEY")

✅ Requirements

Add this in your requirements.txt:

httpx
python-dotenv
fastmcp

Screenshot 2025-04-14 145544

User: What's the weather like in Mumbai today?
Claude: 
Current weather in Mumbai, IN:
Condition: Clear (clear sky)
Temperature: 32°C (Feels like 35°C)
Humidity: 58%
Wind Speed: 3.5 m/s

Reference

https://modelcontextprotocol.io/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages