Glasswarp

com.glasswarpPublished by glasswarp.comOfficial publisherv0.1.0Updated Oct 24, 2026

Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.

VerifiedStreamable HTTPWeb executableBrowser AutomationDeveloper Tools

Overview

AI-generated overview

Glasswarp gives an assistant eyes and hands on a real Windows PC you own: observe the screen, click, type, launch apps, all in metered sessions.

What you can do
  • List paired Windows rigs and check which are online and API-enabled
  • Start, monitor and end metered desktop sessions, including billed minutes and a Live View link for the owner
  • Read the current screen as UIA targets plus a text summary, optionally with a JPEG image
  • Click targets or coordinates, type text, send keys, drag and scroll, or bundle up to 10 actions in one call
  • Launch executables on the remote rig and close them when the session ends
  • Browse showcase demo run contracts with install and command details
When to use it
When you want an assistant to operate a Windows desktop you control — filling in forms, driving GUI apps, drawing, or running scripted click-and-type workflows — rather than only reading text. Useful for GUI tasks that have no API.
Requirements
Remote MCP endpoint at mcp.glasswarp.com over streamable HTTP, or the npm package run via npx. A Glasswarp API key (gw_…) sent as an Authorization bearer header or in GLASSWARP_API_KEY. A Windows PC with the Glasswarp host installed, paired to the key, and API access enabled; the rig must be online and USABLE.
Before you install
Sessions are metered: session.start begins wall-clock billing and shows an on-screen indicator, so always end sessions. Input tools perform real mouse and keyboard actions on the remote desktop, and app.launch starts processes there. The API key grants control of paired machines, so keep it secret. Live View requires the owner to be signed in; the key alone cannot open it.

Installation

In SourceWeft

  1. Open Glasswarp in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.glasswarp%2Fmcp-server/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "glasswarp": {
      "type": "http",
      "url": "https://mcp.glasswarp.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

Glasswarp MCP Server

See and control a real Windows PC you own — from any MCP client. Observe, click, type, launch apps, Live View. You bring the model; Glasswarp is eyes and hands.

No cloud desktop — install our host on your Windows machine.

Remote URLhttps://mcp.glasswarp.com/mcp
AuthAuthorization: Bearer gw_… (create a key)
Docsdocs.glasswarp.com/get-started/mcp

Start here

  1. API key — Console → create key → copy gw_…
  2. Windows PC — install → pair → enable API access
  3. Paste the key as GLASSWARP_API_KEY (or Authorization: Bearer gw_… on the remote URL)

Say “List my rigs.” You need a USABLE machine.

Docs · [email protected]

Connect (Cursor)

Add to Cursor — then set GLASSWARP_API_KEY to your console key.

Or paste:

json
{  "mcpServers": {    "glasswarp": {      "command": "npx",      "args": ["-y", "@glasswarp/mcp"],      "env": {        "GLASSWARP_API_KEY": "gw_live_sk_REPLACE_WITH_YOUR_KEY"      }    }  }}

Same tools via remote URL https://mcp.glasswarp.com/mcp when the client supports headers. More clients: docs.

Workflow

rigs.list → session.start → screen.observe → act → session.end
Prefer input.send_actions for multi-step work. Always end the session.

Tools

ToolRole
rigs.listFind a USABLE paired Windows machine
session.start / session.endMetered session (always end)
screen.observeUIA targets + text (image=true for JPEG)
input.*click, type, keys, drag, scroll, send_actions
app.launchStart an exe on the rig
session.live_view / session.statusOwner Live View · billing signals
demos.list / demos.getShowcase run contracts

More

  • npm: @glasswarp/mcp · registry: com.glasswarp/mcp-server · Apache-2.0
  • Directory: Smithery
  • Open: this MCP server + Python SDK. Not open: Windows host agent and platform (gateway, console, billing).
  • Local dev / tests: see repo package.json scripts (npm run dev, npm test)

Source: README.md at commit b1e4841

Tools

16

demos.list

List showcase run contracts (id, title, install, command). Read-only catalog — does NOT start a session, touch a rig, or run solvers. Use when the user asks for Minesweeper/Mona Lisa/Paint demos or you need the glasswarp-demo command. Prefer demos.get for one full card. For ad-hoc UI work use rigs.list → session.start → screen.observe instead.

Parametersformat

demos.get

Return one showcase run contract (install, command, needs, framing). Does NOT execute the demo or control a PC. Call after demos.list when you know the demo_id. If the client can run shell, offer the command; if chat-only, show the card. Do not replace this with a slow MCP click loop for solver demos.

Parametersformatdemo_idrequired

rigs.list

List Windows machines (rigs) paired to this API key: id, name, online, api_access_enabled, and USABLE flag. Read-only — does not start a session. Call first before start_session. A rig is USABLE only when online AND the owner enabled API access. If none are USABLE, tell the user to install the host agent, pair in Console → Rigs, and enable API access — never ask for OS passwords.

Takes no parameters.

session.start

Start a metered desktop session on a USABLE rig from rigs.list. Side effects: begins wall-clock billing, shows an on-screen “API session active” indicator, enables observe/input until session.end. Idle sessions auto-end after ~15 minutes. Always call session.end when done or abandoning. Do not call if no USABLE rig exists. Returns session_id and Live View URL (owner console login required).

Parametersrig_idrequired

session.end

End an active session. Side effects: stops billing, runs host safety_restore, closes apps launched via app.launch. Always call when finished or abandoning — do not leave sessions open. Safe to call once; further observe/input on that session_id will fail.

Parameterssession_idrequired

screen.observe

Read the current screen: UIA targets (numbered ids + native coords) and a text summary. Does not move mouse/keyboard. Default image=false (no JPEG) for speed; set image=true only when you must judge pixels visually (then max_width≈960, quality≈60). If changed=false, JPEG is omitted even when requested — do not re-analyze; wait or act differently. If dirty is null, assume changed. Prefer input.send_actions for multi-step UI; observe after meaningful steps, not after every click. Target ids are valid only until the next UI change.

Parametersmarkimagequalitymax_widthsession_idrequired

input.click_target

Left/right/middle-click a UIA target by id from the latest screen.observe (uses native center coords). Prefer over input.click_xy. Side effect: real mouse click on the remote Windows desktop. Do not reuse target_id after the screen may have changed — re-observe first. For click→type→keys sequences, use input.send_actions (one turn) instead of chaining this tool.

Parametersbuttondoubletarget_idrequiredsession_idrequired

input.click_xy

Click at native screen coordinates (0…native_width-1, 0…native_height-1 from screen.observe). Last resort when no suitable UIA target exists — prefer input.click_target. Never use JPEG/downscaled pixel coords. Side effect: real mouse click on the remote desktop.

Parametersxrequiredyrequiredbuttondoublesession_idrequired

input.type_text

Type a Unicode string into the currently focused control via native input. Does not click first — focus the field (input.click_target / input.send_actions) before calling. Side effect: keystrokes on the remote desktop. For form fills (click → type → tab/enter), prefer input.send_actions in one call.

Parameterstextrequiredsession_idrequired

input.send_keys

Send a key or chord to the focused window (e.g. enter, tab, ctrl+s, alt+f4, win). Side effect: real key events on the remote desktop. Prefer bundling into input.send_actions when the shortcut follows a click/type in the same planned sequence. Use input.type_text for literal strings, not this tool.

Parameterskeysrequiredsession_idrequired

input.drag

Press-move-release mouse drag in native capture coordinates. Use for drawing, sliders, selection boxes, and drag-and-drop. Side effect: mouse_down → moves → mouse_up on the remote desktop. Prefer input.send_actions if the drag is one step in a longer predictable sequence.

Parametersto_xrequiredto_yrequiredfrom_xrequiredfrom_yrequiredsession_idrequiredduration_ms

input.scroll

Move the cursor to native (x,y) then apply a vertical mouse-wheel delta. Side effect: scroll on whatever is under that point. Negative delta scrolls toward the bottom of the page. Prefer input.send_actions when scroll is part of a multi-step sequence. Re-observe after scrolling lists/pages before clicking targets.

Parametersxrequiredyrequireddeltarequiredsession_idrequired

input.send_actions

PREFERRED multi-step tool: run 1–10 predictable UI actions in one call (input.click_target, input.click_xy, input.type_text, input.send_keys, input.drag, input.scroll). Side effects: all actions execute on the remote desktop; fails fast before sending if any action is invalid. observe_after defaults true (verification observe: text+targets; set observe_image=true for JPEG). Do not batch across unpredictable waits (page loads, installers, modals) — single-step those. Prefer this over chaining solo click/type/keys tools.

Parametersactionsrequiredsession_idrequiredobserve_afterobserve_image

app.launch

Launch an executable on the remote Windows rig (name on PATH or absolute path), optional args. Side effects: starts a process; Glasswarp tracks it and closes it on session.end. Use for notepad.exe, mspaint.exe, chrome with URL args, etc. Wait/re-observe after launch before clicking — do not assume the window is focused immediately.

Parametersargssession_idrequiredpath_or_namerequired

session.live_view

Return the console Live View URL (≈60fps) for the rig owner to watch and intervene. Read-only for the agent — does not grant the API key console access. Offer on long or sensitive tasks. Owner must be signed into Glasswarp; API keys alone cannot open the player.

Parameterssession_idrequired

session.status

Fetch session metadata: status, host, mode, created_at, action_count, billed_minutes. Read-only — no input side effects. Use to tell the user about metered time or confirm the session is still active before more actions.

Parameterssession_idrequired

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts