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

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

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Philip-Walsh/weathernode'

If you have feedback or need assistance with the MCP directory API, please join our Discord server