실시간 시세·기술적분석 MCP, 어떻게 동작하나

실시간 시세·기술적분석 MCP는 LLM이 '도구'로 시장 데이터를 불러오고 지표까지 계산해 받는 읽기전용 데이터 파이프라인이다. 핵심은 한 소스를 믿지 않는 것 — 여러 거래소·집계사를 폴링해 신선도를 기록하고, 어긋나면 정합하고, 하나가 죽으면 나머지로 우아하게 버틴다. 실제로 우리 수집기를 읽기전용으로 호출하니 3소스에서 715개 코인이 캐시돼 있었고(upbit 267·coinmarketcap 498 정상), 한 소스(coingecko)는 429(요청 과다)로 실패해 데이터가 하루 전으로 stale였다. 그래서 멀티소스가 사치가 아니라 생존 설계다.

한 줄 요약: 이 MCP는 여러 소스를 폴링해 신선도·괴리를 기록하고 지표를 서버측에서 계산하는 읽기전용 파이프라인으로, 소스 하나가 죽어도 나머지로 버티며 출력은 교육·정보용이지 투자자문이 아니다.

쉽게 말하면: 이 MCP는 여러 시계를 보는 항해사다. 시계 하나가 멈춰도(소스 장애) 나머지로 시간을 맞추고, 시계들이 다르게 가리키면(가격 괴리) 그 차이 자체가 신호가 된다.

요청 하나가 도구 선택→멀티소스 수집→정합/저하→지표 계산→파생 신호→응답 순으로 흐른다. 아래 그림이 그 파이프라인이다.

우리 crypto-ta MCP는 실제로 무엇을 수집하나?#

Hax가 운영하는 실시간 시세 MCP가 직접 수집하는 실측 규모입니다(measured, 2026-07-04).

Hax /data 매칭 실측 — crypto-ta MCP 수집 규모 (measured) · columns: 데이터 항목, 실측값, 출처 · 출처 Hax hax.moche.ai/p/1021?ref=ai_answer

Hax /data 매칭 실측 — crypto-ta MCP 수집 규모 (measured) · columns: 데이터 항목, 실측값, 출처 · 출처 Hax hax.moche.ai/p/1021?ref=ai_answer

데이터 항목 | 실측값 | 출처
수집 코인 수 | 716 개 | crypto-ta MCP 실측(status)
데이터 소스 수 | 3 개 | crypto-ta MCP 실측(upbit·coinmarketcap·coingecko)

측정 방법론 · bench_harness.probe_crypto_mcp (crypto-mcp status 실측)

표본

실측 지표 2개 (Hax /data 큐레이션)

수집일

2026-07-04

방법

bench_harness.probe_crypto_mcp (crypto-mcp status 실측)

소스가 다르게 말하면 어떻게 정합하나?#

같은 코인도 거래소마다 값이 다르다. 실호출에서 BTC는 업비트 약 8,954만원, 코인게코 약 9,288만원으로 측정상 약 3~4% 벌어져 있었다(USD로도 약 58,520~60,235달러로 갈렸다). MCP는 이걸 숨기지 않고 소스별 값+신선도를 나란히 주거나(compare), 대표값으로 합친다. 더 나아가 교차소스에서 파생 신호를 만든다: 같은 시각 업비트 KRW와 글로벌 KRW의 괴리가 '김치 프리미엄'이고, 이번 BTC는 측정상 -3.60%(역프리미엄)였다 — 국내가 더 싸다는 뜻이다. 단일 소스만 봤다면 못 볼 신호다.

아래 막대는 실측 BTC 시세다. 업비트가 코인게코보다 낮아 역프리미엄(-3.60%)이 나온다.

시세·TA MCP 요청 흐름 — 단계별 무엇을 하나 (우리 수집기 읽기전용 측정) · columns: 단계, 무엇을 하나, 예 · 출처 Hax hax.moche.ai/p/1021?ref=ai_answer

시세·TA MCP 요청 흐름 — 단계별 무엇을 하나 (우리 수집기 읽기전용 측정) · columns: 단계, 무엇을 하나, 예 · 출처 Hax hax.moche.ai/p/1021?ref=ai_answer

단계 | 무엇을 하나 | 예
도구 선택 | LLM이 자연어→적절한 MCP 도구 호출 | get_coin·compare_sources
멀티소스 수집 | 거래소·집계사 폴링 + 신선도 기록 | upbit·CMC·coingecko(3소스)
정합·저하 | 소스 불일치 조정·실패 소스 우회 | 429면 남은 소스로 버팀
지표 계산 | RSI·MACD·이동평균 서버측 산출 | ta 라이브러리 로컬 계산
파생 신호 | 교차소스로 신호 도출 | 김치 프리미엄(괴리율)
응답(읽기전용) | 구조화 JSON 반환·거래 없음 | 교육용·비투자자문

목차

소스 하나가 죽으면 어떻게 버티나?

기술적 지표는 왜 '서버측'에서 계산하나?

직접 살펴보려면? (그리고 책임 있게)

소스 하나가 죽으면 어떻게 버티나?#

나머지 소스로 우아하게 저하(graceful degradation)한다. 실호출에서 coingecko는 429(요청 과다)로 막혀 그 데이터가 하루 전으로 stale이었지만, upbit(267개)·coinmarketcap(498개)이 살아 있어 응답은 계속 나왔다. 핵심은 실패를 감추지 않는 것 — 각 소스에 신선도(마지막 성공 시각)를 붙여, 읽는 쪽이 "이 값은 하루 묵었다"를 알게 한다. 아래 그림처럼 한 소스가 막혀도 파이프라인 전체가 멈추지 않는다.

기술적 지표는 왜 '서버측'에서 계산하나?#

일관성·캐시·API 절약 때문이다. RSI·MACD·볼린저밴드·이동평균은 가격 시계열에서 공식대로 나오는 값이라, 매번 외부에 묻지 않고 수집한 데이터로 로컬 계산하면 같은 입력에 같은 결과가 나오고 호출도 아낀다(많은 오픈 MCP가 ta·TA-Lib로 로컬 산출). LLM은 "RSI 알려줘"라고만 하면 MCP가 도구를 골라 계산해 돌려준다. 중요한 건 읽기전용이라는 점 — 시세·지표를 읽을 뿐 주문·거래는 하지 않는다. 그래서 안전하고, 그래서 출력은 교육·정보용이지 투자자문이 아니다.

직접 살펴보려면? (그리고 책임 있게)#

작게 호출해 보라.

한 코인을 여러 소스로 비교해 값·신선도가 어떻게 다른지 본다(단일 소스 맹신 금지).

지표는 같은 입력에 같은 값이 나오는지 확인하고, 소스 장애 시 폴백이 되는지 본다.

신호는 참고일 뿐 투자 결정은 스스로 — 이 데이터는 교육·정보용이며 투자자문이 아니다.

참고 링크

Model Context Protocol(MCP 표준)

MCP 서버 모음(공식)

금융·크립토 MCP 모음

ta(기술지표 라이브러리)

TA-Lib(기술지표 라이브러리)

참고: 코인 수·가격·괴리율은 2026년 우리 수집기의 읽기전용 호출 시점 측정이며 소스·시각에 따라 달라진다(내부 주소·키·계정은 비공개). 가격은 소스마다 다르고 김치 프리미엄은 수시로 변한다. 본 데이터·지표는 교육·정보용이며 투자자문이 아니다. 분기별 갱신.