# 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.

Agent View of the PolicyLayer registry record for `screen.observe`. HTML page: https://policylayer.com/tools/com-glasswarp-mcp-server/screen.observe

## Facts

- Tool: `screen.observe`
- Server: Glasswarp (`https://mcp.glasswarp.com/mcp`) — https://policylayer.com/tools/com-glasswarp-mcp-server.md
- Homepage: https://github.com/glasswarp/mcp-server
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 5 (1 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `mark` | boolean | no | Overlay numbered targets on JPEG when image=true (default true; ignored if image=false) |
| `image` | boolean | no | Include JPEG (default false). True only to visually read/judge the screen. |
| `quality` | integer | no | JPEG quality 40–100 when image=true (default 60) |
| `max_width` | integer | no | JPEG max width when image=true (default 960). Clicks always use native coords, not JPEG pixels. |
| `session_id` | string | yes | Active session id from session.start |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "screen.observe",
    "arguments": {
      "session_id": "<session_id>"
    }
  }
}
```

## Why screen.observe is rated Low

Purely observes screen state with no side effects or modifications.

From the tool's own definition: "Read the current screen... Does not move mouse/keyboard"

Risk signals: Bulk/mass operation — affects multiple targets

## Use case

AI agents call screen.observe to retrieve information from Glasswarp without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Glasswarp:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "screen.observe": {}
  }
}
```

## Other tools on Glasswarp (15)

- `app.launch` — Execute — https://policylayer.com/tools/com-glasswarp-mcp-server/app.launch.md
- `input.click_target` — Execute — https://policylayer.com/tools/com-glasswarp-mcp-server/input.click-target.md
- `input.click_xy` — Execute — https://policylayer.com/tools/com-glasswarp-mcp-server/input.click-xy.md
- `input.drag` — Execute — https://policylayer.com/tools/com-glasswarp-mcp-server/input.drag.md
- `input.scroll` — Execute — https://policylayer.com/tools/com-glasswarp-mcp-server/input.scroll.md
- `input.send_actions` — Execute — https://policylayer.com/tools/com-glasswarp-mcp-server/input.send-actions.md
- `input.send_keys` — Execute — https://policylayer.com/tools/com-glasswarp-mcp-server/input.send-keys.md
- `input.type_text` — Execute — https://policylayer.com/tools/com-glasswarp-mcp-server/input.type-text.md
- `session.end` — Execute — https://policylayer.com/tools/com-glasswarp-mcp-server/session.end.md
- `session.start` — Execute — https://policylayer.com/tools/com-glasswarp-mcp-server/session.start.md
- `demos.get` — Read — https://policylayer.com/tools/com-glasswarp-mcp-server/demos.get.md
- `demos.list` — Read — https://policylayer.com/tools/com-glasswarp-mcp-server/demos.list.md
- `rigs.list` — Read — https://policylayer.com/tools/com-glasswarp-mcp-server/rigs.list.md
- `session.live_view` — Read — https://policylayer.com/tools/com-glasswarp-mcp-server/session.live-view.md
- `session.status` — Read — https://policylayer.com/tools/com-glasswarp-mcp-server/session.status.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-glasswarp-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-glasswarp-mcp-server
