Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Weather MCP Servicewhat's the forecast for New York this weekend?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Node.js 18+
WeatherAPI.com API key (free tier: 1M calls/month)
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 devServer 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/healthMCP 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 codeDeployment
Docker
# Build image
docker build -t weathernode .
# Run container
docker run -p 3000:3000 \
-e WEATHER_API_KEY=your_key_here \
weathernodeKubernetes
# 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_hereDocumentation
API Reference - Complete API documentation
Deployment Guide - Production deployment
WeatherAPI Setup - Weather data source setup
Environment Variables
WEATHER_API_KEY=your_weatherapi_key_here # Required
DEFAULT_LOCATION=London # Optional
TEMP_UNIT=C # Optional
PORT=3000 # Optional
NODE_ENV=development # OptionalLicense
MIT