LAB DOCUMENT EL-01REV A · 2026THE API FOR DEVICES WITHOUT APIS

AI agents
go physical.

Elvi is a general-purpose robotic interface that lets AI agents learn and operate unfamiliar physical devices.

SDK · GOALS + STEPSTYPESCRIPT
01const device = await elvi.connect()0203// drive it step by step04await device.when("controller offline")   // the alert05await device.run("turn it off and on again")0607// or just give it the goal08await device.learn("keep it online")09await device.run()   // finds the fault, fixes it1011elvi.mcp.add(device.skill())  // your agent learns too
FIG. 01 · OPERATING PRINCIPLE · CLOSED LOOP

How it works

01

SEE

The overhead camera watches the device panel or a touchscreen like a human operator sitting in front of it.

02

UNDERSTAND

A vision model reads the unfamiliar interface: text, icons, physical controls, without requiring any native APIs.

03

ACT

Elvi defines universal primitives: tap, swipe, type, press. Called from the SDK, executed on the physical interface itself.

04

VERIFY + LEARN

The camera confirms the new state. The workflow can be saved as a semantic skill for the agent to learn it and repeat.

FIG. 02 · FIELD APPLICATIONS

Use cases

Phones, kiosks, terminals, physical buttons: if a person can use it, Elvi can operate it.

AN-01
YOUR PHONE · ON YOUR DESK

Agent hands on a real phone

Give an agent hands on a real phone: banking, messengers, anything that exists only behind a touchscreen on your desk.

AN-02

QA on real devices

Test the actual app on the actual device: push notifications, camera flows, flaky animations. The things emulators lie about.

AN-03

RPA where software can’t reach

Automate what has no API at all: no jailbreak, no USB debugging, no cooperation from the vendor, no integration to wait for.

AN-04

Beyond phones: kiosks & POS

Kiosks, POS terminals, payment hardware: sealed screens you cannot instrument and vendors who will never open them.

AN-05

Unattended watch and recover

It watches the panel around the clock and acts when something goes wrong: clears the alert, restarts the flow, sends the video.

AN-06

Machines with no API

Lab analyzers, industrial panels, terminals whose vendor is long gone: no ports, no docs, no integration path. Now there is one.

FIG. 03 · DEVELOPER SURFACE · SHEET 1/3

Write it. Teach it. Or hand it over.

Developer surface: a Playwright-like SDK. Selectors, waits, assertions. Executed against the physical layer.

DATA PLATE · CONTROL MODES
DOC EL-01SHEET 1/3REV A3 MODES
Schematic of a generic device panel with three numbered part callouts: the power button, the status LED and the port where an agent connectsPWRLEDAPI84 mm123
UNIT UNDER CONTROL · ANY PANEL, ANY PHONE
1MODE 01 · STEPSYou write the steps.Selectors, not coordinates.
01await device.get("Power").hold()02await device.expect("steady green")
2MODE 02 · GOALYou hand it the goal.It finds the path and keeps it as a skill.
01await device.learn("keep it online")02await device.run() // the night shift
3MODE 03 · YOUR AGENTYour agent drives, over MCP.
01elvi.mcp.serve(device.skills())02// hands for any agent
FIG. 04 · DEVELOPER SURFACE · SHEET 2/3

Watch it learn.

One incident, start to finish: noticed, learned, fixed, kept.

REC · RUN 0042 · LIVEELVI CLI · TTY
01$ elvi connect  // device found · camera on02await device.when("controller offline")  // the event listener03! ALERT · controller offline · 02:1404await device.learn("keep it online")  // the goal, not the steps05exploring the panel · mapping: 4 screens · 9 controls06path found · saved as skill power-cycle07await device.run()08PRESS Power · 2.0 s · verify: steady green ✓ camera09video saved · run-0042.mp410elvi.mcp.add(device.skill())  // hands for your agent11! ALERT · controller offline · 04:4112skill hit · fixed in 4 s · no exploration13$ 
01 EXPLORE02 MAP03 OPERATE
ONE SESSION · TAIL LOOPS EVERY 8 S
FIG. 05 · DEVELOPER SURFACE · SHEET 3/3

Every task it solves, it keeps.

Skills, not scripts: learned once, they survive UI updates and transfer to the next device.

FIG. 05.1 · THE LIBRARYINDEX CARDS · NEWEST LAST
INDEX OF LEARNED SKILLS
EVERY ACTION VERIFIED BY THE CAMERA · A VIDEO OF EVERY RUN
ENTRIES 05+1 IN TRAINING
power-cycle01
BORNLEARNED
RUNS412
LAST RUNRUN 0042
UI UPDATESSURVIVED 4
end-of-day-close02
BORNLEARNED
RUNS96
LAST RUN23:04
VIDEOEVERY RUN
approve-and-log03
BORNLEARNED
RUNS178
LAST RUN11:37
UI UPDATESSURVIVED 2
nightly-report04
BORNLEARNED
RUNS61
LAST RUN02:00
VIDEOEVERY RUN
clear-paper-jam05
BORNEXPLORED
RUNS12
LAST RUN16:48
DEVICESRUNS ON 3
firmware-update06
BORNEXPLORING NOW
RUNS00
MAP9 SCREENS SO FAR
EXPLORING60%
FIG. 05.2 · WHO CALLS THEMSAME HANDS · INTERCHANGEABLE BRAINS
Four ways to drive Elvi converge into the contact point, which operates the physical deviceMCP01YOUR HAND-WRITTEN STEPS02THE BUILT-IN AGENT03YOUR AGENT OVER MCP04A SAVED SKILL REPLAYINGELVI · THE HANDS
MCP · THE LIBRARY, SERVEDTYPESCRIPT
01elvi.mcp.serve(device.skills())02// Claude, GPT, any agent: hands as tools

Elvi is the MCP server for the physical world.

npm install elviRUNS ON THE SIMULATOR TODAY · ON YOUR RIG WHEN IT SHIPS
FIG. 06 · WHERE IT WORKS

Built for whatever your business runs on.

INDUSTRIAL & LABS

Analyzers and machine panels with no ports.

IT & INFRASTRUCTURE

Racks and panels that need hands on site.

AUTOMOTIVE & APPLIANCES

Dashboards, control panels, physical buttons.

RETAIL & POS

Sealed terminals, no instrumentation.

FINTECH & BANKING

Test the app your device farm can’t run.

AGENCIES & SOCIAL OPS

Stories and DMs the API won’t post.

PROTOTYPE 01 · DESKTOP RIG

The first Elvi, on a desk.

An overhead camera, a stylus on a gantry, any device on the mat. Built to prove one thing: an agent can operate hardware it has never seen.

PROTOTYPE 01 · CAPACITIVE GLASS
DRAWING · DESKTOP RIG · GENERAL ARRANGEMENT
PROJECT: ELVI · elvi.engineering
SCALE 1:2REV ADATE 2026-08-05SHEET 1/1
Front elevation of the Elvi desktop rig: overhead camera, gantry arm, capacitive stylus over a phone on the calibration mat210 mmZ AXISABCDE
FIG. 07 · FRONT ELEVATION
Plan view of the 210 by 150 millimetre work area with a phone and a tap target at normalized coordinates 0.42, 0.61NOTE · COORDINATES NORMALIZED TO SCREEN · 0.0–1.0 EACH AXIS210 mm150 mm01020304SEQUENCE · 4 TAPS · LOOP01/04 · TAP (0.42, 0.61)02/04 · TAP (0.78, 0.28)03/04 · TAP (0.24, 0.35)04/04 · TAP (0.63, 0.82)
FIG. 08 · PLAN VIEW · WORK AREA
PARTS INDEX · HOVER TO LOCATE
INTAKE · BATCH 01

Get Elvi on your bench.

Batch 01 is small. It goes to teams with a device that nothing else can automate. Leave your address and you will hear from us before it ships.

OR WRITE TO HELLO@ELVI.ENGINEERING