Skip to main content
Glama
Juuuuuuni

Stock MCP Server

by Juuuuuuni

๐Ÿ“ˆ 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

Install Server
F
license - not found
A
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Juuuuuuni/stock-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server