# ui_tree

Get UI hierarchy (accessibility tree). Shows elements, text, IDs, coordinates.

Agent View of the PolicyLayer registry record for `ui_tree`. HTML page: https://policylayer.com/tools/alexgladkov-claude-in-mobile/ui-tree

## Facts

- Tool: `ui_tree`
- Server: Claude Mobile (`alexgladkov/claude-in-mobile`) — https://policylayer.com/tools/alexgladkov-claude-in-mobile.md
- Homepage: https://github.com/AlexGladkov/claude-in-mobile
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "ui_tree",
    "arguments": {}
  }
}
```

## Why ui_tree is rated Low

This tool retrieves and displays UI structural information without creating, modifying, or deleting data. It is purely a query/inspection operation that returns accessibility tree metadata. While it could theoretically expose sensitive information visible on screen (e.g., private text, account details), the risk is inherent to any UI inspection and does not constitute execution, modification, or destruction of data.

From the tool's own definition: "Tool description states 'Get UI hierarchy (accessibility tree). Shows elements, text, IDs, coordinates.' The verb 'Get' and 'Shows' indicate data retrieval with no modification or side effects."

## Use case

AI agents call ui_tree to retrieve information from Claude Mobile 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 Claude Mobile:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "ui_tree": {}
  }
}
```

## Other tools on Claude Mobile (197)

- `browser_clear_session` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/browser-clear-session.md
- `debug_remove_break` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/debug-remove-break.md
- `network_proxy` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/network-proxy.md
- `permission_reset` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/permission-reset.md
- `permission_revoke` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/permission-revoke.md
- `recorder` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/recorder.md
- `recorder_delete` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/recorder-delete.md
- `recorder_remove_step` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/recorder-remove-step.md
- `repl_kill` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/repl-kill.md
- `rustore_discard` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/rustore-discard.md
- `sensor_battery` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/sensor-battery.md
- `store_discard` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/store-discard.md
- `sync_destroy` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/sync-destroy.md
- `system_clear_logs` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/system-clear-logs.md
- `visual` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/visual.md
- `visual_delete` — Destructive — https://policylayer.com/tools/alexgladkov-claude-in-mobile/visual-delete.md
- `app` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/app.md
- `app_install` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/app-install.md
- `app_launch` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/app-launch.md
- `app_restart` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/app-restart.md
- `app_stop` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/app-stop.md
- `appstore_build` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/appstore-build.md
- `appstore_submit` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/appstore-submit.md
- `appstore_upload` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/appstore-upload.md
- `autopilot` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/autopilot.md
- `autopilot_explore` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/autopilot-explore.md
- `autopilot_heal` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/autopilot-heal.md
- `browser` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/browser.md
- `browser_click` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/browser-click.md
- `browser_close` — Execute — https://policylayer.com/tools/alexgladkov-claude-in-mobile/browser-close.md
- …and 167 more: https://policylayer.com/tools/alexgladkov-claude-in-mobile.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=alexgladkov-claude-in-mobile · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/alexgladkov-claude-in-mobile
