Stock MCP Server

Stock MCP Server

Provides technical analysis for Korean and US stocks through natural language queries. Enables users to analyze stock charts, search for tickers, and access technical indicators like RSI and MACD within Claude Desktop and other MCP clients.

Category
访问服务器

README

📈 Stock MCP Server

한국/미국 주식의 기술적 분석과 전략 기반 스크리닝을 제공하는 Model Context Protocol (MCP) 서버입니다. Claude Desktop, Claude Code 등 MCP 호환 클라이언트에서 자연어로 차트 분석·종목 스크리닝을 할 수 있습니다.

✨ Features

  • 🇰🇷 한국 주식 분석pykrx 기반 KOSPI/KOSDAQ 전 종목 OHLCV + 기술적 지표
  • 🇺🇸 미국 주식 분석yfinance 기반 NYSE/NASDAQ 종목 + 시가총액/PER/52주 고저가
  • 🔍 종목 검색 — 종목명으로 종목코드 찾기 (한국 종목)
  • 📊 10가지 Momentum 전략 + 7가지 Breakout 전략 — 골든크로스부터 VCP까지
  • 🎯 두 가지 스크리닝 철학 — 🐎 달리는 말 잡아타기 vs 🌱 곧 달릴 말 찾기
  • 🔎 다단 사전필터 — 거래량 급증·Trend Template·RS·52주 밴드 등

🛠️ Tools

Tool 설명 입력 예시
get_stock_analysis 한국 종목 기술적 분석 ticker="005930" (삼성전자)
get_us_stock_analysis 미국 종목 기술적 분석 symbol="NVDA"
search_stock 종목명 → 종목코드 검색 keyword="알체라"
screen_kr_momentum 🐎 한국 달리는 말 잡아타기 (Stage 2 추세) market="ALL"
screen_us_momentum 🐎 미국 달리는 말 잡아타기 symbols=None (Yahoo 자동 시드)
screen_kr_breakout 🌱 한국 곧 달릴 말 찾기 (VCP·매집·Stage 1 말기) market="ALL"
screen_us_breakout 🌱 미국 곧 달릴 말 찾기 symbols=None
diagnose_stock 특정 종목 전략 진단 ticker="005930", market="KR"

🎯 Screening: 두 가지 철학

🐎 Momentum — 달리는 말 잡아타기

이미 상승 추세에 진입한 종목의 추세 지속(Stage 2 continuation) 을 포착합니다. O'Neil의 CANSLIM, Minervini의 Trend Template 이론 기반.

파이프라인

시드 (네이버 거래량/상승률/급등  |  Yahoo most_actives/day_gainers/small_cap_gainers)
  ↓
① min_trade_value         — 유동성
② 당일 과열 제외 +10% 이상  — 추격매수 방지
③ 20일 내 거래량 급증 ≥ 3x  — 자금 유입 시그널
④ Minervini Trend Template — Stage 2 6조건 (ON)
⑤ 52주 고점 근접            — OFF (Trend Template과 중복)
⑥ RS vs 지수               — OFF (opt-in, 강한 종목만 보고 싶을 때)
  ↓
10가지 Momentum 전략 적용

적용 전략 (10)

  • 기존 4: 골든크로스+거래량, 눌림목 매수, 모멘텀 돌파, 거래량 폭발
  • 신규 6: RSI 다이버전스, MACD 다이버전스, 스토캐스틱, BB 스퀴즈, 일목균형표 돌파, 3선 정배열

🌱 Breakout — 곧 달릴 말 찾기

아직 크게 움직이지 않은 매집 단계 / 돌파 직전 종목을 포착합니다. Mark Minervini의 VCP 패턴, Wyckoff 매집 이론 기반.

파이프라인

시드 (Momentum과 동일 — 매집도 거래량에 반영됨)
  ↓
① min_trade_value
② 당일 과열 제외 +10% 이상
③ 누적 상승 한도: 최근 30일 +30% 이상 제외   ← Breakout 전용
④ 52주 밴드: 고점 × 0.85 이하 AND 저점 × 1.20 이상 ← 전용 (중간권만)
⑤ 20일 내 거래량 급증 ≥ 2x                    (momentum의 3x보다 완화)
  ↓
Breakout 7전략 적용  (Trend Template / 52w 근접 / RS 모두 off)

적용 전략 (7)

  • 재사용 4: 눌림목 매수, 거래량 폭발, MACD 다이버전스, BB 스퀴즈
  • 신규 3: VCP 변동성 수축, 조용한 매집, Stage 1 말기 전환

🧪 두 모드 비교

🐎 Momentum 🌱 Breakout
철학 추세 지속 매집 → 돌파 초기
누적 상승률 제한 없음 30일 +30% 이상 제외
52주 위치 고점 근접 권장 고점 85% 이하 + 저점 120% 이상 밴드
Trend Template ON (MA 정배열 요구) OFF
거래량 급증 3.0x 2.0x (매집은 덜 폭발적)
전략 개수 10개 7개 (신규 3 포함)
적합한 타이밍 시장 강세기, 추세 추종 조정기 후 재진입, 바닥 반전

실전 결과 비교 예시

동일 시장(KOSPI) 기준:

  • Momentum: 퍼스텍(6전략 충족) — 이미 달리고 있는 종목
  • Breakout: 대원전선 30일 -20.32%, 52주고점 72% 지점에서 눌림목+VCP — 매집 전형

📊 신규 Breakout 전략 설명

VCP (Volatility Contraction Pattern)

최근 15일을 5일씩 3구간으로 나눠 각 구간의 고저 범위(%)가 순차 축소되는지 판정. 코일링 스프링 형태 → 돌파 임박. (Mark Minervini)

조용한 매집 (Silent Accumulation)

최근 20일 거래량 평균이 이전 20일 대비 증가하고 급증일도 있지만, 같은 20일 가격 변동폭은 ±8% 이내 → 시장에 드러나지 않은 세력 매집.

Stage 1 말기 전환

바닥 박스권(Stage 1)에서 완만한 상승(Stage 2 초입)으로 넘어가는 구간.

  • MA60 기울기 1개월 전 대비 상승
  • MA20 > MA60 (단기 상향 전환)
  • 종가 > MA60 (지지 확보)
  • BB폭 ≤ 20일 평균 (아직 변동성 미확장)

🔎 사전필터 파라미터 치트시트

Momentum 스크리너 공통

파라미터 기본 용도
exclude_if_up_pct 10.0 오늘 +10% 이상 제외. None이면 미적용
spike_threshold 3.0 거래량 급증 배율
enable_trend_template True Minervini Trend Template
enable_rs_filter False RS 필터 (강한 종목만 보고 싶을 때 on)
min_rs_outperformance 0.0 벤치마크 초과수익(pp) 임계값

Breakout 스크리너 공통

파라미터 기본 용도
max_cumulative_return_pct 30.0 최근 N일 누적 상승률 상한(%)
cumulative_return_days 30 누적 계산 구간
high_ceiling 0.85 52주 고점 × 이 값 이하만 통과
low_floor 1.20 52주 저점 × 이 값 이상만 통과
spike_threshold 2.0 거래량 급증 (매집은 완화된 배율)

📦 Installation

Prerequisites

  • Python 3.13+
  • uv (권장)

Setup

git clone https://github.com/Juuuuuuni/stock-mcp-server.git
cd stock-mcp-server
uv sync

🚀 Usage

Claude Desktop 연동

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 또는 %APPDATA%\Claude\claude_desktop_config.json (Windows)에 다음을 추가:

{
  "mcpServers": {
    "stock-analyzer": {
      "command": "uv",
      "args": [
        "--directory",
        "/절대/경로/stock-mcp-server",
        "run",
        "python",
        "server.py"
      ]
    }
  }
}

직접 실행

uv run python server.py

💬 대화 예시

개별 종목 분석

👤 삼성전자 최근 분석해줘
🤖 [get_stock_analysis("005930")] → 현재가 / RSI / MACD / 추세 해석

👤 NVDA 한 달 차트 분석
🤖 [get_us_stock_analysis("NVDA", days=30)]

👤 알체라 종목코드가 뭐야?
🤖 [search_stock("알체라")] → 347860

스크리닝 (달리는 말)

👤 지금 코스피에서 뜨는 종목 찾아줘
🤖 [screen_kr_momentum(market="KOSPI")]
   → Stage 2 추세 + 거래량 급증 종목. 퍼스텍(6전략), 대우건설(3전략) …

👤 미국 주식에서 강세 종목만 (RS 10pp 이상)
🤖 [screen_us_momentum(enable_rs_filter=True, min_rs_outperformance=10.0)]

스크리닝 (곧 달릴 말)

👤 코스닥에서 매집 단계 종목 스크리닝
🤖 [screen_kr_breakout(market="KOSDAQ")]
   → 누적 상승 30% 미만 + 52주 중간권 + VCP/매집 패턴

👤 아직 안 오른 바닥 종목만 (최근 30일 +10% 이내)
🤖 [screen_kr_breakout(max_cumulative_return_pct=10.0)]

개별 종목 전략 진단

👤 알체라 지금 어떤 단계야?
🤖 [diagnose_stock(ticker="347860", market="KR")]
   → 10전략 중 어느 조건 통과했는지 상세 진단

📋 출력 예시

Momentum 스크리닝 결과 (요약)

{
  "스크리닝일": "20260413",
  "대상시장": "KOSPI",
  "시드후보수": 80,
  "필터링_단계별_통과": {
    "당일과열제외": 64,
    "거래량급증": 31,
    "Trend_Template": 8,
    "52주고점근접": 0,
    "RS": 0
  },
  "필터링결과수": 26,
  "결과": [
    {
      "종목코드": "010820",
      "종목명": "퍼스텍",
      "전략": "모멘텀 돌파",
      "점수": "5/5",
      "현재가": 2340,
      "등락률": "+4.23%",
      "RSI": 68.4,
      "거래량비": "2.1x",
      "20일내_최대거래량배율": "8.7x",
      "복수전략": true
    }
  ]
}

Breakout 스크리닝 결과 (요약)

{
  "스크리닝일": "20260413",
  "모드": "Breakout (곧 달릴 말)",
  "대상시장": "KOSPI",
  "시드후보수": 80,
  "필터링_단계별_통과": {
    "당일과열제외": 64,
    "누적상승한도": 55,
    "52주밴드": 22,
    "거래량급증": 12
  },
  "필터링결과수": 28,
  "결과": [
    {
      "종목코드": "006340",
      "종목명": "대원전선",
      "전략": "눌림목 매수",
      "점수": "5/5",
      "현재가": 1245,
      "30일누적": "-20.32%",
      "52주고점대비": "72.2%",
      "52주저점대비": "128.4%",
      "복수전략": true
    }
  ]
}

🧩 Tech Stack

  • FastMCP — MCP 서버 프레임워크
  • pykrx — 한국거래소 데이터
  • yfinance — Yahoo Finance 데이터
  • ta — 기술적 분석 지표
  • BeautifulSoup + lxml — 네이버 금융 / Yahoo 스크리너 HTML 파싱
  • pandas — 데이터 처리

📚 References

  • William J. O'Neil — How to Make Money in Stocks (CANSLIM)
  • Mark Minervini — Trade Like a Stock Market Wizard (Trend Template, VCP)
  • Richard Wyckoff — 가격-거래량 매집/분산 이론
  • Stan Weinstein — Secrets for Profiting in Bull and Bear Markets (Stage Analysis)

📄 License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选