glass · open-core · Apache-2.0

Your agent closes the loop.

An MCP server that gives an AI coding agent a closed build → see → interact → debug loop over native GUI apps — so it can build and debug UI itself instead of asking “does this look right?”.

The loop

  1. 01 build glass launches your app (sandboxed by default) and captures its logs.
  2. 02 see Screenshot the window, or diff regions as text — no vision tokens to check a change.
  3. 03 interact Inject mouse, keyboard, scroll, and drag at window-relative coordinates.
  4. 04 debug Read the app's stdout/stderr and wait for elements, logs, or regions to settle.
glass_start   { "build": "cargo build --release", "run": ["target/release/my-app"] }
glass_screenshot                       // see the window
glass_click   { "x": 240, "y": 160 }   // interact
glass_wait_stable                      // let the render settle
glass_diff                             // changed_pct + bbox, as text — no image
glass_logs                             // read the app's stderr

Why it matters

Any app, any toolkit

glass drives apps as an external black box, so it works with any native GUI app regardless of toolkit or language — no SDK, no app integration.

Cross-platform

Linux (X11 and Wayland), Windows, and Android (native apps in an AVD emulator) backends today, behind a platform-agnostic core; macOS is planned.

Cheap to verify

Text-only diffs and waits let an agent check between screenshots without spending vision tokens on every step.

Sandboxed by default

Launched apps are contained by default; the default level fails closed rather than running an app unconfined.

Quickstart

Build the server, verify the environment, then register it with your agent.

# 1. Build
git clone https://github.com/fixed-width/glass
cd glass
cargo build --release -p glass-mcp        # → target/release/glass-mcp

# 2. Verify the environment (prints a remedy for any gap)
./target/release/glass-mcp doctor

# 3. Register it with your agent (stdio)
claude mcp add glass --scope user -- /absolute/path/to/target/release/glass-mcp

Full prerequisites, sandboxing levels, and network/HTTP setup are in the docs and the glass README ↗.

Install glass Read the docs