weather-mcp

weather-mcp

0

The Weather MCP Server is a Model Context Protocol server that delivers weather alerts and forecasts using the National Weather Service API. It is designed to integrate with other MCP hosts like Claude for Desktop and supports retrieving weather data based on US state codes and geographic coordinates.

Weather MCP Server

A Model Context Protocol (MCP) server that provides weather alerts and forecasts for US locations using the National Weather Service API.

Features

  • get-alerts: Get active weather alerts for a US state (by two-letter code, e.g. CA, NY).
  • get-forecast: Get a weather forecast for a specific latitude and longitude.

Requirements

  • Node.js v16 or higher
  • npm (comes with Node.js)

Setup

  1. Clone or copy this repository to your machine.
  2. Install dependencies:
    npm install
    
  3. Build the server:
    npm run build
    

Running the Server

To start the server (for local development or direct use):

npm start

Or, to run the built server directly:

node build/index.js

MCP Integration (Claude for Desktop Example)

To use this server with Claude for Desktop or another MCP host, add the following to your claude_desktop_config.json (update the path as needed):

{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/weather-mcp/build/index.js"
      ]
    }
  }
}
  • Replace /ABSOLUTE/PATH/TO/weather-mcp/build/index.js with the absolute path to your built server file.
  • Save and restart your MCP host (e.g., Claude for Desktop).

Usage

Once connected, you can use the following tools:

get-alerts

  • Description: Get weather alerts for a US state.
  • Input: state (string, two-letter US state code, e.g. "CA")
  • Output: List of active alerts or a message if none are found.

get-forecast

  • Description: Get weather forecast for a location.
  • Input:
    • latitude (number, e.g. 37.7749)
    • longitude (number, e.g. -122.4194)
  • Output: Forecast for the next several periods.

Development

  • Edit src/index.ts to modify or extend the server.
  • Run npm run build after making changes.

License

MIT