# pine_save

Save the current Pine Script (Ctrl+S)

Agent View of the PolicyLayer registry record for `pine_save`. HTML page: https://policylayer.com/tools/debarpan2000-tradingview-mcp/pine-save

## Facts

- Tool: `pine_save`
- Server: TradingView MCP Server (`debarpan2000/tradingview-mcp`) — https://policylayer.com/tools/debarpan2000-tradingview-mcp.md
- Homepage: https://github.com/DEBARPAN2000/tradingview-mcp
- Risk category: Write (Medium 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_save",
    "arguments": {}
  }
}
```

## Why pine_save is rated Medium

The tool saves Pine Script code, which is a write operation that persists data modifications. It is reversible (can be edited/undone later) and does not delete data irreversibly. While saved scripts could theoretically be deployed to affect trading, the save operation itself is confined to modifying the script artifact.

From the tool's own definition: "Tool description explicitly states 'Save the current Pine Script', which creates or modifies data (the script file) reversibly through a standard save operation (Ctrl+S)."

## Use case

AI agents use pine_save to create or update resources in TradingView MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your TradingView MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches TradingView MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "pine_save": {
      "limits": [
        {
          "counter": "pine_save_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on TradingView MCP Server (77)

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