weather-mcp-server

shtansky-bikeleasing/weather-mcp-server

3.1

If you are the rightful owner of weather-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Weather MCP Server provides weather information and system notifications, allowing MCP clients like Claude to fetch weather data and send notifications.

Weather MCP Server

A Model Context Protocol (MCP) server that provides weather information and system notifications. This server allows Claude (any other MCP client) to fetch current weather data for any city and send native system notifications (for MacOS only) with the weather information.

Features

  • Get Weather: Fetch current weather conditions for any city worldwide
  • Send Notifications: Display weather information as native system notifications
  • Human-readable: Formats weather data in pleasant, conversational language

Installation

Prerequisites

  • Node.js (version 16 or higher)
  • npm or yarn package manager

Setup

  1. Clone or download the project files

    git clone <your-repository-url>
    cd weather-mcp
    
  2. Install dependencies

    npm install
    
  3. Test the server

    npm start
    

Adding to Claude Desktop

To use this MCP server with Claude Desktop, you need to add it to Claude's configuration:

1. Locate Claude's Configuration File

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

2. Add the Weather MCP Server

Edit the configuration file and add your weather MCP server to the mcpServers section:

{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["/path/to/your/weather-mcp/index.js"],
      "env": {
        "OPENWEATHER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Important: Replace /path/to/your/weather-mcp/index.js with the actual absolute path to your project's index.js file.

3. Restart Claude Desktop

After updating the configuration file, restart Claude Desktop for the changes to take effect.

Usage

Once installed and configured, you can use the following commands with Claude:

Get Weather Information

"What's the weather in London?"
"Get the current weather for Tokyo"
"Tell me about the weather conditions in Paris"

Send Weather Notifications

"Get the weather for Berlin and send it as a notification"
"Send me weather notifications for New York, London, and Tokyo"
"Check the weather in Miami and notify me with pleasant text"

Available Functions

weather:get_weather

Fetches current weather conditions for a specified city.

Parameters:

  • city (string): Name of the city to get weather for

Returns:

  • Temperature (°C)
  • Weather condition
  • Humidity (%)
  • Wind speed (m/s)
  • Atmospheric pressure (hPa)

weather:send_notification

Displays a system notification with custom title and message.

Parameters:

  • title (string): Notification title
  • message (string): Notification message content

Troubleshooting

Common Issues

  1. "Command not found" error

    • Ensure Node.js is installed and in your PATH
    • Verify the path to index.js is correct in the configuration
  2. Weather data not loading

    • Check that your OpenWeatherMap API key is valid
    • Ensure the API key is properly set in the environment variables
  3. Claude not recognizing the MCP server

    • Restart Claude Desktop after configuration changes
    • Check the JSON syntax in claude_desktop_config.json
    • Verify file permissions on the MCP server files

Debug Mode

To run the server in debug mode with verbose logging:

DEBUG=* npm start

API Rate Limits

The free OpenWeatherMap API tier includes:

  • 1,000 calls per day
  • 60 calls per minute

For higher usage, consider upgrading to a paid plan.

License

This project is open source and available under the .

Support

For issues related to:


Happy weather checking! 🌤️