github re-analysis due

FerroxLabs/tvcontrol

github

TVControl by Ferrox Labs — TradingView MCP System. AI remote control for TradingView Desktop. 88 MCP tools driving symbols, indicators, Pine, snapshots, sweeps, replay, and live chart vision. All local, zero cloud calls.

maintainer
FerroxLabs
license
NOASSERTION
first seen
2026-06-01
last seen
2026-06-04
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 78dacc0 · analyzer v17 · 2d ago

skills & prompt files 22

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 13

  • fs FerroxLabs-tvcontrol-78dacc0/scripts/count_tools.js :2 import { readdirSync, readFileSync } from 'node:fs';
  • fs FerroxLabs-tvcontrol-78dacc0/scripts/pine_pull.js :4 import { writeFileSync } from 'fs';
  • fs FerroxLabs-tvcontrol-78dacc0/scripts/pine_push.js :4 import { readFileSync } from 'fs';
  • fs FerroxLabs-tvcontrol-78dacc0/src/cli/commands/pine.js :4 import { readFileSync } from 'fs';
  • fs FerroxLabs-tvcontrol-78dacc0/src/connection.js :3 import { readFileSync, writeFileSync, mkdirSync, renameSync } from 'fs';
  • fs FerroxLabs-tvcontrol-78dacc0/src/core/batch.js :13 import { writeFileSync, mkdirSync } from 'fs';
  • fs FerroxLabs-tvcontrol-78dacc0/src/core/capture.js :5 import { writeFileSync, mkdirSync } from 'fs';
  • fs FerroxLabs-tvcontrol-78dacc0/src/core/health.js :5 import { existsSync } from 'fs';
  • fs FerroxLabs-tvcontrol-78dacc0/src/core/state.js :7 import { writeFileSync, readFileSync, mkdirSync, readdirSync, unlinkSync, renameSync, existsSync } from 'node:fs';
  • fs FerroxLabs-tvcontrol-78dacc0/src/core/sweep.js :5 import { writeFileSync, mkdirSync, existsSync, readFileSync, renameSync, unlinkSync, readdirSync, statSync } from 'node:fs';
  • fs FerroxLabs-tvcontrol-78dacc0/src/core/telemetry.js :8 import { appendFileSync, existsSync, renameSync, statSync, unlinkSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
  • fs FerroxLabs-tvcontrol-78dacc0/src/core/vision.js :4 import { readFileSync, mkdirSync } from 'fs';
  • fs FerroxLabs-tvcontrol-78dacc0/src/core/watchlist.js :6 import { writeFileSync, readFileSync, mkdirSync, renameSync, existsSync } from 'node:fs';

shell / exec 1

  • shell FerroxLabs-tvcontrol-78dacc0/src/core/health.js :6 import { execFileSync, spawn } from 'child_process';

network 9

  • net FerroxLabs-tvcontrol-78dacc0/scripts/pine_pull.js :6 const targets = await (await fetch('http://localhost:9222/json/list')).json();
  • net FerroxLabs-tvcontrol-78dacc0/scripts/pine_push.js :9 const targets = await (await fetch('http://localhost:9222/json/list')).json();
  • net FerroxLabs-tvcontrol-78dacc0/src/connection.js :232 const resp = await fetch(`http://${CDP_HOST}:${CDP_PORT}/json/list`);
  • net FerroxLabs-tvcontrol-78dacc0/src/core/alerts.js :117 fetch('https://pricealerts.tradingview.com/list_alerts', { credentials: 'include' })
  • net FerroxLabs-tvcontrol-78dacc0/src/core/chart.js :255 const resp = await fetch(`https://symbol-search.tradingview.com/symbol_search/v3/?${params}`, {
  • net FerroxLabs-tvcontrol-78dacc0/src/core/pine.js :387 const response = await fetch(
  • net FerroxLabs-tvcontrol-78dacc0/src/core/sweep.js :609 // chart is a READ-ONLY metaInfo fetch (_evalConn below). So the start-state
  • net FerroxLabs-tvcontrol-78dacc0/src/core/sweep_parallel.js :63 const resp = await fetch(`http://${CDP_HOST}:${CDP_PORT}/json/new?${url}`, { method: 'PUT' });
  • net FerroxLabs-tvcontrol-78dacc0/src/core/tab.js :15 const resp = await fetch(`http://${CDP_HOST}:${CDP_PORT}/json/list`);

tool registrations 87

  • alert_create FerroxLabs-tvcontrol-78dacc0/src/tools/alerts.js :6
  • alert_list FerroxLabs-tvcontrol-78dacc0/src/tools/alerts.js :15
  • alert_delete FerroxLabs-tvcontrol-78dacc0/src/tools/alerts.js :20
  • alert_delete_by_id FerroxLabs-tvcontrol-78dacc0/src/tools/alerts.js :27
  • batch_run FerroxLabs-tvcontrol-78dacc0/src/tools/batch.js :6
  • capture_screenshot FerroxLabs-tvcontrol-78dacc0/src/tools/capture.js :6
  • chart_get_state FerroxLabs-tvcontrol-78dacc0/src/tools/chart.js :6
  • chart_set_symbol FerroxLabs-tvcontrol-78dacc0/src/tools/chart.js :11
  • chart_set_timeframe FerroxLabs-tvcontrol-78dacc0/src/tools/chart.js :18
  • chart_set_type FerroxLabs-tvcontrol-78dacc0/src/tools/chart.js :25
  • chart_manage_indicator FerroxLabs-tvcontrol-78dacc0/src/tools/chart.js :32
  • chart_get_visible_range FerroxLabs-tvcontrol-78dacc0/src/tools/chart.js :42
  • chart_set_visible_range FerroxLabs-tvcontrol-78dacc0/src/tools/chart.js :47
  • chart_scroll_to_date FerroxLabs-tvcontrol-78dacc0/src/tools/chart.js :55
  • symbol_info FerroxLabs-tvcontrol-78dacc0/src/tools/chart.js :62
  • symbol_search FerroxLabs-tvcontrol-78dacc0/src/tools/chart.js :67
  • data_get_ohlcv FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :6
  • data_get_indicator FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :14
  • data_get_strategy_results FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :21
  • data_get_trades FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :26
  • data_get_equity FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :33
  • quote_get FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :38
  • depth_get FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :45
  • data_get_pine_lines FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :55
  • data_get_pine_labels FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :63
  • data_get_pine_tables FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :72
  • data_get_pine_boxes FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :79
  • data_get_study_values FerroxLabs-tvcontrol-78dacc0/src/tools/data.js :87
  • draw_shape FerroxLabs-tvcontrol-78dacc0/src/tools/drawing.js :6
  • draw_list FerroxLabs-tvcontrol-78dacc0/src/tools/drawing.js :17
  • draw_clear FerroxLabs-tvcontrol-78dacc0/src/tools/drawing.js :22
  • draw_remove_one FerroxLabs-tvcontrol-78dacc0/src/tools/drawing.js :27
  • draw_get_properties FerroxLabs-tvcontrol-78dacc0/src/tools/drawing.js :34
  • tv_health_check FerroxLabs-tvcontrol-78dacc0/src/tools/health.js :6
  • tv_discover FerroxLabs-tvcontrol-78dacc0/src/tools/health.js :11
  • tv_ui_state FerroxLabs-tvcontrol-78dacc0/src/tools/health.js :16
  • tv_launch FerroxLabs-tvcontrol-78dacc0/src/tools/health.js :21
  • indicator_set_inputs FerroxLabs-tvcontrol-78dacc0/src/tools/indicators.js :6
  • indicator_toggle_visibility FerroxLabs-tvcontrol-78dacc0/src/tools/indicators.js :14
  • pane_list FerroxLabs-tvcontrol-78dacc0/src/tools/pane.js :6
  • pane_set_layout FerroxLabs-tvcontrol-78dacc0/src/tools/pane.js :11
  • pane_focus FerroxLabs-tvcontrol-78dacc0/src/tools/pane.js :18
  • pane_set_symbol FerroxLabs-tvcontrol-78dacc0/src/tools/pane.js :25
  • pine_get_source FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :6
  • pine_set_source FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :11
  • pine_compile FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :18
  • pine_get_errors FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :23
  • pine_save FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :28
  • pine_get_console FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :33
  • pine_smart_compile FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :38
  • pine_new FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :43
  • pine_open FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :50
  • pine_list_scripts FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :57
  • pine_analyze FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :62
  • pine_check FerroxLabs-tvcontrol-78dacc0/src/tools/pine.js :69
  • replay_start FerroxLabs-tvcontrol-78dacc0/src/tools/replay.js :6
  • replay_step FerroxLabs-tvcontrol-78dacc0/src/tools/replay.js :13
  • replay_autoplay FerroxLabs-tvcontrol-78dacc0/src/tools/replay.js :18
  • replay_stop FerroxLabs-tvcontrol-78dacc0/src/tools/replay.js :25
  • replay_trade FerroxLabs-tvcontrol-78dacc0/src/tools/replay.js :30
  • replay_status FerroxLabs-tvcontrol-78dacc0/src/tools/replay.js :37
  • state_snapshot FerroxLabs-tvcontrol-78dacc0/src/tools/state.js :6
  • state_restore FerroxLabs-tvcontrol-78dacc0/src/tools/state.js :14
  • state_list FerroxLabs-tvcontrol-78dacc0/src/tools/state.js :21
  • state_delete FerroxLabs-tvcontrol-78dacc0/src/tools/state.js :26
  • strategy_sweep FerroxLabs-tvcontrol-78dacc0/src/tools/sweep.js :10
  • tab_list FerroxLabs-tvcontrol-78dacc0/src/tools/tab.js :6
  • tab_new FerroxLabs-tvcontrol-78dacc0/src/tools/tab.js :11
  • tab_close FerroxLabs-tvcontrol-78dacc0/src/tools/tab.js :16
  • tab_switch FerroxLabs-tvcontrol-78dacc0/src/tools/tab.js :21
  • ui_click FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :6
  • ui_open_panel FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :14
  • ui_fullscreen FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :22
  • layout_list FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :27
  • layout_switch FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :32
  • ui_keyboard FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :39
  • ui_type_text FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :47
  • ui_hover FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :54
  • ui_scroll FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :62
  • ui_mouse_click FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :70
  • ui_find_element FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :80
  • ui_evaluate FerroxLabs-tvcontrol-78dacc0/src/tools/ui.js :97
  • watchlist_get FerroxLabs-tvcontrol-78dacc0/src/tools/watchlist.js :6
  • watchlist_add FerroxLabs-tvcontrol-78dacc0/src/tools/watchlist.js :11
  • watchlist_remove FerroxLabs-tvcontrol-78dacc0/src/tools/watchlist.js :27
  • watchlist_export FerroxLabs-tvcontrol-78dacc0/src/tools/watchlist.js :34
  • watchlist_import FerroxLabs-tvcontrol-78dacc0/src/tools/watchlist.js :41

declared dependencies 2

  • @modelcontextprotocol/sdk@1.12.1
  • chrome-remote-interface@0.33.2