Rankintosh

wu-weather-mcp

Community Rankintosh
Updated

Weather Underground MCP

wu-weather-mcp

An MCP server that exposes any Weather Underground personal weather station (PWS) as tools in Claude. Ask Claude about current conditions, daily summaries, hourly history, and station metadata — all pulled live from your station.

Prerequisites

  • Node.js 18+
  • A Weather Underground account with a PWS
  • A Weather Underground API key (free)
  • Your station ID (visible in your WU dashboard, e.g. KCALAKEF92)

Setup

1. Clone and install

git clone https://github.com/your-username/wu-weather-mcp.git
cd wu-weather-mcp
npm install

2. Configure environment

cp .env.example .env

Edit .env:

WU_API_KEY=your_api_key_here
WU_STATION_ID=your_station_id_here
WU_STATION_NAME=My Weather Station   # optional — defaults to station ID

3. Build

npm run build

4. Test it

node build/index.js

The server starts on stdio and waits for MCP messages. Press Ctrl-C to exit.

Claude Desktop Integration

Add this to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "wu-weather": {
      "command": "node",
      "args": ["/absolute/path/to/wu-weather-mcp/build/index.js"]
    }
  }
}

Replace /absolute/path/to/wu-weather-mcp with the actual path where you cloned the repo.On macOS you can run pwd inside the cloned folder to get it.

Restart Claude Desktop after saving. Your weather tools will appear automatically.

Alternative: pass credentials via config instead of .env

{
  "mcpServers": {
    "wu-weather": {
      "command": "node",
      "args": ["/absolute/path/to/wu-weather-mcp/build/index.js"],
      "env": {
        "WU_API_KEY": "your_api_key_here",
        "WU_STATION_ID": "your_station_id_here",
        "WU_STATION_NAME": "My Weather Station"
      }
    }
  }
}

Available Tools

Tool Parameters Description
get_current_conditions Current temp, humidity, wind, pressure, UV, precip rate, dew point, solar radiation
get_daily_summary days (1–7, default 7) Daily high/low/avg temp, max wind gust, total precip
get_hourly_history hours (1–24, default 24) Hour-by-hour temp, humidity, wind, and precip
get_station_info Station name, ID, coordinates, elevation, neighborhood

Example prompts

  • "What's the weather like right now?"
  • "Show me the last 3 days of weather."
  • "What was the hourly breakdown yesterday afternoon?"
  • "What's the elevation of my weather station?"

Development

npm run dev      # watch mode — recompiles on save
npm run build    # one-off build

Source is in src/index.ts. Rebuild (npm run build) after any changes.

Publishing to npm

npm publish

Once published, users can run it without cloning:

{
  "mcpServers": {
    "wu-weather": {
      "command": "npx",
      "args": ["-y", "wu-weather-mcp"],
      "env": {
        "WU_API_KEY": "your_api_key_here",
        "WU_STATION_ID": "your_station_id_here"
      }
    }
  }
}

Note: Check npmjs.com first to confirm the package name wu-weather-mcp is available before publishing.

License

MIT

MCP Server · Populars

MCP Server · New