Skip to main content
Glama

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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Provides live weather data and forecasts for any location worldwide through both REST API and MCP endpoints. Supports current weather, multi-day forecasts, and various location formats including city names, coordinates, ZIP codes, and airport codes.

  1. Features
    1. Quick Start
      1. Prerequisites
      2. Installation
    2. API Endpoints
      1. REST API
      2. MCP Protocol
    3. Development
      1. Deployment
        1. Docker
        2. Kubernetes
      2. Documentation
        1. Environment Variables
          1. License

            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