pulsegrid
Integrates NASA's EONET disaster feed (wildfires, storms, volcanic activity) into the planetary risk engine, contributing to the Instability Index and risk briefings.
Click on "Deploy 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., "@pulsegridwhat's the current global instability index and briefing?"
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.
🛰️ PulseGrid
Live planetary risk intelligence — space weather × earthquakes × wildfires fused into one deterministic, hash-sealed Instability Index with MCP agent tools.
✨ Features
🌍 Library-grade 3D globe (
react-globe.gl): live quake points + pulse rings, disaster markers, solar-storm arcs, auto-rotate that pauses when you grab it⚡ 3 live public feeds (zero API keys): USGS earthquakes, NOAA space weather, NASA EONET disasters — cached API routes + sealed offline fallbacks
🧮 Deterministic Instability Index 0–100 with itemized factors — the same function serves the UI, REST, and MCP
🤖 MCP JSON-RPC (
initialize/tools/list/tools/call) + live in-page console proving it with one click🔗 Hash-chained seals
SHA-384(prevSeal ‖ canonicalJson)verifiable by replay🌑 Dark-first glass design, live ticker, stats row, numbered narrative, custom scrollbar
Related MCP server: Earth Grounding MCP
🏗️ System architecture
flowchart LR
U[USGS quakes] --> Q["/api/quakes"]
N[NOAA SWPC] --> S["/api/space"]
E[NASA EONET] --> D["/api/disasters"]
Q --> G["computeRisk() engine"]
S --> G
D --> G
G --> UI["Next.js page + 3D globe"]
G --> R["/api/risk"]
G --> M["/api/mcp tools"]
classDef live fill:#22d3ee,color:#04060c
classDef engine fill:#a78bfa,color:#04060c
classDef agent fill:#34d399,color:#04060c
classDef ext fill:#fbbf24,color:#04060c
class U,N,E ext
class Q,S,D live
class G engine
class UI,R agent
class M agent🌊 Data-pipeline flow
Each feed is fetched server-side with timeout + normalization; any failure falls back to a sealed offline sample so the build, demo, and first paint never break.
flowchart TB
T[revalidate timer] --> F[fetch upstream]
F --> OK{HTTP 200 + valid?}
OK -->|yes| N[normalize + slice]
OK -->|no| B[offline fallback sample]
N --> E[FeedEnvelope + fetchedAt]
B --> E
E --> C[cached API response]
classDef live fill:#22d3ee,color:#04060c
classDef caution fill:#fbbf24,color:#04060c
classDef infra fill:#94a3b8,color:#04060c
class T,F,N,E live
class OK,B caution
class C infra🧮 Engine / algorithm flow
flowchart LR
M[max magnitude] --> P1[seismic energy 5-52]
C[swarm count M4.5+] --> P2[swarm 0-18]
K[Kp index] --> P3[geomagnetic 0-48]
W[wind + Bz] --> P4[coupling 0-18]
V[EONET categories] --> P5[disasters 0-30]
P1 --> SUM[clamp sum 0-100]
P2 --> SUM
P3 --> SUM
P4 --> SUM
P5 --> SUM
SUM --> LVL[Calm→Extreme + summary]
classDef engine fill:#a78bfa,color:#04060c
classDef live fill:#22d3ee,color:#04060c
classDef risk fill:#fb7185,color:#04060c
class M,C,K,W,V live
class P1,P2,P3,P4,P5 engine
class SUM,LVL risk🤖 Agent (MCP) sequence
sequenceDiagram
participant A as Agent
participant M as /api/mcp
participant E as computeRisk()
A->>M: initialize
M-->>A: capabilities + tools
A->>M: tools/list
M-->>A: get_live_risks, get_planetary_briefing, verify_seal
A->>M: tools/call get_planetary_briefing
M->>E: quakes + space + disasters
E-->>M: briefing + seal
M-->>A: JSON-RPC result🔗 Integrity / seal chain
flowchart TB
B[briefing body + prevSeal] --> J[canonicalJson sorted keys]
J --> H["SHA-384 prevSeal + json"]
H --> S[seal hex 96 chars]
S --> V{verify_seal replay?}
V -->|match| OK[trusted]
V -->|mismatch| BAD[tampered]
classDef agent fill:#34d399,color:#04060c
classDef engine fill:#a78bfa,color:#04060c
classDef risk fill:#fb7185,color:#04060c
class B,J,H engine
class S,V,OK agent
class BAD risk🚀 Deployment pipeline
flowchart LR
P[push to main] --> CI[GitHub Actions: lint + build]
CI --> V[vercel --prod]
V --> H["/api/health check"]
H --> F[feed checks count > 0]
F --> M[MCP tools/list + briefing seal]
M --> L[live alias verified]
classDef infra fill:#94a3b8,color:#04060c
classDef agent fill:#34d399,color:#04060c
classDef live fill:#22d3ee,color:#04060c
class P,CI,V infra
class H,F live
class M,L agent🧭 User-journey flow
flowchart TB
L[land on hero + score] --> T[read risk ticker]
T --> G[spin 3D globe]
G --> F[inspect factor cards]
F --> A[run MCP console]
A --> S[verify seal]
classDef live fill:#22d3ee,color:#04060c
classDef engine fill:#a78bfa,color:#04060c
classDef agent fill:#34d399,color:#04060c
class L,T,G live
class F engine
class A,S agent🚀 Quickstart
git clone https://github.com/aniruddhaadak80/pulsegrid.git
cd pulsegrid
npm install
npm run dev # zero env vars — open http://localhost:3000🔌 API
curl https://pulsegrid-theta.vercel.app/api/health
curl https://pulsegrid-theta.vercel.app/api/quakes
curl https://pulsegrid-theta.vercel.app/api/space
curl https://pulsegrid-theta.vercel.app/api/disasters
curl https://pulsegrid-theta.vercel.app/api/risk
curl -X POST https://pulsegrid-theta.vercel.app/api/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -X POST https://pulsegrid-theta.vercel.app/api/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_planetary_briefing","arguments":{}}}'Agent setup (mcp.json block — full manifest in public/mcp.json):
{
"mcpServers": {
"pulsegrid": { "url": "https://pulsegrid-theta.vercel.app/api/mcp", "transport": "json-rpc" }
}
}📁 Project map
Path | What |
| Server page: fetches feeds, computes risk, numbered sections |
|
|
| Client wrapper for the dynamic globe |
| Animated hero + one-click MCP proof |
| Deterministic Instability Index (UI = API = MCP) |
| Live fetchers, offline samples, types |
| SHA-384 chain + verify |
|
|
📡 Data feeds
USGS Earthquake Hazards Program —
earthquake.usgs.gov(GeoJSON, updated every minute)NOAA Space Weather Prediction Center —
services.swpc.noaa.gov(K-index, plasma, mag)NASA EONET v3 —
eonet.gsfc.nasa.gov(open wildfires, storms, volcanoes)
⚠️ Safety note: PulseGrid is an educational demo, not an official warning system. For real emergencies follow USGS / NOAA / local authorities.
🗺️ Roadmap
Now — live + sealed + agentic (this release: wow outcome = 10-second globe demo + one-click agent proof)
Next — alerts + history (wow outcome = subscribe to a place and get a sealed push briefing)
Later — grid impact model (wow outcome = per-grid-cell transformer/GPS risk overlay)
flowchart LR
A[live feeds] --> B[history store]
B --> C[alert subscriptions]
C --> D[grid impact overlay]
classDef live fill:#22d3ee,color:#04060c
classDef engine fill:#a78bfa,color:#04060c
classDef agent fill:#34d399,color:#04060c
class A live
class B,C engine
class D agentflowchart TB
H[hourly snapshots] --> T[trend charts]
T --> P[push briefings]
classDef engine fill:#a78bfa,color:#04060c
classDef agent fill:#34d399,color:#04060c
class H,T engine
class P agentflowchart LR
G[GPW grid cells] --> X[transformer risk]
X --> O[overlay on globe]
classDef risk fill:#fb7185,color:#04060c
classDef live fill:#22d3ee,color:#04060c
class G live
class X,O risk🤝 Contributing
See CONTRIBUTING.md. MIT licensed — see LICENSE. Security notes in SECURITY.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
Real-time planetary signal engine and Model Context Protocol (MCP) server for autonomous AI agents.
Paid intelligence tools for AI agents across risk, finance, property, logistics and more.
Verifiable Earth ground truth for AI agents: water, hazard, ground stability, resource, with proof.
Intelligence subscription protocol for AI agents. Scored, filtered AI intelligence signals via MCP.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceProvides 25 geophysical intelligence tools for multi-hazard risk scoring, earthquake/volcano/tsunami/sinkhole prediction, weather intelligence, insurance underwriting, climate migration, and parametric triggers.MIT- AlicenseBqualityCmaintenanceEnables AI agents to query verifiable physical-world ground truth for any point on Earth — water availability, seismic and space-weather hazard, ground stability, and resource indications — with every answer backed by a Bitcoin-anchored provenance record that can be independently verified. It also lets agents check whether an Earth-science hypothesis has already been tested, list documented nulls and retractions, and run bounded controlled tests that return UNTESTABLE rather than fabricate a result.11Academic Free v1.1
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query live space weather, aurora forecasts, earthquake feeds, and the Helios Oracle over HTTPS with no API keys.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query live earthquake and disaster event data, and to compute deterministic risk assessments with tamper-evident seals.MIT