mcp-weather
by DaniBencz
README.md
# mcp-weather
A minimal MCP (Model Context Protocol) server exposing weather tools, backed by the free [Open-Meteo](https://open-meteo.com/) API. Built as a practice project for MCP + Claude Code.
## Tools
- `get_current_weather({ city })` — current temperature, windspeed, and conditions for a city.
- `get_forecast({ city, days? })` — daily max/min temperature and conditions for `days` days (1-7, default 3).
No API key is required.
## Setup
```bash
npm install
npm run build
```
## Test
Runs the unit tests for the pure formatting/mapping logic in `src/weatherFormat.ts`:
```bash
npm test
```
## Debug with MCP Inspector
Launches an interactive web UI to call tools directly, without Claude Code:
```bash
npm run inspector
```
## Use with Claude Code
This project's `.mcp.json` registers the server as `weather`, running `node dist/index.js` over stdio. Open this project in Claude Code (or restart it here), confirm `weather` shows as connected (`/mcp`), and ask a weather-related question — Claude Code will invoke the tools as needed.
## Project layout
- `src/weatherFormat.ts` — pure formatting/mapping logic (weather codes, day clamping, text formatting), unit tested.
- `src/openMeteo.ts` — thin `fetch` wrappers around Open-Meteo's geocoding and forecast APIs.
- `src/index.ts` — MCP server entrypoint: registers `get_current_weather` and `get_forecast`, connects over stdio.
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues