MCP Hub
Back to servers

MCP Weather Free

A free weather MCP server that provides real-time conditions, 24-hour hourly forecasts, and 7-day summaries using the Open-Meteo API without requiring an API key.

Tools
2
Updated
Jul 3, 2025

MCP Weather Free

A Model Context Protocol (MCP) server that provides weather data using the free Open-Meteo API. No API key required!

Features

  • Current Weather: Get real-time weather conditions including temperature, humidity, wind speed, and weather descriptions
  • Hourly Forecast: 24-hour weather forecast with hourly updates
  • Daily Forecast: 7-day weather forecast with daily summaries
  • City Search: Look up weather by city name with automatic geocoding
  • Multiple Units: Support for different temperature (Celsius/Fahrenheit), wind speed (km/h, m/s, mph, knots), and precipitation (mm, inch) units

Installation

Using uvx (recommended)

uvx --from git+https://github.com/microagents/mcp-servers.git#subdirectory=mcp-weather-free mcp-weather-free

Using pip

pip install git+https://github.com/microagents/mcp-servers.git#subdirectory=mcp-weather-free

Configuration

Add the following to your MCP client configuration:

For Claude Desktop

Update your claude_desktop_config.json:

{
    "mcpServers": {
        "weather": {
            "command": "uvx",
            "args": ["--from", "git+https://github.com/microagents/mcp-servers.git#subdirectory=mcp-weather-free", "mcp-weather-free"]
        }
    }
}

For other MCP clients

{
    "mcpServers": {
        "weather": {
            "command": "python",
            "args": ["-m", "mcp_weather_free"]
        }
    }
}

Available Tools

get_weather

Get weather data for specific coordinates.

Parameters:

  • latitude (float, required): Latitude of the location
  • longitude (float, required): Longitude of the location
  • location_name (string, optional): Display name for the location
  • temperature_unit (string, optional): "celsius" (default) or "fahrenheit"
  • wind_speed_unit (string, optional): "kmh" (default), "ms", "mph", or "kn"
  • precipitation_unit (string, optional): "mm" (default) or "inch"

Example:

Get weather for latitude: 40.7128, longitude: -74.0060

get_weather_by_city

Get weather data by city name.

Parameters:

  • city (string, required): Name of the city
  • country_code (string, optional): 2-letter country code (e.g., "US", "GB")
  • temperature_unit (string, optional): "celsius" (default) or "fahrenheit"
  • wind_speed_unit (string, optional): "kmh" (default), "ms", "mph", or "kn"
  • precipitation_unit (string, optional): "mm" (default) or "inch"

Example:

Get weather for city: "New York"

Resources

The server also provides a resource endpoint:

  • weather://current/{latitude}/{longitude} - Get formatted current weather for a location

Response Format

Weather data includes:

  • Location information: coordinates, timezone, elevation
  • Current conditions: temperature, humidity, wind, weather description
  • Hourly forecast: Next 24 hours of weather data
  • Daily forecast: Next 7 days of weather summaries

License

This project is licensed under the MIT License.

Credits

Weather data provided by Open-Meteo - free weather API with no API key required.

Reviews

No reviews yet

Sign in to write a review