Skip to main content
Glama
0xConsole

Thermal Sentinel MCP Server

by 0xConsole

๐ŸŒก๏ธ Thermal Sentinel

Heat-risk monitoring agent powered by the FortyGuard Temperature API. Detects heat waves and temperature anomalies, generates alerts with urban-planning recommendations, and exposes an MCP tool interface. Built for the FortyGuard Hackathon'26 (Agentic AI track).

Live demo: https://thermal-sentinel-agent.vercel.app ยท GitHub: 0xConsole/thermal-sentinel-agent

What It Does

Thermal Sentinel is an AI agent that:

  1. Queries the FortyGuard Temperature API for real-time urban temperature data

  2. Detects heat waves and anomalies using Sentinel-style multi-signal anomaly detection (WHO heat bands + z-score + sustained-heat + rate-of-change)

  3. Generates heat-risk alerts with actionable urban-planning recommendations

  4. Exposes 11 tools via the MCP (Model Context Protocol) โ€” any AI agent can call them

  5. Displays a live dashboard with city grid, alerts, charts, and one-click demo

Related MCP server: Weather MCP Server

Quick Start

# Clone
git clone https://github.com/0xConsole/thermal-sentinel-agent.git
cd thermal-sentinel-agent

# Install deps
pip install -r requirements.txt

# Run locally (no API key needed โ€” mock data works out of the box)
uvicorn app.main:app --reload --port 8000

# Open dashboard
open http://localhost:8000

With Real FortyGuard API

export FORTYGUARD_API_KEY="your-api-key"
export FORTYGUARD_API_BASE="https://api.fortyguard.com"  # default
uvicorn app.main:app --reload --port 8000

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    Dashboard UI (static)                 โ”‚
โ”‚              REST API  +  MCP Tool Interface              โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                     FastAPI (app/main.py)                โ”‚
โ”‚         /api/* routes  +  /mcp/tools  /mcp/call          โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                    Agent (app/agent.py)                   โ”‚
โ”‚     scan_cities โ†’ monitor_city โ†’ heat_risk_report        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ FortyGuard   โ”‚  Anomaly Detector โ”‚     Store (SQLite)    โ”‚
โ”‚  Client      โ”‚  (Sentinel-style) โ”‚   /tmp persistence    โ”‚
โ”‚ Real or mock โ”‚  4 signals + score โ”‚  readings + alerts   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

MCP Tools (11)

Tool

Endpoint

Description

scan_cities

POST /mcp/call

Scan multiple cities for heat risk

get_temperature

POST /mcp/call

Current temperature for a city

get_temperature_history

POST /mcp/call

Hourly temperature history

detect_heat_anomaly

POST /mcp/call

Run anomaly detection

monitor_city

POST /mcp/call

Deep single-city monitoring

get_heat_risk_report

POST /mcp/call

Consolidated risk report

get_alerts

POST /mcp/call

Active alerts from log

acknowledge_alert

POST /mcp/call

Dismiss an alert

list_monitored_cities

POST /mcp/call

List monitorable cities

get_monitoring_stats

POST /mcp/call

Monitoring statistics

run_demo

POST /mcp/call

One-click demo scan

List tools: GET /mcp/tools Call tool: POST /mcp/call with {"name": "scan_cities", "arguments": {"cities": ["Dubai", "Phoenix"]}}

REST API

Method

Path

Description

GET

/

Dashboard UI

GET

/health

Health check (shows live/mock mode)

POST

/api/scan

Scan cities

GET

/api/temperature/{city}

Current temperature

GET

/api/history/{city}?hours=24

Temperature history

GET

/api/monitor/{city}?hours=24

Deep city monitoring

GET

/api/report?city=...

Heat-risk report

GET

/api/alerts?city=...&limit=50

Active alerts

POST

/api/alerts/{id}/ack

Acknowledge alert

GET

/api/stats

Monitoring stats

GET

/api/cities

List cities

POST

/api/demo

One-click demo

Anomaly Detection

Multi-signal, composite 0-100 risk score:

Signal

Max Points

Catches

WHO heat-risk band

40

Absolute heat level

Z-score (vs 24h baseline)

25

Statistical outlier

Sustained heat-wave (consecutive โ‰ฅ38ยฐC)

20

Heat wave declaration

Rate-of-change (โ‰ฅ5ยฐC/hr)

15

Rapid shifts

Severity: info โ†’ low โ†’ medium โ†’ high โ†’ critical

Project Structure

thermal-sentinel-agent/
โ”œโ”€โ”€ api/
โ”‚   โ””โ”€โ”€ index.py              # Vercel entry
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ main.py               # FastAPI app + routes
โ”‚   โ”œโ”€โ”€ fortyguard_client.py  # API client + mock transport
โ”‚   โ”œโ”€โ”€ anomaly_detector.py   # Sentinel-style detection
โ”‚   โ”œโ”€โ”€ agent.py              # Orchestration
โ”‚   โ”œโ”€โ”€ mcp_server.py         # MCP tool registry
โ”‚   โ””โ”€โ”€ store.py              # SQLite persistence
โ”œโ”€โ”€ static/
โ”‚   โ””โ”€โ”€ index.html            # Dashboard UI
โ”œโ”€โ”€ CONCEPT.md
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ vercel.json
โ”œโ”€โ”€ requirements.txt
โ””โ”€โ”€ .gitignore

What's Real vs Mocked

  • โœ… Real: FortyGuard API integration (when FORTYGUARD_API_KEY set), anomaly detection engine, MCP tool protocol, alert generation, dashboard UI, Vercel deployment

  • ๐Ÿ”ถ Mock (fallback): When no API key, temperature data is generated from per-city climate baselines with realistic diurnal variation and anomaly injection โ€” for zero-credential demos

Deploy

# Vercel (auto-creates project on first deploy)
vercel --prod --yes --token "$VERCEL_TOKEN"

# Or set env var on Vercel
vercel env add FORTYGUARD_API_KEY production

License

MIT

Built For

FortyGuard Hackathon'26 โ€” Agentic AI track

  • Prize: $6K + NVIDIA Jetson

  • Judging: Impact (40%), Technical Execution (35%), Innovation (15%), Communication (10%)

  • See CONCEPT.md for full concept and judging-criteria alignment

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    Exposes public weather and climate data through a standardized API, allowing AI agents to retrieve current conditions, 7-day forecasts, and historical data. It enables weather-aware automation and data enrichment for conversational agents and travel planning.
  • A
    license
    -
    quality
    D
    maintenance
    Global weather intelligence for AI assistants providing 10 weather tools โ€” forecasts, historical data, air quality, marine, geocoding, elevation, and climate projections at 1km resolution with 80+ years of archive.
    1
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Provides AI agents with access to CO2 emissions data, climate projections, and risk assessments for heat, flooding, and drought, supporting ESG analysis and CSRD compliance.
    MIT

View all related MCP servers

Related MCP Connectors

  • US weather & geo for AI agents: forecasts, alerts, earthquakes, elevation, geocoding. No keys.

  • US weather, alerts, earthquakes and elevation for AI agents, from NWS/NOAA and USGS. No API keys.

  • Pay-per-use weather, environment, finance, and on-chain intelligence tools for AI agents via x402.

View all MCP Connectors

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/0xConsole/thermal-sentinel-agent'

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