Skip to content
Platform / Control

AI can run your space.
Not just watch it.

Control is the layer that lets AI act on the physical world. The camera that spots a spill can warn the nearest display and send someone to clean it. Every device, a camera, a display, a gate, an HVAC unit, a robot, is one object any model can drive, whether it's a frontier model in the cloud or a small one running offline at the edge.

A descriptor is built once for each device type, like a driver for each peripheral, and every customer gets it through the same SDK, API, and MCP. We seed and production-test the common ones; developers and device makers can publish their own. You don't learn the protocols; the descriptor handles them, so your code works the same across every device. If a device isn't covered yet, anyone can add it.

What You Get

Peripheral descriptors

Descriptors for cameras, displays, sensors, HVAC, gates, and more. We seed and production-test the common ones; developers and device makers publish the rest.

Typed descriptors

Every peripheral type has a TypeScript schema defining its actions, events, and properties. Full type safety.

Declarative control

Set desired state and the descriptor reconciles. The device reaches the target on its own.

Imperative control

Send actions and get responses. Print a receipt, open a gate, trigger an alert.

MCP integration

A descriptor already defines a peripheral's actions, events, and properties, which is exactly what an agent needs to call it. So every peripheral is an MCP tool. Agents discover devices and drive them through natural language.

Content management

Schedule and distribute media to display fleets. Playlists, targeting rules, and proof-of-play reporting.

Agents and MCP

Every peripheral is an MCP tool.

A descriptor defines a peripheral's actions, the events it emits, the desired properties you can set, and the reported properties it sends back. That is exactly the surface an agent needs to call a tool. So the descriptor is the MCP surface. Build it once, and the peripheral is available through the SDK, the API, and MCP at the same time. No extra wiring.

MCP runs on two planes. A local server runs on the device inside the edge runtime. It drives the attached peripherals with no cloud round-trip, so an agent acts in real time and keeps working offline. A cloud server is hosted for the tenant. A remote agent discovers and drives the whole fleet across every location. Use both together. The cloud orchestrates from anywhere, and the edge acts the instant it matters.

Control any device through one API.

You don't learn the protocol. Use a descriptor, or write one, yours or the maker's. You build the experience.