GitHub - TimLukaHorstmann/mcp-weather: A Model Context Protocol (MCP) server that provides hourly and daily weather forecasts using the AccuWeather API. (original) (raw)

MCP Weather Server

npm version license node version issues weekly downloads

MCP Weather Server Logo Weather MCP server

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


Quick Start

You need an AccuWeather API key (free tier available).
Sign up here and create an app to get your key.

Export your API key as an environment variable:

export ACCUWEATHER_API_KEY=your_api_key_here

Then run the MCP Weather server directly with:

npx -y @timlukahorstmann/mcp-weather

Or, for HTTP/REST access via supergateway:

npx -y supergateway --stdio "npx -y @timlukahorstmann/mcp-weather"
--port 4004
--baseUrl http://127.0.0.1:4004
--ssePath /messages
--messagePath /message
--cors "*"
--env ACCUWEATHER_API_KEY="$ACCUWEATHER_API_KEY"


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):

{ "mcpServers": { "weather": { "command": "npx", "args": ["-y", "@timlukahorstmann/mcp-weather"], "env": { "ACCUWEATHER_API_KEY": "your_api_key_here" } } } }


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:

Available Tools

Hourly Weather Forecast

Daily Weather Forecast

Prerequisites

Setup

  1. Clone this repository:
    git clone https://github.com/TimLukaHorstmann/mcp-weather.git
    cd mcp-weather
  2. Install dependencies:
  3. Get an AccuWeather API key:
  4. Create a .env file with your API key:
ACCUWEATHER_API_KEY=your_api_key_here  
  1. Build the project:

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:
      {
      "mcpServers": {
      "weather": {
      "command": "npx",
      "args": ["-y", "@timlukahorstmann/mcp-weather"],
      "env": {
      "ACCUWEATHER_API_KEY": "your_api_key_here"
      }
      }
      }
      }
  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

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Future Enhancements

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

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

Changelog

0.4.0

0.3.0 and earlier

License

This project is licensed under the MIT License - see the LICENSE file for details.