Skip to main content
Glama
Johnhyeon

StockLens

by Johnhyeon

get_indicators

Calculate comprehensive technical indicators for a single stock (MA, RSI, MACD, Bollinger, Stochastic, OBV, volume profile, support/resistance) and return results as JSON for numeric comparison.

Instructions

기술지표 — 단일 종목의 이평선·RSI·MACD·볼린저·스토캐스틱 등 종합 판정.

⚠️ 스크리닝·판정 전용 도구. 차트 시각화용 아님. 시각화(아티팩트/플롯)는 get_chart로 캔들+거래량만 그리고, 지지·저항은 캔들 위에서 눈으로 판단하면 됩니다. 이 도구는 플레이북 조건 필터·상태 판정처럼 숫자 비교가 필요할 때만 호출하세요.

OHLCV 원본 대신 계산·판정 결과만 JSON으로 반환해 토큰을 절약합니다. 가격 출력은 KRX 호가단위로 라운딩됩니다.

Args: code: 종목코드 (예: "005930") days: 조회 일수 (기본 260, 최소 30, 최대 500) include: 계산할 지표 키 리스트. 기본 ["ma", "ma_phase", "volume", "candle"]. 스냅샷 지표: ma / ma_phase / ma_slope / ma_cross / rsi / macd / bollinger / stochastic / obv / volume / position / candle 구조 분석: support_resistance / volume_profile / price_channel (구조 분석은 days=500~750 등 긴 lookback 권장) timeframe: "day"(일봉) / "week"(주봉) / "month"(월봉). 분봉은 현재 미지원. params: 지표별 파라미터 오버라이드 dict. 사용자가 명시적으로 비표준 설정값을 요청할 때만 사용. 미지정 시 표준 default 사용. 형식: {"<지표키>": {"<파라미터명>": <값>}} 예시: {"rsi": {"period": 21}} # RSI 21일 {"bollinger": {"period": 20, "std": 2.5}} # BB(20, 2.5) {"stochastic": {"k_period": 5, "slow_k_period": 3, "d_period": 3}} # Fast(5,3,3) {"macd": {"fast": 5, "slow": 35, "signal": 5}} # MACD 커스텀

기본 default (대다수 차트 표준):

  • rsi: period=14 (Wilder's smoothing)

  • bollinger: period=20, std=2.0 (population std)

  • stochastic: k=12, slow_k=5, d=3 (네이버 Slow 기본)

  • macd: fast=12, slow=26, signal=9

ma_phase 값: 0 완전역배열 / 1 단기상승꼬임 / 2 꼬임 / 3 단기하락꼬임 / 4 완전정배열 ⚠️ 반환값의 phase_label 필드를 그대로 사용. 직접 "꼬임"을 타이핑하지 말 것 (토크나이저 오류 위험). ma_cross/macd.cross도 type_label 필드(골든크로스/데드크로스) 그대로 사용. bollinger는 position 필드 (상단 돌파/상단 근접/밴드 내/하단 근접/하단 이탈)

support_resistance 반환: 피벗 자동 추출 + 클러스터링 + 터치 횟수·일자·강도(weak/medium/strong). 2~3년치 일봉 권장. 근거 없는 S/R 추정 제거 목적.

volume_profile 반환: 가격대별 누적 거래량, POC(최대 매물 집중), Value Area(70% 구간).

price_channel 반환: Donchian 채널. Upper=N봉 고가, Lower=N봉 저가, 현재 위치 %.

반환: JSON 문자열.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYes
daysNo
includeNo
timeframeNoday
paramsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses that the tool returns JSON of calculated results instead of raw OHLCV, that prices are rounded to KRX tick units, and warns about using phase_label directly to avoid tokenizer errors. It covers non-obvious behaviors well, though it could be more explicit about being read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lengthy but well-structured with sections, bullet points, and examples. It is front-loaded with a summary and usage warning. While every part is informative, some detail could be condensed without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, many indicators, return values with special fields), the description is highly complete. It covers parameter specifics, default values, return value explanations, and edge cases (e.g., support_resistance requires 2-3 years of data). Output schema exists but not shown; the description still provides sufficient detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully compensate. It provides detailed explanations for all five parameters, including defaults, allowed values, examples, and format for the complex 'params' parameter. It also explains the meaning of return fields like ma_phase. This greatly exceeds the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states that the tool computes technical indicators for a single stock, listing specific indicators (moving averages, RSI, MACD, Bollinger Bands, Stochastic). It distinguishes itself from get_chart, which is for visualization only. The purpose is clear and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states that this tool is for screening and decision-making, not for chart visualization. It advises to use get_chart for plotting and to call this tool only when numerical comparison is needed. However, it does not mention alternatives like get_indicators_bulk for multiple stocks, which could be considered a minor omission.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/Johnhyeon/stocklens-mcp'

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