← Registry

Cloud Services

glasswarp.com

Manage remote Windows machines for running showcase demos and sessions.

1 endpoint16 known toolsFirst detected July 26, 2026Last detected September 6, 2026

ENDPOINT 1

https://mcp.glasswarp.com/mcp

No auth detected

MCP server metadata

Name
glasswarp
Version
0.1.0
Capabilities
resources.listChangedprompts.listChangedtools.listChanged
Server instructions

Glasswarp gives you eyes and hands on a real Windows PC that its owner paired to this account. Glasswarp supplies vision and input; you make every decision. Attribute actions to yourself, not to Glasswarp. ## Before anything: a usable rig Call `rigs.list`. You need a rig with status USABLE (online, API access enabled by the owner). If none exists, direct the user to install the host agent (https://www.glasswarp.com/downloads) and pair it in Console -> Rigs, then enable API access. This is a physical owner-consent step: never attempt to work around it, and never ask for machine passwords or credentials. ## Choose a path (capability + consent) ### Short tasks and human-in-the-loop — always direct MCP Glances, one or a few clicks, typing a string, "what's on my screen?", open an app and do one thing: use MCP tools in this chat. `session.start` -> `screen.observe` -> act -> `session.end`. Never scaffold code for a short task — "click OK" must never generate a file. ### Longer tasks — offer, don't impose Multi-step work, games, workflows, "solve / clear / finish X": 1. Optionally `demos.list` — if a showcase matches, show its run contract from `demos.get` (install + command). 2. Then branch on what THIS client can do and what the USER wants: **Code-capable client** (can write files and run a terminal): - Offer to write a small SDK agent that loops screen.observe -> decide -> act outside chat (or the matching showcase command). Explain the tradeoff plainly: chat-driven play is one model turn per action — slow and minute-hungry; a scaffolded agent runs the loop at full speed. - Do not impose it. If the user prefers chat or says "just do it here," proceed with direct MCP tools. - If they accept: scaffolded agents must follow SKILL.md (https://www.glasswarp.com/SKILL.md) — `session.end` in a `finally` block, bounded loops, observe-verify between actions, and re-observe + re-resolve targets (never hardcode target ids). Use MCP only for preflight, Live View, and recovery ("it crashed — look at the screen"). **Chat-only client** (no reliable shell or file write): - Proceed with direct MCP tools for the task. - Briefly note once that a faster path exists via the Python SDK or `glasswarp-demo` (https://docs.glasswarp.com/guides/ways-to-run-agents) if they later use a code-capable environment — then keep helping here. These path names (Assist / Showcase / Scaffold) are internal vocabulary — never say them to the user; just describe what you will do. ## Showcase tools - `demos.list` / `demos.get` return run contracts only; they do not execute solvers. - Resources: `glasswarp://demos`, `glasswarp://demos/{id}` ## Working hygiene - Prefer `input.send_actions` for any predictable multi-step sequence (click field → type → tab → shortcut). Solo `input.click_target` / `input.type_text` / `input.send_keys` are for one-off acts; chaining them costs a chat turn each. - Plan ahead when the next steps are predictable. After an `screen.observe`, if you can confidently predict the next 3–6 actions (menu paths, dialog fields, keyboard shortcuts, typing into a field you just clicked), send them as one batch via `input.send_actions` (observe_after defaults true; verification is text+targets unless you set `observe_image=true`) — then continue from that result, not after every individual action. Single-step when the screen may change unpredictably: page loads, network waits, installers, anything that can pop a modal. If the verifying observe shows something unexpected, re-plan from there. - Observe after every meaningful step (after a batch or after an unpredictable single action), not blindly after every click. `screen.observe` defaults to text + targets only — set `image=true` only when you must read or judge the screen visually. If `screen.observe` reports no change since your last frame (`changed: false`), do not re-analyze — the server omits any JPEG even if `image=true`. Re-check or wait instead. If dirty data is missing (`dirty` is null / unavailable — e.g. GDI fallback), treat that as **assume changed** and keep verifying; do not skip the model call. - On a Chromium or Electron surface (Chrome, Edge, VS Code, Slack, Discord, any Electron app), the UIA tree builds lazily. If the first observe returns fewer than ~30 targets with no named content controls, wait 2-3 seconds and observe again before concluding the screen is unreadable. - Verification-grade JPEGs: `max_width=960`, quality ~60 (MCP defaults when `image=true` / `observe_image=true`). - Prefer `input.click_target` (numbered targets from the latest observe) over `input.click_xy`. `input.click_xy` uses NATIVE screen coordinates as reported by observe — not the downscaled JPEG size. - Target ids are valid for the observe that produced them. Do not persist them across sessions, and re-observe before acting on a screen whose contents may have changed (lists, file browsers, tables). - Always `session.end` when done or when abandoning a task. Billing is wall-clock from session start to end; idle sessions auto-end after ~15 minutes. - If `session.start` fails on a concurrency limit, tell the user which session holds the slot and that it will auto-end when idle (or can be ended in the Console). - `session.live_view` is for the rig owner (Console login). Offer it when starting long or sensitive tasks so they can watch and intervene. Guide: https://docs.glasswarp.com/guides/ways-to-run-agents

Known tools 16

demos.list

List showcase run contracts (id, title, install, command).

Potential side effects
demos.get

Return one showcase run contract (install, command, needs, framing).

Potential side effects
rigs.list

List Windows machines (rigs) paired to this API key: id, name, online, api_access_enabled, and USABLE flag.

Inferred read-only
session.start

Start a metered desktop session on a USABLE rig from rigs.

Inferred read-only
session.end

End an active session.

Inferred read-only
screen.observe

Read the current screen: UIA targets (numbered ids + native coords) and a text summary.

Inferred read-only
input.click_target

Left/right/middle-click a UIA target by id from the latest screen.

Inferred read-only
input.click_xy

Click at native screen coordinates (0…native_width-1, 0…native_height-1 from screen.

Inferred read-only
input.type_text

Type a Unicode string into the currently focused control via native input.

Inferred read-only
input.send_keys

Send a key or chord to the focused window (e.

Potential side effects
input.drag

Press-move-release mouse drag in native capture coordinates.

Inferred read-only
input.scroll

Move the cursor to native (x,y) then apply a vertical mouse-wheel delta.

Inferred read-only
input.send_actions

PREFERRED multi-step tool: run 1–10 predictable UI actions in one call (input.

Inferred read-only
app.launch

Launch an executable on the remote Windows rig (name on PATH or absolute path), optional args.

Inferred read-only
session.live_view

Return the console Live View URL (≈60fps) for the rig owner to watch and intervene.

Inferred read-only
session.status

Fetch session metadata: status, host, mode, created_at, action_count, billed_minutes.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.glasswarp]
url = "https://mcp.glasswarp.com/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "glasswarp": {
      "type": "http",
      "url": "https://mcp.glasswarp.com/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: glasswarp
Remote MCP URL: https://mcp.glasswarp.com/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "glasswarp": {
      "url": "https://mcp.glasswarp.com/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "glasswarp": {
      "type": "http",
      "url": "https://mcp.glasswarp.com/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "glasswarp",
  "transport": "streamable-http",
  "url": "https://mcp.glasswarp.com/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.