# 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:** ```bash npm install ``` 3. **Build the server:** ```bash npm run build ``` ## Running the Server To start the server (for local development or direct use): ```bash npm start ``` Or, to run the built server directly: ```bash 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): ```json { "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