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

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.

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JeremyMorgan/Weather-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server