For agents

The perception layer, as an API.

Call the Digital Twin Earth over MCP or plain REST. Site intelligence, live hazards, buildings, traffic, place trends and street-level vision, every figure with disclosed provenance. No key, no card for the open endpoints.

Connect

Two ways in

MCP

A Model Context Protocol server over streamable HTTP, stateless. Point an MCP-speaking agent at the endpoint and the earth_* tools appear.

{
  "mcpServers": {
    "solyzer-earth": {
      "url": "https://api.solyzer.ai/mcp"
    }
  }
}

REST

Plain HTTP for agents and code that do not speak MCP. Same data, same contract.

curl "https://api.solyzer.ai/openbb/site-intel?\
  lat=-6.2088&lon=106.8456&radius=500"
The contract

Read this before the numbers

The layer is honest by design. These five rules hold on every response; an agent that respects them will not be misled.

confidence

Figures carry confidence: high | low | unknown. UNKNOWN means the source could not answer, never treat it as zero. low means measured but from thin data or a reported sampling cap.

caveats

Every brief and score ships a caveats[] array. Read it before the numbers; it states assumptions and sampling limits.

degraded

Responses with health.sourcesUsable < health.sourcesQueried are served uncached and incomplete by design. Retry later for a full read.

nulls

A null score means the system refused to invent a number. Do not impute.

licenses

Per-record license fields matter: ODbL-1.0 sources are share-alike; CDLA / CC0 / public-domain are permissive. Keep them separable downstream.

MCP tools

The earth_* tools

earth_site_intel

Explained site score for a point: signed contributions, per-feature confidence, caveats, evidence geometry, occupancy, traffic, buildings, street reads. score:null when too little is known.

earth_hazard_events

Live floods, cyclones, earthquakes, droughts, wildfires and volcanoes from GDACS (UN/EU, public domain), each with alert level and an extent bounding box (not a hazard outline).

earth_event_brief

Consequence analysis for one event: exposure, lifelines, condition, flow and observation joins, every figure with confidence, caveats first-class.

earth_event_changes

New, escalated, deescalated and resolved events, newest first, plus the change-history subsystem status.

earth_place_trends

Map churn between the two newest archived snapshots: places appeared/disappeared by id with named samples. Conflates real change with mapping activity, disclosed in-band.

REST endpoints

The full surface

MethodPathParamsReturns
GET/openbb/site-intelup to 60s coldlat, lon, radius(100-3000m), category?Explained, auditable site score with evidence geometry.
GET/openbb/site-scanbbox=w,s,e,n (<=0.05 deg), category?Ranked grid cells with per-cell confidence and nearest-road distance.
GET/openbb/events-Active GDACS events with extent bboxes, alert levels, provenance.
GET/openbb/event-briefup to 60s coldid (e.g. FL1102983)Exposure / lifelines / condition / observation for one event.
GET/openbb/event-changes-New / escalated / deescalated / resolved events, newest first.
GET/openbb/placesbbox=w,s,e,nOverture places (CDLA-permissive) in the box, sampled.
GET/openbb/infrastructurebbox=w,s,e,nCommunication + power structures (ODbL). Absence is unknown, not zero.
GET/openbb/traffic-tilesw,s,e,n (<=0.6 deg)Precomputed traffic-equilibrium fingerprints per street segment.
GET/openbb/place-trendsbbox=w,s,e,n (<=1 deg, ID archive)Month-over-month map churn, appeared/disappeared by id.
POST/openbb/rooftop-id{lat, lon, ring?}VLM read of a building's rooftop crop: {tag, description}.
POST/openbb/read-storefront{imageId, imageUrl}VLM read of a street photo's signage: {tag, description}.
GET/openbb/agent-tools-This machine-readable manifest: the live contract + tool list.

The authoritative, always-current list lives at https://api.solyzer.ai/openbb/agent-tools.

Perception your agents can audit.

Every call is explained, every caveat shipped, every refusal honest. Point an agent at the layer and give it a world it can trust.