
TradingView MCP의 함정 — 에러 없이 잘못된 값을 반환하는 6가지 동작
요약
TradingView MCP를 실운용하며 발견된 6가지 기술적 결함과 주의사항을 다룹니다. 에러 없이 잘못된 값을 반환하는 반올림 문제, 심볼 파라미터 오류, 도구별 정밀도 차이 등 실무적인 위험 요소를 분석합니다.
핵심 포인트
- data_get_study_values는 소수를 정수로 반올림하여 정밀한 지표 분석 시 위험함
- quote_get의 symbol 파라미터가 무시되어 잘못된 종목 데이터를 반환할 수 있음
- 도구마다 소수점 정밀도 사양이 다르므로 개별 확인이 필수적임
- data_get_ohlcv는 로드된 봉 데이터와 최대 500개 제한이 있음
- 스크롤 관련 도구의 타임아웃 및 스크린샷 저장 경로 문제 주의
TradingView MCP의 도입 절차는 지난 기사에 작성했습니다. 이 기사는 그 후속편으로, 실운용 과정에서 발견된 문제점에 관한 이야기입니다.
TradingView MCP는 에러를 내지 않고 잘못된 값을 반환한다
TradingView의 MCP가 화제가 되고 있습니다. 78개의 도구, Pine Script의 자동 루프, 차트 데이터 직접 읽기. 전부 정말로 작동합니다.
다만, 약 3개월 동안 매일 분석에 포함하여 운용해 온 결과 알게 된 것이 있습니다. 이 MCP는, 망가질 때 조용히 망가집니다.
예외(Exception)는 발생하지 않습니다. 도구는 정상 응답을 반환합니다. 값만 다를 뿐입니다. 대조해 보지 않는 한, 알아챌 수 있는 수단이 없습니다.
이하, 실측을 통해 확인한 내용을 위험도 순으로 나열합니다.
- data_get_study_values는 소수를 정수로 반올림한다
이것이 가장 위험합니다.
상관계수 0.836을 가져왔을 때, 반환값은 “1”이었습니다 (2026-08-04 실측). 동시에 가져온 Mini Metric “5”, Composite “4”, Divergence “1”도 모두 반올림된 값입니다.
즉, 1 미만의 값을 가진 지표는 이 도구로 읽을 수 없습니다. 상관관계, 정규화 메트릭 (Normalized Metric), 비율, Z-score. 모두 불가능합니다.
그리고 진짜 무서운 것은 여기서부터입니다. 임계값(Threshold) 판정에 사용하면 조용히 망가집니다.
divThreshold = 1.0 의 조건 분기를 작성했다고 가정했을 때, 실제 값이 0.6이라도 “1”이 반환되기 때문에 조건이 통과됩니다. 로직은 정상적으로 동작하고, 결과만 틀리게 됩니다. 백테스트(Backtest) 수치가 맞지 않을 때, 설마 MCP의 반올림이 원인일 것이라고는 생각하지 못합니다.
소수 정밀도가 필요한 검증에는 이 도구를 사용하지 마십시오. 화면의 data window를 육안으로 확인하거나, 별도의 경로로 데이터를 가져와야 합니다.
- quote_get의 symbol 파라미터가 기능하지 않는다
NASDAQ:SOX를 지정해도, 반환되는 것은 차트에 표시 중인 종목입니다. 실제로 지정했을 때 “Nikkei 225 Mini Futures”가 반환되었습니다 (2026-07-18 실측).
여러 종목을 횡단하여 가져오는 설계로 만들 경우, 모든 레코드에 동일한 종목의 값이 들어갑니다. 게다가 구조적으로는 정상이기 때문에, 언뜻 봐서는 눈치채지 못합니다.
대책은 하나입니다. 응답의 description / symbol 필드를 매번 대조할 것. 대조하지 않고 다른 종목의 값으로 인용하는 것은 사고로 이어집니다.
- 도구마다 정밀도 사양이 다르다
반면, data_get_pine_lines는 소수를 유지합니다. 64466.53과 같은 값이 그대로 반환되었습니다 (2026-08-04 실측). line / label 계열은 정밀도를 신뢰할 수 있습니다.
이 점이 설계상 가장 까다로운 부분으로, “MCP는 반올림한다”라는 일률적인 이해를 할 수 없습니다. 도구 단위로 사양이 다릅니다. 사용하기 전에 해당 도구가 소수를 유지하는지 개별적으로 확인할 필요가 있습니다.
- data_get_ohlcv는 최대 500개, 그리고 로드된 봉(Bar)만 가능
차트에 로드되지 않은 봉은 반환되지 않습니다. NK225M1!의 일봉 기준으로 300개 = 약 15개월 분량이 상한이었습니다.
백테스트용 장기 데이터 취득은 MCP의 용도 외라고 생각하는 편이 좋습니다. 별도의 파이프라인이 필요합니다.
- chart_scroll_to_date는 4분 후에 타임아웃된다
chart_set_timeframe / chart_get_visible_range / data_get_ohlcv / quote_get는 정상적으로 동작합니다. 스크롤 계열만 실패합니다.
- capture_screenshot는 로컬 경로에 저장된다
저장 위치가 로컬이므로, Claude 측의 컨테이너에서는 읽을 수 없습니다. 차트의 육안 확인을 MCP를 통해 자동화하는 것은 현재로서는 불가능합니다. 이미지가 필요한 상황에서는 사람이 직접 보내는 수밖에 없습니다.
현재 시점에서 신뢰할 수 있는 구성
읽기 계열에서 안정적인 것은 quote_get (차트 종목만 가능 · 대조 필수), data_get_ohlcv, data_get_pine_labels, data_get_pine_lines, data_get_pine_tables, chart_get_state, chart_get_visible_range입니다.
data_get_study_values는 정수 반올림을 전제로 취급합니다.
운용 측면에서는 종목과 시간봉의 전환은 수동으로, MCP는 읽기에 전념하게 하는 형태가 가장 안정적이었습니다. 단일 탭이 필수입니다. 실행 시 --remote-debugging-port=9222 가 필요합니다.
여기까지의 결론
MCP가 나쁘다는 뜻은 아닙니다. TradingView에 API가 없는 상황에서 CDP를 통해 접근할 수 있도록 만든 것 자체는 혁신적인 돌파구입니다. 실제로 저 또한 매일 분석에 사용하고 있습니다.
다만 '작동한다'는 것과 '정확한 값이 반환된다'는 것은 별개의 문제였습니다.
도입 관련 기사는 곳곳에 있지만, 어떤 도구를 신뢰할 수 없는지에 대해 쓴 글은 보지 못했기에 실측 데이터를 공개합니다. 같은 지뢰를 밟는 사람이 줄어들기를 바랍니다.
TradingView MCP의 도입 절차는 지난 기사에 작성했습니다.
Discussion

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