# pine_get_errors

Get Pine Script compilation errors from Monaco markers

Agent View of the PolicyLayer registry record for `pine_get_errors`. HTML page: https://policylayer.com/tools/byeung888-tradingview-mcp/pine-get-errors

## Facts

- Tool: `pine_get_errors`
- 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": "pine_get_errors",
    "arguments": {}
  }
}
```

## Why pine_get_errors is rated Low

This tool retrieves diagnostic information (compilation errors) from the Pine Script editor's Monaco component. It performs no state changes, does not execute code, and does not modify any data. It is purely informational, used to help developers understand compilation issues in their scripts.

From the tool's own definition: "Tool name 'pine_get_errors' and description 'Get Pine Script compilation errors from Monaco markers' indicate data retrieval only. The verb 'Get' and lack of any modification, execution, or side-effect language confirm this is a query operation."

## Use case

AI agents call pine_get_errors 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": {
    "pine_get_errors": {}
  }
}
```

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