Weather-Open-Meteo-MCP
# 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
Scored across 2 tools
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.
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.
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.
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.