# ui_find_element

Find UI elements by text, aria-label, or CSS selector and return their positions

Agent View of the PolicyLayer registry record for `ui_find_element`. HTML page: https://policylayer.com/tools/byeung888-tradingview-mcp/ui-find-element

## Facts

- Tool: `ui_find_element`
- Server: TradingView MCP Bridge (`byeung888/tradingview-mcp`) — https://policylayer.com/tools/byeung888-tradingview-mcp.md
- Homepage: https://github.com/byeung888/tradingview-mcp
- 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_find_element",
    "arguments": {}
  }
}
```

## Why ui_find_element is rated Low

This is a query/search operation that locates and returns metadata about UI elements. It has no side effects, does not execute code or commands, does not modify data, and does not perform destructive or financial operations. It is foundational tooling for UI automation but on its own only reads and reports element positions.

From the tool's own definition: "Tool description states it 'Find[s] UI elements by text, aria-label, or CSS selector and return[s] their positions' — purely retrieves information about UI element locations without modifying state or triggering actions."

## Use case

AI agents call ui_find_element to retrieve information from TradingView MCP Bridge 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 TradingView MCP Bridge:

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

## Other tools on TradingView MCP Bridge (77)

- `alert_delete` — Destructive — https://policylayer.com/tools/byeung888-tradingview-mcp/alert-delete.md
- `draw_clear` — Destructive — https://policylayer.com/tools/byeung888-tradingview-mcp/draw-clear.md
- `draw_remove_one` — Destructive — https://policylayer.com/tools/byeung888-tradingview-mcp/draw-remove-one.md
- `batch_run` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/batch-run.md
- `chart_scroll_to_date` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/chart-scroll-to-date.md
- `chart_set_visible_range` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/chart-set-visible-range.md
- `layout_switch` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/layout-switch.md
- `pane_focus` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/pane-focus.md
- `pine_check` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/pine-check.md
- `pine_compile` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/pine-compile.md
- `pine_smart_compile` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/pine-smart-compile.md
- `replay_autoplay` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/replay-autoplay.md
- `replay_start` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/replay-start.md
- `replay_step` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/replay-step.md
- `replay_stop` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/replay-stop.md
- `replay_trade` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/replay-trade.md
- `tab_new` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/tab-new.md
- `tab_switch` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/tab-switch.md
- `tv_launch` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/tv-launch.md
- `ui_click` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/ui-click.md
- `ui_evaluate` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/ui-evaluate.md
- `ui_fullscreen` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/ui-fullscreen.md
- `ui_hover` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/ui-hover.md
- `ui_keyboard` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/ui-keyboard.md
- `ui_mouse_click` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/ui-mouse-click.md
- `ui_open_panel` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/ui-open-panel.md
- `ui_scroll` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/ui-scroll.md
- `ui_type_text` — Execute — https://policylayer.com/tools/byeung888-tradingview-mcp/ui-type-text.md
- `alert_list` — Read — https://policylayer.com/tools/byeung888-tradingview-mcp/alert-list.md
- `capture_screenshot` — Read — https://policylayer.com/tools/byeung888-tradingview-mcp/capture-screenshot.md
- …and 47 more: https://policylayer.com/tools/byeung888-tradingview-mcp.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=byeung888-tradingview-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/byeung888-tradingview-mcp
