Weather MCP Server

Weather MCP Server

Enables AI assistants to retrieve current weather, forecasts, and summaries for any global location using the Open-Meteo API, with no API key required.

Category
Visit Server

README

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:

Using Docker Compose (Recommended)

  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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured