Skip to main content
Glama
README.md
# 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 URL** | `https://mcp.glasswarp.com/mcp` |
| **Auth** | `Authorization: Bearer gw_…` ([create a key](https://www.glasswarp.com/console)) |
| **Docs** | [docs.glasswarp.com/get-started/mcp](https://docs.glasswarp.com/get-started/mcp) |

## Start here

1. **API key** — [Console](https://www.glasswarp.com/console) → create key → copy `gw_…`
2. **Windows PC** — [install](https://www.glasswarp.com/downloads) → [pair](https://www.glasswarp.com/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](https://docs.glasswarp.com/get-started/mcp) · [hello@glasswarp.com](mailto:hello@glasswarp.com)

## Connect (Cursor)

[Add to Cursor](https://cursor.com/en/install-mcp?name=glasswarp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBnbGFzc3dhcnAvbWNwIl0sImVudiI6eyJHTEFTU1dBUlBfQVBJX0tFWSI6IllPVVJfQVBJX0tFWSJ9fQ%3D%3D)
— 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](https://docs.glasswarp.com/get-started/mcp).

## Workflow

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

## Tools

| Tool | Role |
| --- | --- |
| `rigs.list` | Find a USABLE paired Windows machine |
| `session.start` / `session.end` | Metered session (always end) |
| `screen.observe` | UIA targets + text (`image=true` for JPEG) |
| `input.*` | click, type, keys, drag, scroll, `send_actions` |
| `app.launch` | Start an exe on the rig |
| `session.live_view` / `session.status` | Owner Live View · billing signals |
| `demos.list` / `demos.get` | Showcase run contracts |

## More

- npm: [`@glasswarp/mcp`](https://www.npmjs.com/package/@glasswarp/mcp) · registry: `com.glasswarp/mcp-server` · Apache-2.0
- Directory: [Smithery](https://smithery.ai/servers/glasswarp/mcp-server)
- **Open:** this MCP server + [Python SDK](https://github.com/glasswarp/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`)

TDQS

A4.6/5.0

Scored across 16 tools

Disambiguation5/5

Each tool has a clear, distinct purpose. Even similar tools like click_target and click_xy are differentiated by description, and type_text vs send_keys serve different input needs. No overlapping or ambiguous tools.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., end_session, click_target, list_rigs, send_actions). The only exception is 'observe', but it stands alone as a single-word verb. No mixing of conventions.

Tool Count4/5

With 16 tools, the set is slightly above the typical 3-15 range but each tool serves a necessary function for remote desktop control. It could be trimmed, but the count is still reasonable and not excessive.

Completeness5/5

The tool set covers the full lifecycle: session management (start/end/status), UI observation and input (click, type, keys, drag, scroll, batch actions), app launch, and configuration (list rigs/demos, live view URL). No obvious gaps for the domain.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive