본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 21. 00:48

tradesdontlie/tradingview-mcp

요약

TradingView Desktop 앱과 Claude Code를 연결하여 AI 기반 차트 분석 및 Pine Script 개발을 지원하는 MCP(Model Context Protocol) 도구입니다. Chrome DevTools Protocol을 활용해 로컬 환경에서 작동하며, 금융 인터페이스와 LLM 에이전트 간의 상호작용을 연구하기 위한 인터페이스 계층을 제공합니다.

핵심 포인트

  • Chrome DevTools Protocol(CDP)을 통해 로컬 TradingView Desktop 앱과 상호작용
  • AI 기반의 차트 분석, Pine Script 개발 및 워크플로우 자동화 지원
  • 모든 데이터 처리는 외부 전송 없이 사용자의 기기 내 로컬에서 수행
  • 트레이딩 봇이 아닌, LLM 에이전트가 금융 UI와 상호작용하는 방식을 탐구하는 연구용 도구
  • 유효한 TradingView 구독 및 데스크톱 앱 설치가 필수적임

TradingView Desktop 차트를 위한 개인용 AI 어시스턴트입니다. Chrome DevTools Protocol을 통해 Claude Code를 로컬에서 실행 중인 TradingView 앱에 연결하여, AI 기반 차트 분석, Pine Script 개발 및 워크플로우 자동화를 지원합니다.

경고

이 도구는 TradingView Inc.와 제휴, 보증 또는 연관되어 있지 않습니다. 이 도구는 Chrome DevTools Protocol을 통해 로컬에서 실행 중인 TradingView Desktop 애플리케이션과 상호작용합니다. 사용 전 면책 조항(Disclaimer)을 검토하십시오.

중요

유효한 TradingView 구독이 필요합니다. 이 도구는 TradingView의 유료 결제 장벽(Paywall)이나 액세스 제어를 우회하거나 회피하지 않습니다. 이 도구는 사용자의 기기에서 이미 실행 중인 TradingView Desktop 앱을 읽고 제어합니다.

참고

모든 데이터 처리는 사용자의 기기에서 로컬로 이루어집니다. 이 도구에 의해 TradingView 데이터가 외부로 전송, 저장 또는 재배포되지 않습니다.

주의

이 도구는 Electron 디버그 인터페이스를 통해 문서화되지 않은 TradingView 내부 API에 접근합니다. 이러한 API는 TradingView 업데이트 시 예고 없이 변경되거나 작동이 중단될 수 있습니다. 안정성이 중요하다면 TradingView Desktop 버전을 고정(Pin)하여 사용하십시오.

이 도구는 TradingView의 서버에 연결하거나, TradingView 파일을 수정하거나, 네트워크 트래픽을 가로채지 않습니다. 이 도구는 오직 Chrome DevTools Protocol (CDP)을 통해 로컬에서 실행 중인 TradingView Desktop 인스턴스와만 통신합니다. CDP는 VS Code, Slack, Discord를 포함하여 Google이 모든 Chromium/Electron 애플리케이션에 구축한 표준 디버깅 인터페이스입니다.

디버그 포트는 기본적으로 비활성화되어 있으며, 표준 Chromium 플래그(--remote-debugging-port=9222)를 사용하여 사용자가 명시적으로 활성화해야 합니다. 이러한 의도적인 단계 없이는 아무것도 작동하지 않습니다.

  • TradingView의 서버 또는 API에 연결
  • 시장 데이터를 저장, 전송 또는 재배포
  • 유효한 TradingView 구독 및 설치된 Desktop 앱 없이 작동
  • TradingView의 유료 결제 장벽(Paywall) 또는 액세스 제한 우회
  • 실제 거래 실행 (차트 상호작용만 가능)
  • TradingView가 내부 Electron 구조를 변경할 경우 작동

이 프로젝트는 다음과 같은 개방형 연구 질문을 탐구합니다: LLM (Large Language Model) 기반 에이전트가 인간의 의사결정을 지원하기 위해 전문적인 트레이딩 인터페이스와 어떻게 상호작용할 수 있는가?

구체적으로 다음 사항들을 조사합니다:

  • 구조화된 도구 API (MCP, Model Context Protocol)가 어떻게 LLM과 상태 유지형 (stateful) 데스크톱 금융 애플리케이션 사이의 가교 역할을 할 수 있는가
  • 에이전트가 실시간 차트 데이터에서 작동할 때 어떤 지연 시간 (latency), 컨텍스트 (context), 신뢰성 제약 조건이 발생하는가
  • 에이전트가 모호한 금융 UI 상태를 어떻게 처리하는가 (예: Pine Script 출력 해석, 지표 테이블 읽기)
  • 자연어가 차트 탐색 및 Pine Script 개발을 위한 효과적인 인터페이스인가
  • 실시간 데이터 환경에서 작동하는 LLM 에이전트의 실패 모드 (failure modes)

이것은 트레이딩 봇이 아닙니다. 트레이딩 애플리케이션을 LLM 에이전트가 읽을 수 있도록 만드는 인터페이스 계층이며, 연구자와 개발자가 금융 워크플로우에서의 인간-AI 협업을 연구할 수 있도록 돕습니다.

미해결 질문, 연구 결과 및 관련 작업은 RESEARCH.md를 참조하십시오.

TradingView 데스크톱 앱 (실시간 데이터를 위해 유료 구독 필요)
Node.js 18+
Claude Code (MCP 도구용, MCP 지원 필요) 또는 모든 터미널 (CLI용)
macOS, Windows 또는 Linux

당신의 AI 어시스턴트에게 당신의 차트를 볼 수 있는 눈과 조작할 수 있는 손을 제공합니다:

Pine Script 개발— AI의 도움을 받아 스크립트를 작성, 주입, 컴파일, 디버깅 및 반복 개선
차트 탐색— 심볼 변경, 타임프레임 변경, 특정 날짜로 확대/축소, 지표 추가/제거
시각적 분석— 차트의 지표 값, 가격 수준 및 주석 읽기
차트에 그리기— 추세선, 수평선, 사각형, 텍스트 주석
알림 관리— 가격 알림 생성, 목록 보기 및 삭제
리플레이 연습— 과거 봉(bar)을 단계별로 탐색하며 진입/청산 연습
스크린샷— AI 시각적 분석을 위해 차트 상태 캡처
멀티 패널 레이아웃— 패널당 서로 다른 심볼을 사용하는 2x2, 3x1 등의 그리드 설정
차트 모니터링— 로컬 모니터링 스크립트를 위해 로컬에서 실행 중인 차트로부터 JSONL 스트리밍
CLI 액세스— 모든 MCP 도구는 또한 tv 명령어로 사용 가능

CLI 명령어, JSON 출력을 통한 파이프(pipe) 친화적 구성
TradingView 실행— 어떤 플랫폼에서든 디버그 모드로 자동 감지 및 실행

이 내용을 Claude Code에 붙여넣으면 나머지는 자동으로 처리됩니다:

TradingView MCP 서버를 설치하세요. https://github.com/tradesdontlie/tradingview-mcp.git를 클론(Clone)하고, npm install을 실행한 뒤, ~/.claude/.mcp.json에 있는 내 MCP 설정에 추가하고, 디버그 포트로 TradingView를 실행하세요. 그 다음 tv_health_check로 연결을 확인하세요.

또는 아래의 수동 단계를 따르세요.

git clone https://github.com/tradesdontlie/tradingview-mcp.git
cd tradingview-mcp
npm install

TradingView Desktop이 9222 포트에서 Chrome DevTools Protocol이 활성화된 상태로 실행 중이어야 합니다.

Mac:

./scripts/launch_tv_debug_mac.sh

Windows:

scripts\launch_tv_debug.bat

Linux:

./scripts/launch_tv_debug_linux.sh

또는 모든 플랫폼에서 수동으로 실행:

/path/to/TradingView --remote-debugging-port=9222

또는 MCP 도구 사용 (설치 경로를 자동 감지함):

"tv_launch를 사용하여 디버그 모드로 TradingView를 시작하세요"

Claude Code MCP 설정(~/.claude/.mcp.json 또는 프로젝트 .mcp.json)에 추가하세요:

{
"mcpServers": {
"tradingview": {
...

/path/to/tradingview-mcp를 실제 경로로 교체하세요.

Claude에게 질문하세요: "tv_health_check를 사용하여 TradingView가 연결되었는지 확인해줘"

모든 MCP 도구는 tv CLI 명령어로도 접근할 수 있습니다. 모든 출력은 jq와 함께 파이프(piping)할 수 있도록 JSON 형식으로 제공됩니다.

# 전역 설치 (선택 사항)
npm link
# 또는 직접 실행
...
tv status # 연결 확인
tv quote # 현재 가격
tv symbol AAPL # 심볼 변경
...
tv status / launch / state / symbol / timeframe / type / info / search
tv quote / ohlcv / values
tv data lines/labels/tables/boxes/strategy/trades/equity/depth/indicator
...

tv stream 명령어는 localhost의 Chrome DevTools Protocol을 통해 로컬에서 실행 중인 TradingView Desktop 인스턴스를 정기적인 간격으로 폴링(poll)합니다.

TradingView 서버로의 연결은 이루어지지 않습니다. 모든 데이터는 사용자의 기기에 머뭅니다.

경고

데이터 소스와 관계없이 TradingView 데이터를 프로그래밍 방식으로 소비하는 것은 해당 서비스의 이용 약관 (Terms of Use)과 충돌할 수 있습니다. 귀하의 사용이 약관을 준수하는지 확인할 책임은 전적으로 귀하에게 있습니다.

tv stream quote # 가격 틱 모니터링 (price tick monitoring)
tv stream bars # 봉 단위 업데이트 (bar-by-bar updates)
tv stream values # 지표 값 모니터링 (indicator value monitoring)
...

Claude는 이 프로젝트에서 작업할 때 CLAUDE.md를 자동으로 읽습니다. 여기에는 완전한 결정 트리 (decision tree)가 포함되어 있습니다:

귀하가 말하면...Claude가 사용하는 것...
"내 차트에 무엇이 있나요?"chart_get_statedata_get_study_valuesquote_get
...
도구 (Tool)사용 시점출력 크기 (Output size)
chart_get_state첫 번째 호출 — 심볼 (symbol), 타임프레임 (timeframe), 모든 지표 이름 + ID 가져오기~500B
data_get_study_values모든 지표로부터 현재 RSI, MACD, BB, EMA 값 읽기~500B
quote_get최신 가격, OHLC, 거래량 (volume) 가져오기~200B
data_get_ohlcv가격 봉 (price bars) 가져오기. summary: true를 사용하여 압축된 통계에 사용500B (요약) / 8KB (100개 봉)

가시적인 모든 Pine 지표로부터 line.new(), label.new(), table.new(), box.new() 출력을 읽습니다.

도구 (Tool)사용 시점출력 크기 (Output size)
data_get_pine_lines수평 가격 레벨 (지지/저항, 세션 레벨) 읽기~1-3KB
data_get_pine_labels텍스트 주석 + 가격 읽기 ("PDH 24550", "Bias Long")~2-5KB
data_get_pine_tables데이터 테이블 읽기 (세션 통계, 분석 대시보드)~1-4KB
data_get_pine_boxes가격 구역 / 범위(range)를 {high, low} 쌍으로 읽기~1-2KB

특정 지표를 대상으로 하려면 항상 study_filter를 사용하세요:

study_filter: "Profiler"

도구 (Tool)기능 (What it does)
chart_set_symbol티커 (Ticker) 변경 (BTCUSD, AAPL, ES1!, NYMEX:CL1!)
chart_set_timeframe해상도 (Resolution) 변경 (1, 5, 15, 60, D, W, M)
chart_set_type스타일 (Style) 변경 (Candles, HeikinAshi, Line, Area, Renko)
chart_manage_indicator지표 (Indicator) 추가/제거. 전체 이름을 사용하세요: "RSI"가 아닌 "Relative Strength Index"
chart_scroll_to_date특정 날짜로 이동 (ISO 형식: "2025-01-15")
chart_set_visible_range정확한 범위로 확대/축소 (Unix 타임스탬프 사용)
symbol_info / symbol_search심볼 (Symbol) 메타데이터 및 검색
indicator_set_inputs / indicator_toggle_visibility지표 설정 변경, 표시/숨기기
도구 (Tool)기능 (What it does)
pane_list심볼 및 활성 상태를 포함한 모든 페인 (Pane) 목록 나열
pane_set_layout그리드 (Grid) 변경: s , 2h , 2v , 2x2 , 4 , 6 , 8
pane_focus인덱스(Index)를 통해 특정 페인에 포커스
pane_set_symbol모든 페인에 심볼 설정
도구 (Tool)기능 (What it does)
tab_list열려 있는 차트 탭 (Tab) 목록 나열
tab_new / tab_close탭 열기/닫기
tab_switch인덱스를 통해 탭 전환
도구 (Tool)단계 (Step)
pine_set_source1. 에디터(Editor)에 코드 주입
pine_smart_compile2. 자동 감지 및 오류 체크와 함께 컴파일 (Compile)
pine_get_errors3. 오류가 있는 경우 컴파일 오류 읽기
pine_get_console4. log.info() 출력 읽기
pine_save5. TradingView 클라우드에 저장
pine_get_source현재 스크립트(Script) 읽기 (주의: 복잡한 스크립트의 경우 200KB 이상일 수 있음)
pine_new빈 지표(Indicator)/전략(Strategy)/라이브러리(Library) 생성
pine_open / pine_list_scripts저장된 스크립트 열기 또는 목록 나열
pine_analyze오프라인 정적 분석 (차트 불필요)
pine_check서버 측 컴파일 체크 (차트 불필요)
도구 (Tool)단계 (Step)
replay_start특정 날짜에서 리플레이 (Replay) 시작
replay_step한 봉 (Bar) 진행
replay_autoplay자동 진행 (ms 단위로 속도 설정)
replay_trade매수/매도/포지션 종료
replay_status포지션, 손익(P&L), 날짜 확인
replay_stop실시간 상태로 복귀
도구 (Tool)기능
draw_shape수평선 (horizontal_line), 추세선 (trend_line), 사각형 (rectangle), 텍스트 (text) 그리기
draw_list / draw_remove_one / draw_clear드로잉 (drawings) 관리
alert_create / alert_list / alert_delete가격 알림 (price alerts) 관리
capture_screenshot스크린샷 (영역: 전체, 차트, 전략 테스터)
batch_run여러 심볼/타임프레임(timeframes)에 걸쳐 작업 실행
watchlist_get / watchlist_add관심종목(watchlist) 읽기/수정
layout_list / layout_switch저장된 레이아웃 (layouts) 관리
ui_open_panel / ui_click / ui_evaluateUI 자동화
tv_launch / tv_health_check / tv_discover연결 관리

도구들은 컨텍스트 (context) 사용량을 최소화하기 위해 기본적으로 압축된 출력을 반환합니다. 일반적인 "내 차트 분석" 워크플로우의 경우, 전체 컨텍스트는 약 80KB가 아닌 약 5-10KB 수준입니다.

기능컨텍스트 절약 방식
Pine lines모든 라인 객체가 아닌 중복 제거된 가격 레벨만 반환
...verbose: true
study_filter모든 지표를 스캔하는 대신 하나의 지표만 타겟팅

실행 스크립트 및 tv_launch는 TradingView를 자동 감지합니다. 자동 감지에 실패할 경우:

플랫폼일반적인 위치
Mac/Applications/TradingView.app/Contents/MacOS/TradingView
Windows%LOCALAPPDATA%\TradingView\TradingView.exe , %PROGRAMFILES%\WindowsApps\TradingView*\TradingView.exe
Linux/opt/TradingView/tradingview , ~/.local/share/TradingView/TradingView , /snap/tradingview/current/tradingview

핵심 플래그: --remote-debugging-port=9222

# --remote-debugging-port=9222 옵션과 함께 TradingView가 실행 중이어야 함
npm test

다음 사항을 포함하는 29개의 테스트:
Pine Script 정적 분석 (static analysis), 서버 측 컴파일 (server-side compilation), 그리고 CLI 라우팅 (routing).

Claude Code ←→ MCP Server (stdio) ←→ CDP (port 9222) ←→ TradingView Desktop (Electron)

전송 (Transport): stdio를 통한 MCP (78개 도구) + CLI (tv

command, 30개의 명령(commands)과 66개의 하위 명령(subcommands))연결 (Connection): localhost:9222 상의 Chrome DevTools Protocol (CDP)스트리밍 (Streaming): 중복 제거(deduplication) 기능이 포함된 Poll-and-diff 루프, stdout으로의 JSONL 출력의존성 없음 (No dependencies): @modelcontextprotocol/sdkchrome-remote-interface 외에는 없음

이 프로젝트는 다음 기업과 관련이 없으며, 보증을 받거나 연관되어 있지 않습니다:

TradingView Inc.— TradingView는 TradingView Inc.의 상표입니다.
Anthropic— Claude 및 Claude Code는 Anthropic, PBC의 상표입니다.

이 도구는 표준 MCP 프로토콜을 통해 Claude Code에 연결되는 독립적인 MCP 서버입니다. 이 도구는 Anthropic의 소프트웨어를 포함하거나 수정하지 않습니다.

이 프로젝트는 개인적, 교육적 및 연구 목적으로만 제공됩니다.

이 도구의 작동 방식: 이 도구는 Google이 모든 Chromium 기반 애플리케이션에 내장한 표준 디버깅 인터페이스인 Chrome DevTools Protocol (CDP)을 사용합니다. 이 도구는 독점적인 TradingView 프로토콜을 역공학(reverse engineer)하거나, TradingView의 서버에 연결하거나, 어떠한 액세스 제어(access controls)도 우회하지 않습니다. 디버그 포트는 사용자가 표준 Chromium 명령줄 플래그(--remote-debugging-port=9222)를 통해 명시적으로 활성화해야 합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0