Weather Mcp Tool For Claude Desktop

Created bySaintDoreshSaintDoresh

An MCP (Model Context Protocol) tool that offers real-time weather data, forecasts, and historical weather information using the OpenWeatherMap API, specifically designed for Claude Desktop.

Overview

What is Weather-MCP-ClaudeDesktop?

Weather-MCP-ClaudeDesktop is a powerful tool designed to provide real-time weather data, forecasts, and historical weather information. Utilizing the OpenWeatherMap API, this application is specifically tailored for Claude Desktop users, ensuring a seamless experience for those seeking accurate and timely weather updates.

Features of Weather-MCP-ClaudeDesktop

  • Real-Time Weather Data: Access current weather conditions for any location worldwide.
  • Forecasting: Get detailed weather forecasts for the upcoming days, helping users plan their activities accordingly.
  • Historical Weather Information: Retrieve past weather data to analyze trends and patterns over time.
  • User-Friendly Interface: Designed with a focus on usability, making it easy for users to navigate and find the information they need.
  • OpenWeatherMap API Integration: Leverages the robust capabilities of the OpenWeatherMap API for reliable data sourcing.

How to Use Weather-MCP-ClaudeDesktop

  1. Installation: Download and install the Weather-MCP-ClaudeDesktop application from the official repository.
  2. API Key Setup: Obtain an API key from OpenWeatherMap and input it into the application settings to enable data retrieval.
  3. Select Location: Enter the desired location for which you want to view weather data.
  4. View Data: Access real-time weather updates, forecasts, and historical data through the intuitive interface.
  5. Customize Settings: Adjust settings to tailor the application to your preferences, such as units of measurement and notification settings.

Frequently Asked Questions

What platforms does Weather-MCP-ClaudeDesktop support?

Weather-MCP-ClaudeDesktop is designed for Claude Desktop, ensuring compatibility with its operating system.

Is there a cost associated with using Weather-MCP-ClaudeDesktop?

The application is free to use, but users must sign up for an API key from OpenWeatherMap, which may have usage limits based on the chosen plan.

Can I contribute to the development of Weather-MCP-ClaudeDesktop?

Yes! Contributions are welcome. You can fork the repository, make your changes, and submit a pull request for review.

How often is the weather data updated?

Weather data is updated in real-time, depending on the frequency set by the OpenWeatherMap API, typically every few minutes.

What should I do if I encounter issues with the application?

If you experience any issues, please check the repository's issue tracker for solutions or report a new issue for assistance.

Details

Weather MCP Tool for Claude Desktop

An MCP (Model Context Protocol) tool that provides real-time weather data, forecasts, and historical weather information using the OpenWeatherMap API, specifically designed for Claude Desktop.

Tutorial

For a detailed guide on setting up and using this tool, check out our comprehensive Medium tutorial: Tutorial: Using Claude Desktop with Weather MCP Tool to Access Real-Time Weather Data Worldwide

Features

  • Real-time weather conditions for any location
  • Weather forecasts (up to 5 days)
  • Historical weather data (last 5 days)
  • Air quality information
  • Weather alerts and warnings
  • Location search functionality

Setup

  1. Ensure you have Python 3.10 or higher installed

  2. Install dependencies:

pip install -r requirements.txt
  1. Get an API key from OpenWeatherMap (free tier available)

    • Note: New API keys may take up to 24 hours to activate
  2. Set up environment variables for API key (recommended method):

    • Create a .env file in the project directory
    • Add your API key to the file:
    OPENWEATHER_API_KEY=your_openweathermap_api_key
    
    • Add .env to your .gitignore file to prevent committing sensitive data
  3. Update main.py to use the environment variable:

    # Add these imports at the top
    import os
    from dotenv import load_dotenv
    
    # Load environment variables
    load_dotenv()
    
    # Replace the API_KEY line with
    API_KEY = os.getenv("OPENWEATHER_API_KEY")
    

Integration with Claude Desktop

  1. Configure your MCP settings in Claude Desktop by adding the following to your MCP configuration:
{
  "mcpServers": {
    "weather-mcp": {
      "command": "py",
      "args": ["-3.13", "C:\\Path\\To\\Your\\Weather-MCP-ClaudeDesktop\\main.py"]
    }
  }
}
  1. Replace the path with the full path to your main.py file
  2. Run the server using:
py -3.13 main.py
  1. Keep the server running while using Claude Desktop

Available Tools

1. get_current_weather

Get real-time weather conditions for a location:

{
    "location": {
        "name": "New York",
        "country": "US",
        "lat": 40.7128,
        "lon": -74.006
    },
    "temperature": {
        "current": 25.6,
        "feels_like": 26.2,
        "min": 23.4,
        "max": 27.8
    },
    "weather_condition": {
        "main": "Clear",
        "description": "clear sky",
        "icon": "01d"
    },
    "wind": {
        "speed": 3.6,
        "deg": 220
    },
    "clouds": 5,
    "humidity": 65,
    "pressure": 1015,
    "visibility": 10000,
    "sunrise": "2025-03-16T06:12:34",
    "sunset": "2025-03-16T18:04:23",
    "timestamp": "2025-03-16T14:30:00"
}

2. get_weather_forecast

Get weather forecast for a location:

{
    "location": {
        "name": "London",
        "country": "GB",
        "lat": 51.5074,
        "lon": -0.1278
    },
    "forecast": [
        {
            "datetime": "2025-03-16T15:00:00",
            "temperature": {
                "temp": 18.2,
                "feels_like": 17.8,
                "min": 17.5,
                "max": 19.1
            },
            "weather_condition": {
                "main": "Rain",
                "description": "light rain",
                "icon": "10d"
            },
            "wind": {
                "speed": 4.2,
                "deg": 180
            },
            "clouds": 75,
            "humidity": 82,
            "pressure": 1010,
            "visibility": 8000,
            "pop": 0.4
        }
        // ... more forecast items
    ],
    "days": 5
}

3. get_air_quality

Get air quality data for a location:

{
    "location": {
        "name": "Beijing",
        "country": "CN",
        "lat": 39.9042,
        "lon": 116.4074
    },
    "air_quality_index": 3,
    "air_quality_level": "Moderate",
    "components": {
        "co": 250.34,
        "no": 0.5,
        "no2": 15.2,
        "o3": 140.8,
        "so2": 5.1,
        "pm2_5": 8.2,
        "pm10": 12.3,
        "nh3": 0.7
    },
    "timestamp": "2025-03-16T14:30:00"
}

4. get_historical_weather

Get historical weather data for a specific date:

{
    "location": {
        "name": "Paris",
        "country": "FR",
        "lat": 48.8566,
        "lon": 2.3522
    },
    "date": "2025-03-14",
    "temperature": {
        "temp": 20.3,
        "feels_like": 19.8
    },
    "weather_condition": {
        "main": "Clouds",
        "description": "scattered clouds",
        "icon": "03d"
    },
    "wind": {
        "speed": 2.8,
        "deg": 150
    },
    "clouds": 45,
    "humidity": 60,
    "pressure": 1012,
    "visibility": 10000,
    "sunrise": "2025-03-14T06:30:45",
    "sunset": "2025-03-14T18:15:22",
    "timestamp": "2025-03-14T12:00:00"
}

5. search_location

Search for locations by name:

{
    "results": [
        {
            "name": "Tokyo",
            "state": "",
            "country": "JP",
            "lat": 35.6762,
            "lon": 139.6503
        },
        {
            "name": "Tokyo",
            "state": "Tokyo",
            "country": "JP",
            "lat": 35.6895,
            "lon": 139.6917
        }
        // ... more results
    ]
}

6. get_weather_alerts

Get weather alerts for a location:

{
    "location": {
        "name": "Miami",
        "country": "US",
        "lat": 25.7617,
        "lon": -80.1918
    },
    "alerts": [
        {
            "sender": "NWS Miami",
            "event": "Heat Advisory",
            "start": "2025-03-16T12:00:00",
            "end": "2025-03-16T20:00:00",
            "description": "Heat index values between 105 and 110 expected",
            "tags": ["Extreme temperature value"]
        }
        // ... more alerts if any
    ],
    "alert_count": 1
}

Sample Queries

You can ask Claude Desktop questions like:

  • "What's the current weather in New York?"
  • "Show me the 5-day forecast for London"
  • "What's the air quality like in Beijing today?"
  • "How was the weather in Paris on March 14th?"
  • "Search for locations named 'Tokyo'"
  • "Are there any weather alerts for Miami?"
  • "Compare the current weather in Chicago, Miami, and Seattle"
  • "Show me a comparison of air quality in Beijing, Los Angeles, and Delhi"

Error Handling

All tools include proper error handling and will return an error message if something goes wrong:

{
    "error": "Failed to fetch current weather for InvalidLocation: Location not found"
}

Troubleshooting

If the MCP server is not working in Claude Desktop:

  1. Make sure the server is running - you should see output when you start the script
  2. Verify the path in your settings is correct and absolute
  3. Make sure Python 3.10+ is in your system PATH
  4. Check that all dependencies are installed
  5. Try restarting Claude Desktop
  6. Check logs for any error messages

Common API Issues

  • API Key Activation: New OpenWeatherMap API keys may take up to 24 hours to activate
  • Invalid API Key Error: If you get a 401 error, verify your API key is correct and active
  • Rate Limiting: Free tier allows up to 60 calls per minute, which might be exceeded during heavy usage

Rate Limits

This tool uses the OpenWeatherMap API which has rate limits. The free tier allows up to 60 calls per minute, which should be sufficient for personal use. Please be aware that very frequent requests may be throttled by the API.

License

MIT License

Server Config

{
  "mcpServers": {
    "weather-mcp-claude-desktop": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/metorial/mcp-container--saintdoresh--weather-mcp-claudedesktop--weather-mcp-claude-desktop",
        "python main.py"
      ],
      "env": {
        "OPENWEATHER_API_KEY": "openweather-api-key"
      }
    }
  }
}

Project Info

Author
SaintDoresh
Category
Other
Created At
Sept 9, 2025
Star
8
Language
Python
Tags
-

Weather Mcp Tool For... Alternative

For some alternatives to Weather Mcp Tool For... that you may need, we provide you with sites divided by category.

MCP server for Chroma

Tavily Mcp

View More >>