Skip to main content
Glama
Philip-Walsh

Weather MCP Service

by Philip-Walsh

Weathernode

A production-ready weather service providing live weather data via REST API and MCP (Model Context Protocol) endpoints.

Features

  • Dual Protocol Support: REST API and MCP endpoints

  • Weather Data: Current weather and forecasts using WeatherAPI.com

  • Production Ready: Docker, Kubernetes, Helm charts

  • Security: Rate limiting, input validation, CORS

  • Monitoring: Health checks and metrics

  • TypeScript: Full type safety and modern development

Related MCP server: MCP Weather Server

Quick Start

Prerequisites

Installation

# Clone repository
git clone https://github.com/Philip-Walsh/weathernode.git
cd weathernode

# Install dependencies
npm install

# Set up environment
cp .env.example .env
# Add your WeatherAPI.com key to .env

# Start development server
npm run dev

Server runs on: http://localhost:3000

API Endpoints

REST API

# Current weather
GET /api/weather?city=London

# Weather forecast
GET /api/forecast?city=London&days=5

# Default location weather
GET /api/local

# Health check
GET /api/health

MCP Protocol

# List available tools
POST /mcp
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list",
  "params": {}
}

# Get weather data
POST /mcp
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": {"city": "London"}
  }
}

Development

npm run dev          # Development server with hot reload
npm run build        # Build for production
npm run start        # Start production server
npm test             # Run test suite
npm run lint         # Lint code

Deployment

Docker

# Build image
docker build -t weathernode .

# Run container
docker run -p 3000:3000 \
  -e WEATHER_API_KEY=your_key_here \
  weathernode

Kubernetes

# Create secret
kubectl create secret generic weather-api-key \
  --from-literal=api-key=your_weatherapi_key_here

# Deploy with Helm
helm install weather-service ./helm/weather-service \
  --set env.WEATHER_API_KEY=your_key_here

Documentation

Environment Variables

WEATHER_API_KEY=your_weatherapi_key_here  # Required
DEFAULT_LOCATION=London                   # Optional
TEMP_UNIT=C                              # Optional
PORT=3000                                # Optional
NODE_ENV=development                     # Optional

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time, historical, and forecasted weather data for any location worldwide using the Open-Meteo API. It includes specialized tools for agricultural growing conditions, weather alerts, and up to 16 days of forecasts across multiple transport modes.
    10 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time weather information and multi-day forecasts for global locations using city names, coordinates, or ZIP codes. It includes tools for current conditions, forecasting, and weather summaries designed for activity planning.
    7 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables to interact with comprehensive weather data through the MCP protocol, including current conditions, multi-day forecasts, hourly forecasts, and geocoding.
    7 npm
    MIT