Skip to main content
Glama
JeremyMorgan

Weather MCP Server

by JeremyMorgan

Weather MCP Server

A Model Context Protocol (MCP) server that provides weather data using the Open-Meteo API. This server allows AI assistants to retrieve current weather conditions and forecasts for any location on Earth.

Features

  • Current Weather: Get real-time temperature, wind speed, humidity, and weather conditions

  • Weather Forecast: Retrieve hourly forecasts for up to 7 days

  • Weather Summary: Get a comprehensive summary including current conditions and daily min/max temperatures

  • Global Coverage: Works with any latitude/longitude coordinates worldwide

  • No API Key Required: Uses the free Open-Meteo API

Related MCP server: MCP Weather Server

Installation

  1. Clone or download this repository

  2. Install dependencies:

    npm install

Usage

Running the Server

Start the MCP server:

npm start

For development with auto-restart:

npm run dev

Using Docker

You can run this MCP server using Docker:

  1. Make sure you have Docker and Docker Compose installed

  2. Run the server:

    docker-compose up -d
  3. View logs:

    docker logs weather-mcp-server
  4. Stop the server:

    docker-compose down

Using Docker Directly

  1. Build the Docker image:

    docker build -t weather-mcp-server .
  2. Run the container:

    docker run -d --name weather-mcp-server weather-mcp-server

Using the Docker Hub Image

This server is also available on Docker Hub:

docker pull jeremymorgan/weather-mcp-server
docker run -d --name weather-mcp-server jeremymorgan/weather-mcp-server

Available Tools

The server provides three main tools:

1. get_current_weather

Get current weather data for a specific location.

Parameters:

  • latitude (number): Latitude of the location

  • longitude (number): Longitude of the location

Example:

{
  "name": "get_current_weather",
  "arguments": {
    "latitude": 52.52,
    "longitude": 13.41
  }
}

2. get_weather_forecast

Get hourly weather forecast for a specific location.

Parameters:

  • latitude (number): Latitude of the location

  • longitude (number): Longitude of the location

  • days (number, optional): Number of days to forecast (default: 7)

Example:

{
  "name": "get_weather_forecast",
  "arguments": {
    "latitude": 52.52,
    "longitude": 13.41,
    "days": 3
  }
}

3. get_weather_summary

Get a summary of current weather and today's forecast for a location.

Parameters:

  • latitude (number): Latitude of the location

  • longitude (number): Longitude of the location

Example:

{
  "name": "get_weather_summary",
  "arguments": {
    "latitude": 52.52,
    "longitude": 13.41
  }
}

API Reference

This server uses the Open-Meteo API, which provides:

  • Temperature: 2-meter temperature in Celsius

  • Wind Speed: 10-meter wind speed in km/h

  • Humidity: Relative humidity percentage

  • Weather Codes: WMO weather codes for conditions

Weather Codes

  • 0: Clear sky

  • 1-3: Partly cloudy

  • 45, 48: Foggy

  • 51-55: Drizzle

  • 61-65: Rain

  • 71-75: Snow

  • 95: Thunderstorm

Configuration

The server is configured to use the Open-Meteo API base URL: https://api.open-meteo.com/v1/forecast

No API key is required as Open-Meteo is a free service.

Error Handling

The server includes comprehensive error handling for:

  • Missing required parameters

  • Invalid API responses

  • Network connectivity issues

  • API rate limiting

Development

To modify the server:

  1. Edit server.js to add new tools or modify existing ones

  2. Update the tool schemas in the tools/list handler

  3. Test your changes with npm run dev

License

CC0 1.0 Universal - feel free to use and modify as needed.

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to fetch current weather conditions and forecasts for any city using the Open-Meteo API. Provides temperature, precipitation, and hourly forecast data through natural language queries.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides live weather data (current conditions, forecasts) and city geocoding through Open-Meteo API, enabling AI assistants to answer weather queries without an API key.
    MIT