Spec v0.1 · Private preview

OpenSTP · The Spatio-Temporal ProtocolQuery space and time. 

An open spec and SDK for asking questions of space and time, across any sensor and any app.

route · reachable · visible_from · what_changed

Test scene, not a live feed
Footage: me mani, CC BY 4.0, not our flight
Simulated RTK camera positions

In one sentence

OpenSTP, the Spatio-Temporal Protocol, is an open specification and SDK that lets any sensor, app or AI agent ask questions of space and time, such as routes, distances, line of sight and what changed, and get exact answers in metres and seconds.

Status
OpenSTP v0.1 spec in private preview; not yet published. There is no public repository or package yet.
Last updated

The village above is only a test scene for the data model: Sogaon, Maharashtra, rebuilt from public drone footage (footage: me mani, CC BY 4.0, not our flight). STP itself is not tied to any one site, sensor or vendor.

The data model

A place, in layers any sensor can add to.

The scene holds the geometry. Tracks are one append-only log. Time is an argument, not a second system.

Place

scene · frame

A site in one local frame, in metres: east, north, up. It can be anchored to latitude and longitude.

Surfaces

ground · structures · openings

The ground, every structure with its footprint and height, and the doors, gaps and gates between them.

Graph

walkable

Where a person can stand and move, as nodes and edges with lengths. Routes and reach run over it.

Sensors

sensors

Fixed, body-worn and drone cameras, each with a position, a field of view and a range. What each can see is computed.

Tracks

observations

An append-only log of positions, entries, exits and sensor status, each with a time. Track IDs are pseudonymous, never names.

Time slices

at · since · until

Every tool takes the same time arguments. Now, as of a moment, and between two times are slices of one log, not separate systems.

Questions

tools

Typed calls with typed answers: units in every field name, the evidence used, and a confidence where it applies.

Calls and answers

Ask in typed calls. Get typed answers.

Every answer carries its tool, its time scope, the evidence it used, and units in every field name.

Route

How far is st-826 from st-248 on foot, and how long does it take?

Sogaon test scene · measured result

→ route { "from": "st-826", "to": "st-248" }
← {
  "tool": "route",
  "time": { "kind": "live", … },
  "reachable": true,
  "length_m": 256.1,
  "duration_s": 203.6,
  "steps": [ … ],
  "evidence": { … }
}

Line of sight, as of a moment

Could this camera see that door at nine this morning?

Shape of the answer · values elided

→ visible_from {
    "source": "cam-02",
    "target": "door-01",
    "at": "2026-01-15T09:00:00Z" }
← {
  "tool": "visible_from",
  "time": { "kind": "as_of", … },
  "target_visible": …,
  "target_distance_m": …,
  "occluded_by": …,
  "evidence": { … }
}

Change over a window

What changed on this site in the last hour?

Shape of the answer · values elided

→ what_changed { "since": "now-1h" }
← {
  "tool": "what_changed",
  "time": { "kind": "window", … },
  "changes": [ … ],
  "summary": { … },
  "evidence": { … }
}

Also in v0.1: scene_info · distance · reachable · exits · coverage · blind_spots

Built for agents

Agents call it over MCP.

Every STP tool is an MCP tool of the same name. Models choose and chain the calls; geometry computes the answers.

MCP
Over stdio for local clients, over HTTP for remote ones.
REST
The same tools and validation, described in OpenAPI.
CLI and Python
For scripts, pipelines and tests.
Traces
Each question and its calls can be recorded, for evaluation and audit.

A private reference implementation · not published yet

Who it is for

For anyone who has to ask a place a question

Integrators
One query layer over every sensor on a site, instead of one dashboard per vendor. Ask once; the answer names the sensors it used.
Drone and robotics makers
Hand over poses and a point cloud in one capture format, and any STP app can ask about the place your machine mapped.
Camera makers
Declare each camera's position, field of view and range once. Coverage and line of sight are then computed, not drawn by hand.
Researchers
Deterministic, typed answers: the same scene, log and arguments give the same result, and every question can be traced for evaluation.

Status · v0.1 spec in private preview

Ask a place a question.

Nothing is published yet: no repository, no package, no download.

Ask about the preview · ops@fourthechelon.in

Questions

Questions about OpenSTP

What is OpenSTP?

OpenSTP, the Spatio-Temporal Protocol, is an open specification and SDK that lets any sensor, app or AI agent ask questions of space and time, such as routes, distances, line of sight and what changed, and get exact answers in metres and seconds.

Is OpenSTP open source?

It is planned to be published as an open protocol, with a specification and a reference implementation. Today the v0.1 spec is in private preview. Nothing is published yet: there is no public repository, package or download.

What is in the STP data model?

A place in one metric frame; its surfaces (ground, structures and the openings between them); a walkable graph; sensors with their fields of view; and tracks, an append-only log of observations over time. Questions are typed tools over all of it, and every tool takes the same time arguments.

How do AI agents use OpenSTP?

As a set of tools over MCP, the Model Context Protocol. Each STP tool is an MCP tool of the same name. The model chooses and chains the calls; geometry code computes each answer and returns it in metres and seconds.

Why not let a language model look at the 3D scene directly?

Language models are weak at exact spatial reasoning from pixels or point clouds. Asking a typed tool for a route or a line of sight gives an answer that can be checked, with its units and the evidence it came from.

How do Overwatch and Chakra View relate to OpenSTP?

They are Fourth Echelon products built on it. Overwatch is for the inside of buildings, built from fixed cameras. Chakra View is for outdoor sites, built from drone footage and public map data. Both ask their questions through STP.

Is OpenSTP related to the Spanning Tree Protocol?

No. STP here stands for the Spatio-Temporal Protocol, a protocol for querying places over space and time. It has nothing to do with network switching.