Control the live surface
Read semantic snapshots, act on element references, and check the result. Discover what each adapter supports before asking it to act.
Give agents and people a shared way to inspect, control, and verify digital surfaces through MCP, CLI, and desktop. Turn explored behavior into inspectable, repeatable automation.
Named after the yam plant, genus Dioscorea.
Developer preview · MCP · CLI · Desktop
Read semantic snapshots, act on element references, and check the result. Discover what each adapter supports before asking it to act.
Use MCP tools or the CLI from your existing agent. Direct surface control needs no Yam project, compiled flow, or model credential.
Capture intent with a project, review the proposed flow and bindings, then reuse a plan as a test, workflow, or deterministic agent tool.
MCP exposes tools such as surface_connect, surface_snapshot, surface_act, and surface_check. The CLI gives agents and people the same control loop, with JSON output for automation.
Yam supplies the controls. Your agent chooses the next action. Session capabilities, events, and explicit checks keep that interaction inspectable.
Explore MCP and surface controls →yam surface connect --url http://localhost:3000 --json
# Use the session returned by connect
yam surface snapshot --session <session-id> --json
# Choose a reference from that snapshot
yam surface act --session <session-id> \
--action click --ref <element-ref> --json
yam surface close --session <session-id>
Requires the built CLI and your running application. Replace the session and element placeholders with returned values. The guide includes source-checkout setup and verification.
Adapters connect the surface contract to browser, native desktop, mobile, process/terminal, and HTTP targets. Available actions depend on the adapter and the host. The recorded validation covers browser, macOS Accessibility, and terminal journeys through both MCP and CLI; other adapters have separate prerequisites and evidence gaps.
Direct surface operations and compiled replay do not need model inference inside Yam. Your external agent can still use a model, and optional authoring and grounding can use a configured provider. Adapter availability is not the same as platform validation.