FireSight
БесплатноНе проверенFireSight – Early wildfire detection, worldwide. Fuses NASA FIRMS, NOAA GOES, and EUMETSAT satellites with double-AI-verified citizen reports on a live 3D globe
Описание
FireSight – Early wildfire detection, worldwide. Fuses NASA FIRMS, NOAA GOES, and EUMETSAT satellites with double-AI-verified citizen reports on a live 3D globe. Free, multilingual, and open source.
README
🔥 FireSight
Every spark in sight. 🛰️👁️
Early wildfire detection — worldwide, free, and often before the media.
🌍 Built for NextStep Hacks 2026 — theme: Earth Forward 🌱
Next.js React TypeScript Tailwind CSS MapLibre GL
🐤 The canary once sang in the coal mine. FireSight simply keeps its eyes on the fire — satellites, sensors and verified witnesses — so every ignition is seen the moment it starts.
⚠️ FireSight is an information service, not an official alert channel. In an emergency call 112 (Europe), 911 (North America), 193 (Brazil) or your local emergency number.
📑 Table of Contents
- 🌍 The Problem
- 💡 The Solution
- 📸 Demo
- ✨ Features
- 🏗️ Architecture
- 🧠 How It Works
- 🧰 Tech Stack
- 🔌 API, Open Data & MCP
- 🚀 Getting Started
- 📂 Project Structure
- 🏆 Why FireSight Wins (Judging Criteria)
- 🗺️ Roadmap
- 🤝 Contributing
- 📜 License & Citation
🌍 The Problem
Wildfires are getting bigger, faster and more frequent — and the first hours decide everything. Yet today:
| 😱 Reality | 💥 Impact |
|---|---|
| 🕐 Official alerts often arrive hours late | Families evacuate too late; first responders lose the "golden hour" |
| 📰 People learn about fires from the media | News breaks after the fire is already out of control |
| 🛰️ Satellite data exists, but is raw and scattered | NASA/NOAA/EUMETSAT feeds are hard to read, spread across portals |
| 🗣️ Witness reports drown in social noise | A tweet saying "fire near my village" never reaches the right people |
| 💸 Existing dashboards are paywalled or regional | Most of the world has no free, global, real-time picture |
The result: every wildfire season, communities are surprised by fires that satellites had already seen. 🔥
💡 The Solution
FireSight is a free, independent, near real-time world map of wildfire ignitions. It sees the spark the moment it starts — and tells everyone, in 4 languages, for free.
| 🧩 Piece | ✅ What FireSight does |
|---|---|
| 🛰️ Satellites | Fuses NASA FIRMS (VIIRS 375 m), NOAA GOES and EUMETSAT Meteosat MTG (10-minute refresh) into one live feed |
| 🧠 AI-verified witnesses | Citizen reports (Bluesky, press via GDELT, Telegram) are geoparsed and checked twice by independent AI models before being shown |
| ✈️ Live aircraft tracking | Follows water bombers & firefighting planes in real time via ADS-B |
| 📖 Fire memory | Every significant fire gets a permanent, citable archive page |
| 🔔 Alerts for anyone | "Alert me on this area" — free web-push notifications, no account needed |
| 🌐 Open by design | Free REST API, open data (CC BY 4.0), RSS, and an MCP server so AI agents can query fires directly |
One goal: surface fire starts as early as possible — often before the media. ⏱️
📸 Demo

🌍 Live 3D globe — every active ignition on Earth, updated every few minutes. 15 firefighting aircraft airborne. 116 active fires in Russia right now.

🕐 24-hour window over the Americas — 254 active fires in Brazil, tracked in real time.

🔎 Zoom into South America — clustered fire events, per-country live counters, one-tap area alerts.
✨ Features
🗺️ See everything, live
|
🧠 Trust what you see
|
🔔 Act on it
|
🌍 Built for everyone
|
🏗️ Architecture
flowchart TB
subgraph Space["🛰️ Eyes in the Sky"]
FIRMS["🔥 NASA FIRMS<br/>VIIRS 375 m"]
GOES["🌎 NOAA GOES"]
MTG["🌍 EUMETSAT<br/>Meteosat MTG · 10 min"]
end
subgraph People["🗣️ Eyes on the Ground"]
BSKY["🦋 Bluesky"]
GDELT["📰 Press via GDELT"]
TG["✈️ Telegram"]
USERS["🆘 User reports<br/>+ photos"]
end
subgraph Sky["✈️ Firefighting Fleet"]
ADSB["📡 ADS-B<br/>aircraft telemetry"]
end
subgraph Brain["🧠 FireSight Core — Next.js 16 App Router"]
INGEST["📥 Ingestion<br/>firms · goesdirect · mtg"]
CLUSTER["🧮 Event Clustering<br/>~4 km grid · 8-neighbour<br/>connected components"]
GEO["🗺️ Geoparsing<br/>gazetteer"]
TRIAGE["🤖 AI Triage ×2<br/>independent models<br/>budget-capped · cached 7 d"]
CONF["🚦 Confidence Engine<br/>possible → probable → corroborated"]
ARCHIVE["📖 Fire Archive<br/>permanent pages"]
PRECO["⏱️ Precocity Meter<br/>our lead time vs press"]
end
subgraph Store["💾 Data Layer"]
SUPA[("🐘 Supabase<br/>fire events · signals<br/>analytics · trends")]
BLOB[("☁️ Vercel Blob<br/>caches · verdicts")]
end
subgraph Out["🚪 Output — free for everyone"]
MAP["🗺️ Live Map<br/>FR · EN · ES · PT"]
API["🔌 REST API<br/>JSON · CSV · RSS"]
MCP["🤖 MCP Server<br/>Claude · ChatGPT · Cursor"]
PUSH["🔔 Web-Push Alerts"]
WIDGET["🧩 Embeddable Widget"]
OPEN["📦 Open Data<br/>CC BY 4.0"]
end
CRON["⏰ GitHub Actions<br/>cron every 5 min"] --> Brain
FIRMS & GOES & MTG --> INGEST
BSKY & GDELT & TG --> GEO
USERS --> TRIAGE
ADSB --> MAP
INGEST --> CLUSTER
GEO --> TRIAGE
TRIAGE --> CONF
CLUSTER --> CONF
CONF --> ARCHIVE
ARCHIVE --> PRECO
CLUSTER --> BLOB
TRIAGE --> BLOB
CONF --> SUPA
ARCHIVE --> SUPA
SUPA --> MAP & API & MCP & OPEN
BLOB --> MAP
CONF --> PUSH
MAP --> WIDGET
🚦 The confidence state machine — how a spark earns trust (click to expand)
stateDiagram-v2
[*] --> possible: 🛰️ single satellite detection
possible --> probable: 🛰️🛰️ multiple detections<br/>or high FRP confidence
probable --> corrobore: 🗣️ AI-verified witnesses<br/>within range
possible --> corrobore: 🗣️ strong corroborated signal
corrobore --> archived: 📖 significant event →<br/>permanent page + API + open data
probable --> archived: ⚡ above power thresholds
archived --> [*]: feeds observatory,<br/>daily reports & stats
🧠 How It Works
- 🛰️ Satellites spot the heat. Hotspots from NASA FIRMS, GOES and Meteosat MTG are clustered into fire events on a ~4 km grid (8-neighbour connected components). The first detection = proxy for ignition time.
- 🗣️ Humans confirm it. Public witness reports (Bluesky, press via GDELT, Telegram) are geoparsed against a gazetteer, then judged twice by independent AI models — is this a fire happening right now, and where exactly? (Goodbye, "The Globe and Mail" → Globe, Arizona traps. 😉)
- 🚦 Trust is earned. Events climb
possible→probable→corroborated. Significant events get a permanent archive page; aggregates feed the observatory, daily reports and the API. - ✈️ Help is tracked. Firefighting aircraft are identified from ADS-B (registration, ICAO type) and shown live.
- ⏱️ We measure ourselves. The precocity module compares our first detection against first press coverage — and publishes the lead time.
🧰 Tech Stack
| 🎨 Frontend | ⚙️ Backend & Data | 🛰️ Sources & AI | 🚧 DevOps & Quality |
|---|---|---|---|
| Next.js 16 (App Router) | Supabase (Postgres) | NASA FIRMS · VIIRS 375 m | GitHub Actions CI |
| React 19 | Vercel Blob (caches) | NOAA GOES · EUMETSAT MTG | Cron ingest every 5 min |
| TypeScript 5 (strict) | MCP server (mcp-handler) |
ADS-B aircraft telemetry | Blocking SEO guard (seo-guard.mjs) |
| Tailwind CSS 4 | Web-Push notifications | OpenAI double-triage | Lighthouse perf watch |
| MapLibre GL 5 | Zod-validated APIs | GDELT · Bluesky · Telegram | tsc --noEmit + build gate |
| h5wasm (HDF5 in WASM) | fflate compression | Gazetteer geoparsing | Zero-secret CI builds |
📈 By the numbers
| 📄 TS/TSX files | 🧮 Lines of code | 🛰️ Satellite sources | 🗣️ Witness channels | 🌐 Languages | ⏱️ Refresh | 🔌 API routes | 💰 Price |
|---|---|---|---|---|---|---|---|
| 124 | ~23 900 | 3 agencies · 5+ instruments | 3 | 4 | ~10 min | 15+ | $0, forever |
🔌 API, Open Data & MCP
Everything is free — no key, no account. Attribution required: "Source: FireSight" (CC BY 4.0).
| 🎁 What | 📦 Format | 💡 Good for |
|---|---|---|
| REST API — live fire clusters & verified witness signals | JSON | Apps, dashboards, research |
| Open data archive — every significant fire, continuously updated | CSV | Data science, journalism |
| RSS feed — latest significant fires | RSS | Newsrooms, alerts |
| MCP server (Model Context Protocol, Streamable HTTP) | MCP | Let Claude, ChatGPT, Cursor or any agent query fires directly |
| JS client — packages/firesight-fires | npm | Tiny, dependency-free wrapper |
🤖 MCP tools: active_fires · fire_archive_search · fire_details · wildfire_stats · firefighting_aircraft · earliness_cases — registry manifest in server.json.
🚀 Getting Started
# 1️⃣ Clone it
git clone https://github.com/theyapguard/FireSight.git
cd FireSight
# 2️⃣ One free key is enough for the live map
# Get yours: https://firms.modaps.eosdis.nasa.gov/api/map_key/
echo "FIRMS_MAP_KEY=your_key" > .env.local
# 3️⃣ Run it
npm install
npm run dev
🎉 Open http://localhost:3000 — the map is live.
💡 Archive, witness signals and aircraft need Supabase + a few provider keys — but every page degrades gracefully without them. Our CI builds and runs the full SEO guard with zero secrets.
🔧 Optional environment variables (click to expand)
| Variable | 🔓 Unlocks |
|---|---|
FIRMS_MAP_KEY |
🛰️ Live satellite map — the only required key |
OPENAI_API_KEY |
🤖 Double AI verification of witness reports |
NEXT_PUBLIC_SUPABASE_URL + SUPABASE_SERVICE_ROLE_KEY |
🗄️ Fire archive, witness signals, observatory |
BLOB_READ_WRITE_TOKEN |
☁️ Shared edge caches |
CRON_SECRET |
⏰ Protects the alert cron endpoint |
📂 Project Structure
FireSight/
├── 🛰️ src/lib/
│ ├── firms.ts · goesdirect.ts · mtg.ts # satellite ingestion
│ ├── cluster.ts # ~4 km event clustering
│ ├── social.ts · triage.ts · press.ts # witness reports + double AI verification
│ ├── firearchive.ts · observatory.ts # fire memory + aggregates
│ ├── precocity.ts # measured earliness vs press
│ └── aircraft.ts · perimeters.ts · firerisk.ts
├── 🗺️ src/components/FireMap.tsx # MapLibre GL live map
├── 🌐 src/app/[lang]/… # pages in FR · EN · ES · PT
├── 🔌 src/app/api/ # events · signals · mcp · report · …
├── 📦 src/app/opendata/ # open-data CSV
├── 🧰 packages/firesight-fires/ # dependency-free JS client
├── 🐘 supabase/ # SQL schemas
├── ⏰ .github/workflows/ # CI + cron ingestion
└── 🛡️ scripts/seo-guard.mjs # structural SEO contracts in CI
🏆 Why FireSight Wins (Judging Criteria)
| 🥇 Criterion | 🔥 How FireSight answers |
|---|---|
| Originality | Not another dashboard — a detection pipeline: multi-satellite fusion + double-AI-verified citizen signals + live firefighting aircraft + a permanent "fire memory". We even publish our measured lead time over the press. |
| Adherence to Track | 100% Earth Forward 🌱: earlier wildfire detection = faster response = saved forests, saved biodiversity, saved CO₂, saved lives. Free & global, so it helps the communities that need it most. |
| Completion | Fully working: live map, alerts, archive, observatory, API, open data, MCP server, embeddable widget, 4 languages — with CI enforcing quality on every push. |
| Learning | HDF5 satellite products parsed in WASM (h5wasm), connected-components clustering, ADS-B decoding, MCP protocol, web-push — a lot of new ground in one project. |
| Design | Clean, friendly, mobile-first UI (see Demo) with a full design system in handoff/. |
| Technology | 3 satellite constellations + 3 social sources + 2 AI judges + ADS-B + push + MCP — many hard pieces, one elegant pipeline. 🤯 |
🗺️ Roadmap
- 🛰️ Multi-satellite live detection (FIRMS + GOES + MTG)
- 🤖 Double-AI witness verification
- ✈️ Live firefighting aircraft tracking
- 🔔 Free area alerts (web-push)
- 📖 Permanent fire archive + observatory
- 🤖 MCP server for AI agents
- 📱 Native mobile app (PWA first)
- 🌫️ Smoke-drift forecasting
- 🏘️ Community verification network with local organizations
- 📡 DOI for the open dataset
🤝 Contributing
Ideas, data sources, bug reports — all welcome! 🙌
- 📥 Clone the repo:
git clone https://github.com/theyapguard/FireSight.git - 🌿 Create a branch:
git checkout -b feat/my-idea - 💾 Commit:
git commit -m "feat: my idea" - 🚀 Open a PR — CI (types + build + SEO guard) must pass ✅
📜 License
MIT — free to use, learn from, and build on.
🌱 Earth Forward — because the planet can't wait for the news. 🔥
Built with ❤️ for NextStep Hacks 2026
⭐ If FireSight sparked your interest, star the repo! ⭐
Установка FireSight
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/theyapguard/FireSightFAQ
FireSight MCP бесплатный?
Да, FireSight MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для FireSight?
Нет, FireSight работает без API-ключей и переменных окружения.
FireSight — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить FireSight в Claude Desktop, Claude Code или Cursor?
Открой FireSight на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
автор: lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
MCPHub
Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.
MCP Servers Rating and User Reviews
Website to rate MCP servers, write authentic user reviews, and [search engine for agent & mcp](http://www.deepnlp.org/search/agent)
mkinf
An Open Source registry of hosted MCP Servers to accelerate AI agent workflows.
Compare FireSight with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
