# io.github.TZ24cloud/tradingview-mcp-thaqif (npm · tradingview-mcp-thaqif)

TradingView Desktop bridge for Pine Script, FCPO futures & Wyckoff multi-timeframe analysis.

- Trust score: 70/100 (medium)
- Change this week: +24
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `tradingview-mcp-thaqif`: 70/100 (this document), [markdown](https://verifymcp.io/servers/tz24cloud-tradingview-mcp-thaqif/tradingview-mcp-thaqif.md), [page](https://verifymcp.io/servers/tz24cloud-tradingview-mcp-thaqif/tradingview-mcp-thaqif)

## Channel facts

- Registry: `npm`
- Package: `tradingview-mcp-thaqif`
- Version: `2.0.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (98 of 102), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (98 of 102), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 64 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 77/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 4214 tokens (~52/item across 81 items; 81 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add tz24cloud-tradingview-mcp-thaqif -- npx -y tradingview-mcp-thaqif
```

### Codex

```bash
codex mcp add tz24cloud-tradingview-mcp-thaqif -- npx -y tradingview-mcp-thaqif
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tz24cloud-tradingview-mcp-thaqif": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "tradingview-mcp-thaqif"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add tz24cloud-tradingview-mcp-thaqif --command npx --arg -y --arg tradingview-mcp-thaqif
```

### Hermes

```yaml
mcp_servers:
  tz24cloud-tradingview-mcp-thaqif:
    command: "npx"
    args: ["-y", "tradingview-mcp-thaqif"]
```

### Other

```json
{
  "mcpServers": {
    "tz24cloud-tradingview-mcp-thaqif": {
      "command": "npx",
      "args": [
        "-y",
        "tradingview-mcp-thaqif"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-02 (score 69, +48)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] License: unverified → pass
- [functional] Licence: MIT

### 2026-08-01 (score 21, −7)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 28, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (81)

### `tv_health_check` (~22 tokens)

Check CDP connection to TradingView and return current chart state

### `tv_discover` (~22 tokens)

Report which known TradingView API paths are available and their methods

### `tv_ui_state` (~28 tokens)

Get current UI state: which panels are open, what buttons are visible/enabled/disabled

### `tv_launch` (~69 tokens)

Launch TradingView Desktop with Chrome DevTools Protocol (remote debugging) enabled. Auto-detects install location on Mac, Windows, and Linux.

Input parameters:

- `kill_existing` (boolean): Kill existing TradingView instances first (default true)
- `port` (number): CDP port (default 9222)

### `chart_get_state` (~23 tokens)

Get current chart state (symbol, timeframe, chart type, indicators)

### `chart_set_symbol` (~43 tokens)

Change the chart symbol

Input parameters:

- `symbol` (string, required): Symbol to set (e.g., BTCUSD, AAPL, ES1!, NYMEX:CL1!)

### `chart_set_timeframe` (~47 tokens)

Change the chart timeframe/resolution

Input parameters:

- `timeframe` (string, required): Timeframe (e.g., 1, 5, 15, 60, D, W, M)

### `chart_set_type` (~80 tokens)

Change chart type

Input parameters:

- `chart_type` (string, required): Chart type: Bars(0), Candles(1), Line(2), Area(3), Renko(4), Kagi(5), PointAndFigure(6), LineBreak(7), HeikinAshi(8), HollowCandles(9) — pass name or number

### `chart_manage_indicator` (~125 tokens)

Add or remove an indicator/study on the chart

Input parameters:

- `action` (string, required): Action: add or remove
- `entity_id` (string): Entity ID to remove (from chart_get_state). Required for remove.
- `indicator` (string, required): Full indicator name: "Relative Strength Index", "MACD", "Volume", "Moving Average", "Bollinger Bands", "Moving Average Exponential". Short names like RSI/EMA do NOT work.
- `inputs` (string): JSON string of input overrides for the indicator (e.g., '{"length": 20}')

### `chart_get_visible_range` (~26 tokens)

Get the visible date range (unix timestamps) and bars range on the chart

### `chart_set_visible_range` (~52 tokens)

Zoom the chart to a specific date range (unix timestamps)

Input parameters:

- `from` (number, required): Start of range (unix timestamp in seconds)
- `to` (number, required): End of range (unix timestamp in seconds)

### `chart_scroll_to_date` (~49 tokens)

Jump the chart view to center on a specific date

Input parameters:

- `date` (string, required): ISO date string (e.g., "2024-01-15") or unix timestamp as a string

### `symbol_info` (~24 tokens)

Get detailed metadata about the current symbol (name, exchange, type, description)

### `symbol_search` (~67 tokens)

Search for symbols by name or keyword

Input parameters:

- `query` (string, required): Search query (e.g., "AAPL", "crude oil", "ES")
- `type` (string): Filter by type (e.g., "stock", "futures", "crypto", "forex")

### `pine_get_source` (~19 tokens)

Get current Pine Script source code from the editor

### `pine_set_source` (~31 tokens)

Set Pine Script source code in the editor

Input parameters:

- `source` (string, required): Pine Script source code to inject

### `pine_compile` (~19 tokens)

Compile / add the current Pine Script to the chart

### `pine_get_errors` (~18 tokens)

Get Pine Script compilation errors from Monaco markers

### `pine_save` (~18 tokens)

Save the current Pine Script (Ctrl+S)

### `pine_get_console` (~24 tokens)

Read Pine Script console/log output (compile messages, log.info(), errors)

### `pine_smart_compile` (~26 tokens)

Intelligent compile: detects button, compiles, checks errors, reports study changes

### `pine_new` (~27 tokens)

Create a new blank Pine Script

Input parameters:

- `type` (string, required): Type of script to create

### `pine_open` (~35 tokens)

Open a saved Pine Script by name

Input parameters:

- `name` (string, required): Name of the saved script to open (case-insensitive match)

### `pine_list_scripts` (~14 tokens)

List saved Pine Scripts

### `pine_analyze` (~65 tokens)

Run static analysis on Pine Script code WITHOUT compiling — catches array out-of-bounds, unguarded array.first()/last(), bad loop bounds, and implicit bool casts. Works offline, no TradingView connection needed.

Input parameters:

- `source` (string, required): Pine Script source code to analyze

### `pine_check` (~54 tokens)

Compile Pine Script via TradingView's server API without needing the chart open. Returns compilation errors/warnings. Useful for validating code before injecting into the chart.

Input parameters:

- `source` (string, required): Pine Script source code to compile/validate

### `data_get_ohlcv` (~88 tokens)

Get OHLCV bar data from the chart. Use summary=true for compact stats instead of all bars (saves context).

Input parameters:

- `count` (number): Number of bars to retrieve (max 500, default 100)
- `summary` (boolean): Return summary stats (high, low, open, close, avg volume, range) instead of all bars — much smaller output

### `data_get_indicator` (~34 tokens)

Get indicator/study info and input values

Input parameters:

- `entity_id` (string, required): Study entity ID (from chart_get_state)

### `data_get_strategy_results` (~18 tokens)

Get strategy performance metrics from Strategy Tester

### `data_get_trades` (~30 tokens)

Get trade list from Strategy Tester

Input parameters:

- `max_trades` (number): Maximum trades to return

### `data_get_equity` (~18 tokens)

Get equity curve data from Strategy Tester

### `quote_get` (~40 tokens)

Get real-time quote data for a symbol (price, OHLC, volume)

Input parameters:

- `symbol` (string): Symbol to quote (blank = current chart symbol)

### `depth_get` (~23 tokens)

Get order book / DOM (Depth of Market) data from the chart

### `data_get_pine_lines` (~97 tokens)

Read horizontal price levels drawn by Pine Script indicators (line.new). Returns deduplicated price levels per study. Use study_filter to target a specific indicator.

Input parameters:

- `study_filter` (string): Substring to match study name (e.g., "Profiler", "NY Levels"). Omit for all.
- `verbose` (boolean): Return raw line data with IDs, coordinates, colors (default false — returns only unique price levels)

### `data_get_pine_labels` (~106 tokens)

Read text labels drawn by Pine Script indicators (label.new). Returns text and price pairs. Use study_filter to target a specific indicator.

Input parameters:

- `max_labels` (number): Max labels per study (default 50). Set higher if you need all.
- `study_filter` (string): Substring to match study name. Omit for all.
- `verbose` (boolean): Return raw label data with IDs, colors, positions (default false — returns only text + price)

### `data_get_pine_tables` (~58 tokens)

Read table data drawn by Pine Script indicators (table.new). Returns formatted text rows per table. Use study_filter to target a specific indicator.

Input parameters:

- `study_filter` (string): Substring to match study name. Omit for all.

### `data_get_pine_boxes` (~87 tokens)

Read box/zone boundaries drawn by Pine Script indicators (box.new). Returns deduplicated {high, low} price zones. Use study_filter to target a specific indicator.

Input parameters:

- `study_filter` (string): Substring to match study name. Omit for all.
- `verbose` (boolean): Return all boxes with IDs and coordinates (default false — returns unique price zones)

### `data_get_study_values` (~43 tokens)

Get current indicator values from the data window for all visible studies (RSI, MACD, Bollinger Bands, EMAs, custom indicators with plot()).

### `capture_screenshot` (~81 tokens)

Take a screenshot of the TradingView chart

Input parameters:

- `filename` (string): Custom filename (without extension)
- `method` (string): Capture method: cdp (Page.captureScreenshot) or api (chartWidgetCollection.takeScreenshot) (default cdp)
- `region` (string): Region to capture: full, chart, strategy_tester (default full)

### `draw_shape` (~116 tokens)

Draw a shape/line on the chart

Input parameters:

- `overrides` (string): JSON string of style overrides (e.g., '{"linecolor": "#ff0000", "linewidth": 2}')
- `point` (object, required): { time: unix_timestamp, price: number }
- `point2` (object): Second point for two-point shapes (trend_line, rectangle)
- `shape` (string, required): Shape type: horizontal_line, vertical_line, trend_line, rectangle, text
- `text` (string): Text content for text shapes

### `draw_list` (~18 tokens)

List all shapes/drawings on the chart

### `draw_clear` (~15 tokens)

Remove all drawings from the chart

### `draw_remove_one` (~36 tokens)

Remove a specific drawing by entity ID

Input parameters:

- `entity_id` (string, required): Entity ID of the drawing to remove (from draw_list)

### `draw_get_properties` (~35 tokens)

Get properties and points of a specific drawing

Input parameters:

- `entity_id` (string, required): Entity ID of the drawing (from draw_list)

### `alert_create` (~64 tokens)

Create a price alert via the TradingView alert dialog

Input parameters:

- `condition` (string, required): Alert condition (e.g., "crossing", "greater_than", "less_than")
- `message` (string): Alert message
- `price` (number, required): Price level for the alert

### `alert_list` (~12 tokens)

List active alerts

### `alert_delete` (~29 tokens)

Delete all alerts or open context menu for deletion

Input parameters:

- `delete_all` (boolean): Delete all alerts

### `batch_run` (~131 tokens)

Run an action across multiple symbols and/or timeframes

Input parameters:

- `action` (string, required): Action to run: screenshot, get_ohlcv, get_strategy_results
- `delay_ms` (number): Delay between iterations in ms (default 2000)
- `ohlcv_count` (number): Bar count for get_ohlcv action (default 100)
- `symbols` (array, required): Array of symbols to iterate (e.g., ["BTCUSD", "ETHUSD", "AAPL"])
- `timeframes` (array): Array of timeframes (e.g., ["D", "60", "15"])

### `replay_start` (~44 tokens)

Start bar replay mode, optionally at a specific date

Input parameters:

- `date` (string): Date to start replay from (YYYY-MM-DD format). If omitted, selects first available date.

### `replay_step` (~15 tokens)

Advance one bar in replay mode

### `replay_autoplay` (~46 tokens)

Toggle autoplay in replay mode, optionally set speed

Input parameters:

- `speed` (number): Autoplay delay in ms (lower = faster). Leave empty to just toggle. (default 0)

### `replay_stop` (~15 tokens)

Stop replay and return to realtime

### `replay_trade` (~40 tokens)

Execute a trade action in replay mode (buy, sell, or close position)

Input parameters:

- `action` (string, required): Trade action: buy, sell, or close

### `replay_status` (~14 tokens)

Get current replay mode status

### `indicator_set_inputs` (~82 tokens)

Change indicator/study input values (e.g., length, source, period)

Input parameters:

- `entity_id` (string, required): Entity ID of the study (from chart_get_state)
- `inputs` (string, required): JSON string of input overrides, e.g. '{"length": 50, "source": "close"}'. Keys are input IDs, values are the new values.

### `indicator_toggle_visibility` (~52 tokens)

Show or hide an indicator/study on the chart

Input parameters:

- `entity_id` (string, required): Entity ID of the study (from chart_get_state)
- `visible` (boolean, required): true to show, false to hide

### `watchlist_get` (~28 tokens)

Get all symbols from the current TradingView watchlist with last price, change, and change%

### `watchlist_add` (~48 tokens)

Add a symbol to the TradingView watchlist

Input parameters:

- `symbol` (string, required): Symbol to add (e.g., AAPL, BTCUSD, ES1!, NYMEX:CL1!)

### `ui_click` (~50 tokens)

Click a UI element by aria-label, data-name, text content, or class substring

Input parameters:

- `by` (string, required): Selector strategy
- `value` (string, required): Value to match against the chosen selector strategy

### `ui_open_panel` (~52 tokens)

Open, close, or toggle TradingView panels (pine-editor, strategy-tester, watchlist, alerts, trading)

Input parameters:

- `action` (string, required): Action to perform
- `panel` (string, required): Panel name

### `ui_fullscreen` (~15 tokens)

Toggle TradingView fullscreen mode

### `layout_list` (~13 tokens)

List saved chart layouts

### `layout_switch` (~35 tokens)

Switch to a saved chart layout by name or ID

Input parameters:

- `name` (string, required): Name or ID of the layout to switch to

### `ui_keyboard` (~78 tokens)

Press keyboard keys or shortcuts (e.g., Enter, Escape, Alt+S, Ctrl+Z)

Input parameters:

- `key` (string, required): Key to press (e.g., "Enter", "Escape", "Tab", "a", "ArrowUp")
- `modifiers` (array): Modifier keys to hold (e.g., ["ctrl", "shift"])

### `ui_type_text` (~34 tokens)

Type text into the currently focused input/textarea element

Input parameters:

- `text` (string, required): Text to type into the focused element

### `ui_hover` (~43 tokens)

Hover over a UI element by aria-label, data-name, or text content

Input parameters:

- `by` (string, required): Selector strategy
- `value` (string, required): Value to match

### `ui_scroll` (~43 tokens)

Scroll the chart or page up/down/left/right

Input parameters:

- `amount` (number): Scroll amount in pixels (default 300)
- `direction` (string, required): Scroll direction

### `ui_mouse_click` (~72 tokens)

Click at specific x,y coordinates on the TradingView window

Input parameters:

- `button` (string): Mouse button (default left)
- `double_click` (boolean): Double click (default false)
- `x` (number, required): X coordinate (pixels from left)
- `y` (number, required): Y coordinate (pixels from top)

### `ui_find_element` (~59 tokens)

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

Input parameters:

- `query` (string, required): Text content, aria-label value, or CSS selector to search for
- `strategy` (string): Search strategy (default: text)

### `ui_evaluate` (~47 tokens)

Execute JavaScript code in the TradingView page context for advanced automation

Input parameters:

- `expression` (string, required): JavaScript expression to evaluate in the page context. Wrap in IIFE for complex logic.

### `pane_list` (~23 tokens)

List all chart panes in the current layout with their symbols and active state

### `pane_set_layout` (~107 tokens)

Change the chart grid layout (e.g., single, 2x2, 2h, 3v)

Input parameters:

- `layout` (string, required): Layout code: s (single), 2h, 2v, 2-1, 1-2, 3h, 3v, 4 (2x2), 6, 8. Also accepts: single, 2x1, 1x2, 2x2, quad

### `pane_focus` (~35 tokens)

Focus a specific chart pane by index (0-based)

Input parameters:

- `index` (number, required): Pane index (0-based, from pane_list)

### `pane_set_symbol` (~54 tokens)

Set the symbol on a specific pane by index

Input parameters:

- `index` (number, required): Pane index (0-based)
- `symbol` (string, required): Symbol to set (e.g., NQ1!, ES1!, AAPL)

### `tab_list` (~16 tokens)

List all open TradingView chart tabs

### `tab_new` (~14 tokens)

Open a new chart tab

### `tab_close` (~14 tokens)

Close the current chart tab

### `tab_switch` (~32 tokens)

Switch to a chart tab by index

Input parameters:

- `index` (number, required): Tab index (0-based, from tab_list)

### `morning_brief` (~71 tokens)

Scan your watchlist, read all indicator values, and return structured data for a session brief. Reads rules.json for your bias criteria and watchlist. Claude applies the rules to generate your daily bias.

Input parameters:

- `rules_path` (string): Optional path to rules.json. Defaults to rules.json in the project root.

### `session_save` (~68 tokens)

Save today's morning brief to ~/.tradingview-mcp/sessions/YYYY-MM-DD.json for future reference.

Input parameters:

- `brief` (string, required): The brief text to save (output from morning_brief after Claude applies the rules).
- `date` (string): Date string YYYY-MM-DD. Defaults to today.

### `session_get` (~39 tokens)

Retrieve a saved session brief. Returns today's if available, otherwise yesterday's.

Input parameters:

- `date` (string): Date string YYYY-MM-DD. Defaults to today.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/tz24cloud-tradingview-mcp-thaqif/tradingview-mcp-thaqif#diagnostics

## Score history

- 2026-08-03: 70
- 2026-08-02: 69
- 2026-08-01: 21
- 2026-07-31: 28
- 2026-07-29: 46
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/tradingview-mcp-thaqif
- Socket report: https://socket.dev/npm/package/tradingview-mcp-thaqif
- Repository: https://github.com/TZ24cloud/tradingview-mcp-thaqif
- Changelog RSS feed: https://verifymcp.io/servers/tz24cloud-tradingview-mcp-thaqif/tradingview-mcp-thaqif/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/tz24cloud-tradingview-mcp-thaqif/tradingview-mcp-thaqif/changelog.json
- HTML version of this page: https://verifymcp.io/servers/tz24cloud-tradingview-mcp-thaqif/tradingview-mcp-thaqif
