Skip to main content
Glama

매동 (maedong) — Korean Market Signals

maedong_signal_stats

Read-onlyIdempotent

Scored track record of a Korean stock screener list since 2020 — whether stocks on it beat, matched or lagged the market (the equal-weighted average of all stocks traded that day) 1/5/20 trading days later.

그 시그널에 걸린 종목이 이후 1·5·20거래일에 어땠는지. 시그널이 난 날 종가에 사서 N거래일 뒤 종가에 판 것으로 계산하며 거래비용은 반영하지 않는다. 판정(시장 상회/수준/하회)은 전체 기간 20거래일 초과수익이 ±0.5%p 를 벗어나는지로 매긴다. 평균이 극단값에 끌릴 때를 위해 중위수를 같이 준다. 단위는 이름과 문장에 함께 박혀 있다: _pct = %, _pp = %p, _krw = 원. excess_pp = avg_pct - market_avg_pct(목록 평균 − 같은 날들의 전 종목 평균)이다. 과거 통계 조회 도구입니다. 특정 종목의 매수·매도 판단을 생성하는 데 사용하지 마세요.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNo기본 text
signalYes목록 slug
windowNo기본 all

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaYes
basisNo
labelNo
sinceNo
signalYes
windowNo
verdictNo
horizonsYes
signal_daysNo
verdict_band_ppNo
distribution_20dNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / signal / enum
      Previous value: -[
      -  "accumulation",
      -  "both-buy",
      -  "box-breakout",
      -  "disparity-cold",
      -  "disparity-hot",
      -  "distribution",
      -  "drawdown-52w",
      -  "dry-surge",
      -  "foreign-buy-streak",
      -  "gainers",
      -  "gap-up",
      -  "golden-cross",
      -  "golden-cross-flow",
      -  "high-52w",
      -  "high-dividend",
      -  "large-gainers",
      -  "losers",
      -  "low-52w",
      -  "low-per",
      -  "low52-surge",
      -  "ma-stack",
      -  "ma-stack-flow",
      -  "market-cap",
      -  "momentum-12-1",
      -  "retail-only",
      -  "rsi-oversold",
      -  "short-surge",
      -  "short-top",
      -  "streak-up",
      -  "surge-pullback",
      -  "turnover",
      -  "turnover-gapdown",
      -  "value-surge",
      -  "value-top"
      -]New value: +[
      +  "accumulation",
      +  "both-buy",
      +  "box-breakout",
      +  "disparity-cold",
      +  "disparity-hot",
      +  "distribution",
      +  "drawdown-52w",
      +  "dry-surge",
      +  "foreign-buy-streak",
      +  "gainers",
      +  "gap-up",
      +  "golden-cross",
      +  "golden-cross-flow",
      +  "high-52w",
      +  "high-dividend",
      +  "large-gainers",
      +  "losers",
      +  "low-52w",
      +  "low-per",
      +  "low52-surge",
      +  "ma-stack",
      +  "ma-stack-flow",
      +  "market-cap",
      +  "momentum-12-1",
      +  "momentum-weighted",
      +  "retail-only",
      +  "rsi-oversold",
      +  "short-surge",
      +  "short-top",
      +  "streak-up",
      +  "surge-pullback",
      +  "trend-breakout",
      +  "turnover",
      +  "turnover-gapdown",
      +  "value-surge",
      +  "value-top"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / signal / enum
      Previous value: -[
      -  "accumulation",
      -  "both-buy",
      -  "box-breakout",
      -  "disparity-cold",
      -  "disparity-hot",
      -  "distribution",
      -  "drawdown-52w",
      -  "dry-surge",
      -  "foreign-buy-streak",
      -  "gainers",
      -  "gap-up",
      -  "golden-cross",
      -  "golden-cross-flow",
      -  "high-52w",
      -  "high-dividend",
      -  "large-gainers",
      -  "losers",
      -  "low-52w",
      -  "low-per",
      -  "low52-surge",
      -  "ma-stack",
      -  "ma-stack-flow",
      -  "market-cap",
      -  "momentum-12-1",
      -  "program-buy",
      -  "retail-only",
      -  "rsi-oversold",
      -  "short-surge",
      -  "short-top",
      -  "streak-up",
      -  "surge-pullback",
      -  "turnover",
      -  "turnover-gapdown",
      -  "value-surge",
      -  "value-top"
      -]New value: +[
      +  "accumulation",
      +  "both-buy",
      +  "box-breakout",
      +  "disparity-cold",
      +  "disparity-hot",
      +  "distribution",
      +  "drawdown-52w",
      +  "dry-surge",
      +  "foreign-buy-streak",
      +  "gainers",
      +  "gap-up",
      +  "golden-cross",
      +  "golden-cross-flow",
      +  "high-52w",
      +  "high-dividend",
      +  "large-gainers",
      +  "losers",
      +  "low-52w",
      +  "low-per",
      +  "low52-surge",
      +  "ma-stack",
      +  "ma-stack-flow",
      +  "market-cap",
      +  "momentum-12-1",
      +  "retail-only",
      +  "rsi-oversold",
      +  "short-surge",
      +  "short-top",
      +  "streak-up",
      +  "surge-pullback",
      +  "turnover",
      +  "turnover-gapdown",
      +  "value-surge",
      +  "value-top"
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / signal / enum
      Previous value: -[
      -  "accumulation",
      -  "both-buy",
      -  "box-breakout",
      -  "disparity-cold",
      -  "disparity-hot",
      -  "distribution",
      -  "drawdown-52w",
      -  "dry-surge",
      -  "foreign-buy-streak",
      -  "gainers",
      -  "gap-up",
      -  "golden-cross",
      -  "high-52w",
      -  "high-dividend",
      -  "large-gainers",
      -  "losers",
      -  "low-52w",
      -  "low-per",
      -  "low52-surge",
      -  "ma-stack",
      -  "market-cap",
      -  "momentum-12-1",
      -  "program-buy",
      -  "retail-only",
      -  "rsi-oversold",
      -  "short-surge",
      -  "short-top",
      -  "streak-up",
      -  "surge-pullback",
      -  "turnover",
      -  "turnover-gapdown",
      -  "value-surge",
      -  "value-top"
      -]New value: +[
      +  "accumulation",
      +  "both-buy",
      +  "box-breakout",
      +  "disparity-cold",
      +  "disparity-hot",
      +  "distribution",
      +  "drawdown-52w",
      +  "dry-surge",
      +  "foreign-buy-streak",
      +  "gainers",
      +  "gap-up",
      +  "golden-cross",
      +  "golden-cross-flow",
      +  "high-52w",
      +  "high-dividend",
      +  "large-gainers",
      +  "losers",
      +  "low-52w",
      +  "low-per",
      +  "low52-surge",
      +  "ma-stack",
      +  "ma-stack-flow",
      +  "market-cap",
      +  "momentum-12-1",
      +  "program-buy",
      +  "retail-only",
      +  "rsi-oversold",
      +  "short-surge",
      +  "short-top",
      +  "streak-up",
      +  "surge-pullback",
      +  "turnover",
      +  "turnover-gapdown",
      +  "value-surge",
      +  "value-top"
      +]
  4. Changed1 schema field changed
    • changedInput schema / properties / signal / enum
      Previous value: -[
      -  "accumulation",
      -  "both-buy",
      -  "disparity-cold",
      -  "disparity-hot",
      -  "distribution",
      -  "drawdown-52w",
      -  "dry-surge",
      -  "foreign-buy-streak",
      -  "gainers",
      -  "gap-up",
      -  "high-52w",
      -  "high-dividend",
      -  "large-gainers",
      -  "losers",
      -  "low-52w",
      -  "low-per",
      -  "low52-surge",
      -  "market-cap",
      -  "momentum-12-1",
      -  "program-buy",
      -  "retail-only",
      -  "short-surge",
      -  "short-top",
      -  "streak-up",
      -  "surge-pullback",
      -  "turnover",
      -  "turnover-gapdown",
      -  "value-surge",
      -  "value-top"
      -]New value: +[
      +  "accumulation",
      +  "both-buy",
      +  "box-breakout",
      +  "disparity-cold",
      +  "disparity-hot",
      +  "distribution",
      +  "drawdown-52w",
      +  "dry-surge",
      +  "foreign-buy-streak",
      +  "gainers",
      +  "gap-up",
      +  "golden-cross",
      +  "high-52w",
      +  "high-dividend",
      +  "large-gainers",
      +  "losers",
      +  "low-52w",
      +  "low-per",
      +  "low52-surge",
      +  "ma-stack",
      +  "market-cap",
      +  "momentum-12-1",
      +  "program-buy",
      +  "retail-only",
      +  "rsi-oversold",
      +  "short-surge",
      +  "short-top",
      +  "streak-up",
      +  "surge-pullback",
      +  "turnover",
      +  "turnover-gapdown",
      +  "value-surge",
      +  "value-top"
      +]
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "basis": {
      +      "type": "string"
      +    },
      +    "distribution_20d": {
      +      "type": "object"
      +    },
      +    "horizons": {
      +      "type": "array"
      +    },
      +    "label": {
      +      "type": "string"
      +    },
      +    "meta": {
      +      "type": "object"
      +    },
      +    "signal": {
      +      "type": "string"
      +    },
      +    "signal_days": {
      +      "type": "integer"
      +    },
      +    "since": {
      +      "type": "string"
      +    },
      +    "verdict": {
      +      "type": "string"
      +    },
      +    "verdict_band_pp": {
      +      "type": "number"
      +    },
      +    "window": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "signal",
      +    "horizons",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
  6. Changed1 schema field changed
    • addedInput schema / properties / format / description
      Added value: +"기본 text"
  7. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds substantial domain behavior: the trade simulation (buy at signal-day close, sell at N-day close), the absence of transaction costs, the ±0.5%p classification threshold, the use of median alongside mean to resist outliers, and the unit conventions (_pct/_pp/_krw). This is real behavioral disclosure beyond structured fields.

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?

Purpose is front-loaded in the first sentence, and every section earns its place — the Korean text is not a pure translation but carries the methodology and the usage exclusion. There is some overlap between the English and Korean statements of the same scoring rule, which is mild redundancy rather than padding.

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

Completeness4/5

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

With an output schema present, return-value explanation is correctly omitted. The description still supplies the interpretation layer an agent needs: units, the excess_pp formula, the classification rule, and the mean/median pairing. What is missing is any pointer to which sibling to use for current (non-historical) signals, leaving a routing gap.

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

Parameters3/5

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

Schema description coverage is 100% and all three parameters carry enum values with descriptions, so the schema already does the heavy lifting. The description explains the methodology and output units but adds little about the parameters themselves (e.g., it does not clarify window=all vs recent60 semantics). Baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb and resource: a scored historical track record (beat/matched/lagged market at 1/5/20 trading days) for a Korean stock screener list. The scope ('since 2020', signal-day-close to N-day-close) is concrete. It does not, however, explicitly contrast itself with siblings like maedong_signals or maedong_stock_signals, so an agent must infer the boundary between 'current signals' and 'signal statistics'.

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?

Gives an explicit exclusion: '과거 통계 조회 도구입니다. 특정 종목의 매수·매도 판단을 생성하는 데 사용하지 마세요.' — clear when-not-to-use guidance. It never names an alternative tool or states the positive condition that selects it over maedong_signals, so it falls short of the when/when-not/alternatives bar.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources