# pine_compile

Compile / add the current Pine Script to the chart

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

## Facts

- Tool: `pine_compile`
- Server: TradingView MCP Bridge (`byeung888/tradingview-mcp`) — https://policylayer.com/tools/byeung888-tradingview-mcp.md
- Homepage: https://github.com/byeung888/tradingview-mcp
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

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

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

## Why pine_compile is rated High

Compiling and adding Pine Script to a chart executes code in the TradingView environment. While not destructive on its own, the executed Pine Script can perform arbitrary financial analysis, generate signals, or trigger trading-related workflows.

From the tool's own definition: "Tool description states 'Compile / add the current Pine Script to the chart' — this compiles and executes Pine Script code against the chart, triggering external operations whose effects depend on the script's logic and content."

## Use case

AI agents invoke pine_compile to trigger actions in TradingView MCP Bridge. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. 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_compile": {
      "limits": [
        {
          "counter": "pine_compile_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## 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_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
- `chart_get_state` — Read — https://policylayer.com/tools/byeung888-tradingview-mcp/chart-get-state.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
