매동 (maedong) — Korean Market Signals
Server Details
KOSPI/KOSDAQ daily signal lists with verified forward returns since 2020.
- Status
- Healthy
- Uptime
- 100.0% over 29 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
The six tools target distinct query surfaces: market snapshot, chart-pattern stats, regime ranking, daily signal lists, list-level track record, and per-stock signal history. The three signal-related names (signals, signal_stats, stock_signals) could be momentarily confused, but descriptions explicitly separate their granularity and denominators.
All tools use the maedong_ prefix with consistent snake_case and descriptive noun phrases. Although not strict verb_noun, the convention is uniform and readable throughout.
Six tools is well-scoped for a read-only market-signal analytics server. Each tool covers a distinct analytical layer without obvious redundancy or bloat.
The surface covers market context, signal discovery, list performance, per-stock history, chart-pattern stats, and regime. Minor gaps remain (e.g., no raw OHLCV or historical market-breadth series), but core signal workflows are complete.
Available Tools
6 toolsmaedong_chart_patternsARead-onlyIdempotentInspect
Did classic chart patterns actually work in the Korean market? Golden cross, moving-average stack, RSI oversold and Bollinger bands scored over the entire population of KOSPI/KOSDAQ stocks since 2020, on daily/weekly/monthly bars. Entry is the NEXT bar's open, not the signal bar's close.
널리 쓰이는 차트 패턴이 과거에 실제로 먹혔는지. 골든크로스·정배열·RSI 과매도·볼린저를 일봉·주봉·월봉에서 모집단 전체(그날 거래대금 10억 이상 전 종목)로 정산한 성적표다. maedong_signal_stats 와 분모가 다르다 — 저쪽은 시그널일마다 거래대금 상위 20종목 표본이라 같은 규칙이라도 숫자가 다르게 나오며 그것이 정상이다. 판정은 다음 봉 시가 진입 기준이다: 목록은 그 봉이 닫힌 뒤에 계산되므로 그 봉 종가에는 체결할 수 없다. 지평이 봉마다 다르다(일 20 · 주 60 · 월 120거래일) — 봉이 다른 칸을 나란히 비교하지 말 것. 건수·봉 수가 문턱에 못 미치면 판정이 null 이며 '시장 수준' 이 아니다. 단위는 이름과 문장에 함께 박혀 있다: _pct = %, _pp = %p, _krw = 원. excess_pp = avg_pct - market_avg_pct(목록 평균 − 같은 날들의 전 종목 평균)이다. 과거 통계 조회 도구입니다. 특정 종목의 매수·매도 판단을 생성하는 데 사용하지 마세요.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | 기본 text | |
| pattern | No | 패턴 키. 생략하면 전부 | |
| timeframe | No | 일봉·주봉·월봉. 생략하면 전부 |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| basis | No | |
| cells | Yes | |
| count | No | |
| total | No | |
| summary | No | |
| cost_note | No | |
| entry_note | No | |
| denominator | Yes | |
| verdict_rule | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool's safety profile is known. The description adds substantial behavioral context beyond that: entry is the next bar's open, the list is computed after the bar closes, lookback periods differ by timeframe (20/60/120 days), results are null when counts are below threshold, and units (_pct/_pp/_krw) and excess_pp are defined. These details are not in the annotations and materially affect interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and bilingual, with the Korean section repeating and extending the English summary. Though it is front-loaded with the core purpose and organized into a main description plus caveats, the overlap between languages makes it less concise than it could be. Every sentence adds some value, but the duplication costs clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the presence of an output schema, the description is highly complete. It covers the key context: population scope, comparison to a sibling tool, entry timing, lookback variation, null thresholds, unit conventions, and a clear instruction not to use it for stock-specific buy/sell decisions. There is no missing context that would cause an agent to call it incorrectly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value for the free-form pattern parameter by listing the concrete pattern categories (golden cross, moving-average stack, RSI oversold, Bollinger bands), which are not enumerated in the schema. It also explains the lookback differences across timeframe values, helping the agent understand how the timeframe parameter changes behavior. Exact string keys for pattern are still not given, so it's not a perfect 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool evaluates classic chart patterns (golden cross, moving-average stack, RSI oversold, Bollinger bands) over the entire population of KOSPI/KOSDAQ stocks since 2020, on daily/weekly/monthly bars. It also calls itself a historical statistics lookup tool and distinguishes itself from maedong_signal_stats by noting the denominator difference, so an agent can clearly identify what this tool does and how it differs from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names the sibling maedong_signal_stats and explains the denominator difference, telling the agent when to use this population-wide tool versus the sampled alternative. It also provides a clear when-not: 'Do not use to generate buy/sell decisions for a specific stock' in Korean, plus practical caveats about entry timing and timeframe comparability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maedong_marketARead-onlyIdempotentInspect
Korean market snapshot — KOSPI/KOSDAQ index levels, market breadth, valuation percentiles, and macro series (FX, bond yields, base rate).
기준일의 지수·시장 폭·밸류에이션·매크로. 백분위는 2020-04 이후 분포에서의 위치이고, 재무 커버리지는 재무가 있는 종목의 시총 비중이다. 매크로에서 '마지막 변경분' 이라고 적힌 값(기준금리)은 그날 움직인 것이 아니다. 전일 마감 데이터다. 응답 첫 줄의 기준일을 그대로 인용하고 '오늘' 로 바꿔 말하지 말 것. 과거 통계 조회 도구입니다. 특정 종목의 매수·매도 판단을 생성하는 데 사용하지 마세요.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 기준일 YYYY-MM-DD. 생략하면 최신 거래일 | |
| format | No | 기본 text |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | Yes | |
| meta | Yes | |
| macro | No | |
| breadth | No | |
| indices | Yes | |
| valuation | No | |
| value_vs_20d_avg | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is clear. The description adds significant behavioral context: it explains that the data is from the previous close (not intraday), that percentiles are relative to the distribution since 2020-04, and that the 'last change' value for the base rate does not reflect a daily movement. These are non-obvious nuances an agent must know to interpret results correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact yet information-dense. It front-loads the core purpose, then adds necessary caveats in a logical order: percentiles definition, financial coverage, the non-daily nature of macro changes, the instruction about quoting the baseline date, and the explicit exclusion of investment advice. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and annotations cover the read-only and idempotent nature, the description fills all remaining gaps. It defines key metrics (percentiles, financial coverage), clarifies temporal semantics (previous close, not daily change), and gives usage constraints. An agent has everything needed to call and interpret this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (date and format) are fully documented in the schema. The description does not add syntax or format details beyond that, but it does provide context about how to interpret the date (as a baseline date) and warns against rephrasing it. This is slightly beyond schema but not substantial, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a Korean market snapshot with specific components: index levels, market breadth, valuation percentiles, and macro series. It names the exact data types and sets expectations about what is included, making its purpose unambiguous and distinct from sibling tools that focus on regimes, signals, or stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly frames the tool as a historical statistics query tool and warns against using it to generate buy/sell judgments for specific stocks. It also provides a precise usage instruction: do not paraphrase the baseline date as 'today'. While it does not name alternative tools, it gives clear context on when to use this tool (historical stats) and what not to use it for (investment advice).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maedong_regimeARead-onlyIdempotentInspect
Which screener rules are currently working in the Korean market — recent excess-return ranking by list and by factor axis.
지금 어떤 규칙이 통하는 장인가. 목록별 최근 초과수익 순위와, 성격 축 넷(대형·우량 / 돌파 추종 / 단기 과열 추격 / 반전)의 평균으로 읽은 라벨을 준다. 모든 목록이 같은 거래일 창을 보고 20거래일이 지나 성과가 확정된 시그널만 세므로 비교 창의 끝은 기준일보다 20거래일 앞이다. 라벨이 없으면 축 사이 격차가 작아 한 마디로 부르지 않은 것이다. 단위는 이름과 문장에 함께 박혀 있다: _pct = %, _pp = %p, _krw = 원. excess_pp = avg_pct - market_avg_pct(목록 평균 − 같은 날들의 전 종목 평균)이다. 과거 통계 조회 도구입니다. 특정 종목의 매수·매도 판단을 생성하는 데 사용하지 마세요.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | 기준일 YYYY-MM-DD. 생략하면 최신 | |
| format | No | 기본 text | |
| window | No | 비교 창(거래일), 기본 60 |
Output Schema
| Name | Required | Description |
|---|---|---|
| axes | Yes | |
| meta | Yes | |
| basis | No | |
| label | No | |
| lists | Yes | |
| coverage | No | |
| signal_window | No | |
| window_trading_days | No | |
| settle_lag_trading_days | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, it reveals the 20-trading-day confirmation lag, the shared window across lists, label semantics when absent, unit conventions, and the definition of excess_pp. These are non-obvious behaviors an agent needs to interpret results correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The English opening and the first Korean sentence restate the same purpose, which is redundant. However, the detail is front-loaded and the later sentences each carry important behavioral caveats, so the length is mostly justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only statistics tool with an output schema and fully documented parameters, the description covers purpose, exclusions, window semantics, units, and label interpretation. Nothing essential for correct invocation or interpretation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are already documented in the schema, so the baseline is 3. The description adds value by explaining that the comparison window ends 20 trading days before as_of because only confirmed signals are counted, and by specifying output unit conventions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific deliverable: recent excess-return rankings by list and by factor axis, plus a regime label derived from four factor axes. It also clarifies what the tool is not for (specific stock buy/sell decisions), though it does not name sibling tools explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It frames the tool as a historical statistics lookup and explicitly warns against using it to generate buy/sell decisions for specific stocks. This gives a clear when-not-to-use boundary, though no alternative sibling tool is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maedong_signalsARead-onlyIdempotentInspect
Korean stock market (KOSPI/KOSDAQ) screener lists — which stocks are on a given trading day's signal lists (price, chart, value, and lists built on foreign/institutional net buying and short-selling activity), or the catalog of all lists.
기준일에 어떤 종목이 어느 시그널에 올랐는지 조회한다. signal 을 생략하면 그날 목록별 종목 수만 주므로 어느 목록을 볼지 먼저 고를 때 쓴다. 정리매매·거래정지 종목은 경고와 함께 표시된다. 전일 마감 데이터다. 응답 첫 줄의 기준일을 그대로 인용하고 '오늘' 로 바꿔 말하지 말 것. 과거 통계 조회 도구입니다. 특정 종목의 매수·매도 판단을 생성하는 데 사용하지 마세요.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | 기준일 YYYY-MM-DD. 생략하면 최신 거래일 | |
| limit | No | 기본 50 | |
| cursor | No | 이전 응답이 준 cursor 값 | |
| format | No | 기본 text | |
| signal | No | 목록 slug. 생략하면 목록별 건수 색인 |
Output Schema
| Name | Required | Description |
|---|---|---|
| date | Yes | |
| meta | Yes | |
| note | No | |
| rule | No | |
| count | No | |
| items | No | |
| label | No | |
| total | No | |
| signal | No | |
| signals | No | |
| excluded | No | |
| next_cursor | No | |
| metric_label | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses that liquidation or suspended stocks are shown with a warning, that data is prior-day closing data, that the base date in the first response line must be quoted and not paraphrased as 'today', and that the tool is historical statistics only. These are non-obvious behavioral constraints an agent would otherwise get wrong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and most sentences carry distinct, actionable content (counts-index fallback, warning flags, data freshness, date-quoting rule, scope restriction). It is somewhat long and alternates between English and Korean, but there is no dead weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 unnecessary, and the description covers date semantics, list-catalog fallback, data staleness, warning indicators, and scope limits. The main gap is that it doesn't help disambiguate from its siblings, which leaves a residual selection risk.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so `date`, `limit`, `cursor`, `format`, and `signal` are already documented; the baseline is 3. The description reinforces the meaning of an omitted `signal` (counts-only index), but adds little syntax or format detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: it retrieves which stocks appear on a given trading day's KOSPI/KOSDAQ signal lists, or the catalog of lists when no signal is given. This is concrete and scannable, but it never names or contrasts with the close siblings (maedong_stock_signals, maedong_signal_stats), so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: omitting `signal` returns only per-list counts, so call it first when deciding which list to view, and it explicitly says not to use it to generate buy/sell judgments. It lacks explicit routing to the named sibling tools for per-stock or statistical queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maedong_signal_statsARead-onlyIdempotentInspect
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(목록 평균 − 같은 날들의 전 종목 평균)이다. 과거 통계 조회 도구입니다. 특정 종목의 매수·매도 판단을 생성하는 데 사용하지 마세요.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | 기본 text | |
| signal | Yes | 목록 slug | |
| window | No | 기본 all |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | |
| basis | No | |
| label | No | |
| since | No | |
| signal | Yes | |
| window | No | |
| verdict | No | |
| horizons | Yes | |
| signal_days | No | |
| verdict_band_pp | No | |
| distribution_20d | No |
TDQS
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.
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.
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.
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.
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.
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.
maedong_stock_signalsARead-onlyIdempotentInspect
Signal history for one Korean stock (KOSPI/KOSDAQ) by its 6-digit code — which lists it appeared on and what happened after.
한 종목이 언제 어느 시그널에 걸렸고 그 뒤 어땠는지. '집계 전' 은 아직 그 거래일이 지나지 않은 것이며 0% 가 아니다. 전일 마감 데이터다. 응답 첫 줄의 기준일을 그대로 인용하고 '오늘' 로 바꿔 말하지 말 것. 과거 통계 조회 도구입니다. 특정 종목의 매수·매도 판단을 생성하는 데 사용하지 마세요.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | 종료일 YYYY-MM-DD | |
| code | Yes | 6자리 종목코드 (예: 005930 · 우선주 등은 대문자 섞임: 00104K) | |
| from | No | 시작일 YYYY-MM-DD | |
| limit | No | 기본 100 | |
| format | No | 기본 text |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | Yes | |
| hits | Yes | |
| meta | Yes | |
| name | No | |
| note | No | |
| count | No | |
| flags | No | |
| market | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, so the description adds genuinely useful behavioral context: '집계 전' values are not 0%, data is previous-day close, and the response's reference date must be quoted verbatim rather than paraphrased as 'today'. These details prevent an agent from misinterpreting results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The English opening line states the core purpose immediately, followed by compact Korean notes. There is minor redundancy between the English and Korean opening statements, but each subsequent clause (집계 전 caveat, previous-close data, date-quoting instruction, decision disclaimer) carries distinct value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 structure is covered externally. The description supplies the interpretive context that schema cannot: what '집계 전' means, data freshness, and how to quote the date. It stops short of naming sibling tools for alternative routing, but an agent has enough to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (to, code, from, limit, format) are already documented. The description reinforces that code is a 6-digit KOSPI/KOSDAQ identifier, but this adds no meaning beyond the schema's existing parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns signal history for one Korean stock identified by 6-digit code, covering which lists it appeared on and what happened afterward. The per-stock scope clearly differentiates it from sibling tools like maedong_signals (general signal lists) and maedong_signal_stats (statistics).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly labels itself a past statistics lookup tool ('과거 통계 조회 도구') and warns not to use it to generate buy/sell decisions for a specific stock. This is a clear exclusion, but it does not name sibling alternatives or state when to choose this over maedong_signal_stats or maedong_signals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
maedong_signal_stats1 field changed- changed
Input schema / properties / signal / enumPrevious 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" +]
- Changed
maedong_signals1 field changed- changed
Input schema / properties / signal / enumPrevious 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 tool updates
- Changed
maedong_signal_stats1 field changed- changed
Input schema / properties / signal / enumPrevious 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" +]
- Changed
maedong_signals1 field changed- changed
Input schema / properties / signal / enumPrevious 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" +]
1 tool update
- Changed
maedong_stock_signals1 field changed- changed
Input schema / properties / code / descriptionPrevious value: -"6자리 종목코드 (예: 005930)"New value: +"6자리 종목코드 (예: 005930 · 우선주 등은 대문자 섞임: 00104K)"
1 tool update
- Added
maedong_chart_patterns
2 tool updates
- Changed
maedong_signal_stats1 field changed- changed
Input schema / properties / signal / enumPrevious 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" +]
- Changed
maedong_signals1 field changed- changed
Input schema / properties / signal / enumPrevious 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" +]
2 tool updates
- Changed
maedong_signal_stats1 field changed- changed
Input schema / properties / signal / enumPrevious 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" +]
- Changed
maedong_signals1 field changed- changed
Input schema / properties / signal / enumPrevious 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 tool updates
- Changed
maedong_market1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "breadth": { + "type": "object" + }, + "date": { + "type": "string" + }, + "indices": { + "type": "array" + }, + "macro": { + "type": "array" + }, + "meta": { + "type": "object" + }, + "valuation": { + "type": "array" + }, + "value_vs_20d_avg": { + "type": "number" + } + }, + "required": [ + "date", + "indices", + "meta" + ], + "type": "object" +}
- Changed
maedong_regime1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "axes": { + "type": "array" + }, + "basis": { + "type": "string" + }, + "coverage": { + "type": "object" + }, + "label": { + "type": "string" + }, + "lists": { + "type": "array" + }, + "meta": { + "type": "object" + }, + "settle_lag_trading_days": { + "type": "integer" + }, + "signal_window": { + "type": "object" + }, + "window_trading_days": { + "type": "integer" + } + }, + "required": [ + "axes", + "lists", + "meta" + ], + "type": "object" +}
- Changed
maedong_signal_stats1 field changed- changed
Output 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" +}
- Changed
maedong_signals1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "count": { + "type": "integer" + }, + "date": { + "type": "string" + }, + "excluded": { + "type": "array" + }, + "items": { + "type": "array" + }, + "label": { + "type": "string" + }, + "meta": { + "type": "object" + }, + "metric_label": { + "type": "string" + }, + "next_cursor": { + "type": "string" + }, + "note": { + "type": "string" + }, + "rule": { + "type": "string" + }, + "signal": { + "type": "string" + }, + "signals": { + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "required": [ + "date", + "meta" + ], + "type": "object" +}
- Changed
maedong_stock_signals1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "count": { + "type": "integer" + }, + "flags": { + "type": "array" + }, + "hits": { + "type": "array" + }, + "market": { + "type": "string" + }, + "meta": { + "type": "object" + }, + "name": { + "type": "string" + }, + "note": { + "type": "string" + } + }, + "required": [ + "code", + "hits", + "meta" + ], + "type": "object" +}
4 tool updates
- Changed
maedong_market1 field changed- added
Input schema / properties / format / descriptionAdded value: +"기본 text"
- Changed
maedong_regime1 field changed- added
Input schema / properties / format / descriptionAdded value: +"기본 text"
- Changed
maedong_signal_stats1 field changed- added
Input schema / properties / format / descriptionAdded value: +"기본 text"
- Changed
maedong_stock_signals1 field changed- added
Input schema / properties / format / descriptionAdded value: +"기본 text"
5 tool updates
- First observed
maedong_market - First observed
maedong_regime - First observed
maedong_signal_stats - First observed
maedong_signals - First observed
maedong_stock_signals
Related MCP Connectors
Korea stock (KOSPI/KOSDAQ) bottom/top signals: verdict + score, scans. Pay-per-call x402.
Live market data, signals, positions, and macro analysis for crypto, KR stocks, and US stocks.
Validated trading edges across futures, equities, crypto. Live signals, full audit trail.
Korean (DART/KIND) and US SEC filings with AI summaries, direction labels and market reaction.
1
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides KOSPI/KOSDAQ stock data including ticker lookup, OHLCV, market capitalization, fundamentals, and trading volume by investor type.MIT
- AlicenseNot gradedqualityDmaintenanceProvides comprehensive statistics and advanced analysis tools for the Korean stock market, offering real-time index data, sector analysis, investor trend tracking, and AI-based market pattern recognition.MIT
- ISC
- FlicenseAqualityBmaintenanceAI-ready data for investors and stewardship specialists who wants to have easy access to agm & governance related disclosures for Korean stocks2540-
Glama MCP Gateway
Add one secure layer between your agents and this server.