Skip to main content
Glama
adrianR84

Weather-Open-Meteo-MCP

by adrianR84
README.md
# MCP Weather Server

A Model Context Protocol (MCP) server that provides hourly and daily weather forecasts using the Open-Meteo API.

## Acknowledgment

This project is a fork of the original [MCP Weather Server](https://github.com/TimLukaHorstmann/mcp-weather) by [Tim Luka Horstmann](https://github.com/TimLukaHorstmann). The original version used AccuWeather API, and this fork has been migrated to use Open-Meteo API to provide free weather data access without API keys.

## NPM Package

Available on npm as [weather-open-meteo-mcp](https://www.npmjs.com/package/weather-open-meteo-mcp).

---

## Quick Start

No API key required! Open-Meteo provides free access to weather data for non-commercial use.

Simply run the MCP Weather server directly with:

```bash
npx -y weather-open-meteo-mcp
```

Or, for HTTP/REST access via [supergateway](https://github.com/supercorp-ai/supergateway):

```bash
npx -y supergateway --stdio "npx -y weather-open-meteo-mcp" \
  --port 4004 \
  --baseUrl http://127.0.0.1:4004 \
  --ssePath /messages \
  --messagePath /message \
  --cors "*"
```

---

## MCP Server Config Example

For integration with Claude Desktop or other MCP-compatible clients, add this to your config (e.g. `claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "weather": {
      "command": "npx",
      "args": ["-y", "weather-open-meteo-mcp"]
    }
  }
}
```

---

## Overview

This MCP server allows large language models (like Claude) to access real-time weather data. When integrated with an LLM, it enables the model to:

- Fetch accurate, up-to-date weather forecasts
- Provide hourly weather data for the next 12 hours
- Access daily weather forecasts for up to 15 days
- Display data in both metric (°C) and imperial (°F) units
- View temperature, conditions, precipitation information, and other weather details

## Available Tools

### Hourly Weather Forecast

- Tool name: `weather-get_hourly`
- Provides hourly forecasts for the next 12 hours
- Parameters:
  - `location` (required): City or location name
  - `units` (optional): "metric" (Celsius, default) or "imperial" (Fahrenheit)

### Daily Weather Forecast

- Tool name: `weather-get_daily`
- Provides daily forecasts for up to 15 days
- Parameters:
  - `location` (required): City or location name
  - `days` (optional): Number of forecast days (1, 5, 10, or 15; default is 5)
  - `units` (optional): "metric" (Celsius, default) or "imperial" (Fahrenheit)

## Prerequisites

- Node.js ≥18
- pnpm (recommended) or npm

## Setup

1. **Clone this repository:**

   ```bash
   git clone https://github.com/adrianR84/Weather-Open-Meteo-MCP.git
   cd mcp-weather
   ```

2. **Install dependencies:**

   Using pnpm (recommended):

   ```bash
   pnpm install
   ```

   Or using npm:

   ```bash
   npm install
   ```

3. **Build the project:**
   ```bash
   npm run build
   ```

## Usage with Claude Desktop

1. Configure Claude Desktop to use this MCP server:
   - Open Claude Desktop
   - Go to Settings > Developer > Edit Config
   - Add the following to your `claude_desktop_config.json`:

   ```json
   {
     "mcpServers": {
       "weather": {
         "command": "npx",
         "args": ["-y", "weather-open-meteo-mcp"]
       }
     }
   }
   ```

2. Restart Claude Desktop

3. In a new conversation, enable the MCP server by clicking the plug icon and selecting "weather"

4. Now you can ask Claude for weather forecasts, such as:
   - "What's the hourly weather forecast for New York City?"
   - "Give me the 5-day forecast for London."
   - "What will the weather be like in Tokyo this week in Fahrenheit?"
   - "Will it rain in San Francisco tomorrow?"

## Development

- Install dev dependencies: `pnpm install`
- Lint your code: `pnpm run lint`
- Build: `pnpm run build`
- Run tests: `pnpm test`
- Start in dev mode: `pnpm run dev`

_(You can also use `npm` instead of `pnpm` if preferred)_

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request to [adrianR84/Weather-Open-Meteo-MCP](https://github.com/adrianR84/Weather-Open-Meteo-MCP).

## Future Enhancements

We're always looking to improve the MCP Weather Server. Here are some features we're considering for future releases:

- **Extended Hourly Forecasts:** Beyond 12 hours, e.g., 24 or 48 hours.
- **Weather Alerts:** Integration with severe weather alerts.
- **Location Autocomplete:** Enhanced location searching with autocomplete suggestions.
- **Historical Weather Data:** Access to past weather conditions.

If you have ideas for other features, feel free to open an issue!

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

TDQS

A3.9/5.0

Scored across 2 tools

Disambiguation5/5

The two tools are clearly separated by forecast granularity: one provides hourly data for the next 12 hours, the other provides daily data for up to 15 days. There is no meaningful overlap or ambiguity between them.

Naming Consistency5/5

Both tool names follow the same weather-get_{period} pattern, using the same verb and a consistent naming style. The only differences are the period suffixes, hourly and daily, making the pattern predictable and clear.

Tool Count3/5

Two tools is at the low end and feels thin for a weather server, though the pair does cover the two main forecast modes. The count is borderline rather than clearly insufficient.

Completeness3/5

The server covers hourly and daily forecasts, but lacks obvious weather-related capabilities such as current conditions, location search, or weather alerts. These are notable gaps that could force agents to work around the limited surface.

Maintenance

ActivityInactive
ResponsivenessNo issues