aikstockdata — Korean Stock Data
REMOTE · MCP.AIKSTOCKDATA.COM · SCANNED SEP 22
Korean stocks: median price path after each DART filing type, T+1 closes, earnings. 12 tools, no key
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security74
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability62
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 4287 tokens (~357/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the aikstockdata — Korean Stock Data MCP server?
aikstockdata — Korean Stock Data is a hosted endpoint at https://mcp.aikstockdata.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.aikstockdata.com
claude mcp add --transport http com-aikstockdata-mcp 'https://mcp.aikstockdata.com/mcp'
{
"mcpServers": {
"com-aikstockdata-mcp": {
"url": "https://mcp.aikstockdata.com/mcp"
}
}
} {
"servers": {
"com-aikstockdata-mcp": {
"type": "http",
"url": "https://mcp.aikstockdata.com/mcp"
}
}
} [mcp_servers.com-aikstockdata-mcp] url = "https://mcp.aikstockdata.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-aikstockdata-mcp": {
"type": "remote",
"url": "https://mcp.aikstockdata.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-aikstockdata-mcp --url 'https://mcp.aikstockdata.com/mcp' --transport streamable-http
mcp_servers:
com-aikstockdata-mcp:
url: "https://mcp.aikstockdata.com/mcp" {
"McpServers": {
"com-aikstockdata-mcp": {
"Transport": "http",
"Url": "https://mcp.aikstockdata.com/mcp"
}
}
} assistant mcp add com-aikstockdata-mcp -t streamable-http -u 'https://mcp.aikstockdata.com/mcp'
{
"mcpServers": {
"com-aikstockdata-mcp": {
"type": "http",
"url": "https://mcp.aikstockdata.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 22 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- 19 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “search_stock” rewrote its description, which is the text the model reads security
- 17 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- 16 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_disclosure_impact” rewrote its description, which is the text the model reads security
- Tool “get_earnings” rewrote its description, which is the text the model reads security
- Tool “get_stock” rewrote its description, which is the text the model reads security
- Tool “get_today” rewrote its description, which is the text the model reads security
- Tool “list_stocks” rewrote its description, which is the text the model reads security
- Tool “search_stock” rewrote its description, which is the text the model reads security
- “get_disclosures” added an optional parameter “include_unlisted” cosmetic
- 15 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_history” rewrote its description, which is the text the model reads security
- Tool “get_stock” rewrote its description, which is the text the model reads security
- “get_history” reworded the description of “days” cosmetic
- “list_stocks” reworded the description of “min_drawdown_pct” cosmetic
- Tool “get_history” changed its title: 종목 일별 시세 1년 (Daily price history) → 종목 일별 시세 (Daily price history) cosmetic
- 13 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- 12 Sept 26 −1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_disclosure_impact” rewrote its description, which is the text the model reads security
- Tool “get_disclosures” rewrote its description, which is the text the model reads security
- Tool “get_history” rewrote its description, which is the text the model reads security
- Tool “get_today” rewrote its description, which is the text the model reads security
- Tool “search_stock” rewrote its description, which is the text the model reads security
- 11 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “get_earnings” rewrote its description, which is the text the model reads security
- Tool “get_stock” rewrote its description, which is the text the model reads security
- “get_disclosures” reworded the description of “date” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 22 Sept 2026 · Probed https://mcp.aikstockdata.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=aikstockdata.com | CN=WE1,O=Google Trust Services,C=US | 31 Jul 2026 | 29 Oct 2026 | ECDSA 256 | ECDSA-SHA256 | b4730000e6115f220eea6f6d3dbce0e9 |
| SANs: aikstockdata.com, mcp.aikstockdata.com, *.mcp.aikstockdata.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.aikstockdata.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| aikstockdata.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.aikstockdata.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.aikstockdata.com/mcp | HTTPS enforced | 301 | https://mcp.aikstockdata.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_data_urls 공개 데이터 URL (Open data URLs) ~241
Direct URLs for every public dataset (JSON/CSV) — no signup, no API key. Call this BEFORE concluding something is unavailable: the tool list is not the extent of the data. Returns the endpoint catalog (quotes, disclosures, rankings, per-stock JSON, search index) plus the 30-trading-day dated archive with the exact dates held per pattern. Most AI fetch tools cut responses near 150 KB and a truncated JSON is unparseable — the catalog names a smaller alternative for every large file, so read that instead of guessing. | 전체 공개 데이터(JSON·CSV) 직링크 카탈로그 — 무가입·무키. **없다고 결론내기 전에 먼저 부르세요**: 도구 목록이 데이터의 전부가 아닙니다. 최근 30영업일 날짜별 아카이브(패턴별 보유 날짜 포함)도 함께 냅니다. 대부분의 AI 가 응답을 150KB 안팎에서 자르고 잘린 JSON 은 파싱되지 않습니다 — 큰 파일마다 소형 대체본이 카탈로그에 적혀 있으니 그쪽을 쓰세요.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_disclosure_impact 공시 유형별 이후 주가 (Post-filing price path) ~221
Answers "what usually happened after this kind of filing?" — median MARKET-ADJUSTED return at +1/+5/+20 trading days per DART filing type (+20 only where that type has enough samples — see h20_status), with 95% intervals, sample window and n. A historical record, not a forecast. Coverage: every listed stock in the FSC price feed (no ETFs/ETNs); markets and counts are in index.json coverage and in each response footer. | "이 공시 나오면 보통 어땠나"에 답합니다 — 공시 유형별로 접수 이후 1·5·20거래일 뒤까지(20거래일은 표본이 찬 유형만) 시장 등락을 뺀 수익률 중앙값·95% 구간·표본기간. 과거 기록이며 예측·추천이 아닙니다.
| Name | Type | Req | Description |
|---|---|---|---|
| label | string | – | filing type in Korean, e.g. 배당 결정 | 공시 유형(선택) |
No output schema declared.
No examples provided.
get_disclosures 공시 목록 (Disclosures with receipt times) ~531
Answers "what was filed, and when exactly?" — DART filings with RECEIPT TIME (HH:MM) and session (pre-open / intraday / after-close), filterable by date, type and importance. OpenDART's filing-list API returns the receipt date only; we add the HH:MM. About half of tracked filings arrive AFTER the close (daily counts: /data/public/press_owl_filings.csv), so that day's price move is not a reaction to them. date=today serves the 15:00 intraday collection (no importance scores yet); any other date serves the ranked list of the last 7 days. | "무슨 공시가 몇 시에 났나"에 답합니다 — 접수 시각(HH:MM)과 장 구분까지. 공개 공시 목록 API(OpenDART)는 접수 날짜까지만 줍니다 — 시:분은 저희가 모읍니다. 날짜·유형·중요도로 거를 수 있습니다. 추적 유형 기준 **절반 안팎이 장 마감 후** 접수라(날짜별은 press_owl_filings.csv) 그날 등락은 그 공시의 반응이 아닙니다. date=오늘이면 15:00 장중 수집본(아직 중요도 점수 없음), 다른 날짜면 최근 7일 상위 목록입니다.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | YYYYMMDD (예: 20260910). "today" 도 받습니다 — 오늘(KST)로 풀어 장중 수집본을 줍니다. 생략하면 최근 7일 중요도 상위 목록입니다. | YYYYMMDD, or "today" for the intraday snapshot; omit for the last 7 days by importance. |
| include_unlisted | boolean | – | 장중 수집본에서 비상장 법인·우리가 발행하지 않는 종목의 공시(채권 신고서 등)까지 볼지. 기본 false — 상장 종목(in_universe)만. | include filings of unlisted issuers in the intraday snapshot (default false) |
| label | string | – | 공시 유형 부분일치(예: 배당, 자사주) |
| limit | number | – | 최대 건수(기본 20, 최대 100) |
| min_score | number | – | 중요도 점수 하한(장중 수집본에는 점수가 없습니다) |
| session | string | – | pre_open | intraday | after_close |
No output schema declared.
No examples provided.
get_earnings 잠정·정기 실적 (Quarterly earnings, incl. preliminary) ~225
Earnings from DART, INCLUDING preliminary (잠정) results filed ~2 weeks before the regular report. Each row says whether the figure is year-to-date cumulative or a single quarter. Pass a code for one stock's history, or omit it for the largest caps. get_stock shows the regular report and flags a newer preliminary filing when one exists; this tool gives the preliminary figures in full. | DART 실적 — 정기보고서보다 2주 빠른 잠정실적 포함. 행마다 누적인지 단독 분기인지 적습니다. code 를 주면 그 종목 이력, 생략하면 시총 상위. get_stock 은 정기보고서 수치에 더 최신 잠정실적이 있다는 표시를 붙이고, 잠정 수치 전체는 이 도구가 줍니다.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | – | 6-digit ticker, optional | 6자리 종목코드(선택) |
| limit | number | – | max rows, default 15 | 최대 건수(기본 15) |
No output schema declared.
No examples provided.
get_earnings_calendar 실적 캘린더 (Earnings calendar & new filings) ~186
Answers "who has filed this quarter's results, who hasn't, and what came in since last time?" — filed / not-yet lists against the statutory deadline, plus a diff of filings new since the previous publish. Built for stateless agents: polling this replaces a webhook. | "누가 냈고 누가 아직인가 · 지난번 이후 새로 뜬 건 뭔가"에 답합니다. 법정 마감 D-day 와 직전 발행 대비 신규 목록까지. 상태를 못 들고 다니는 에이전트를 위한 도구입니다.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | 목록 최대 건수(기본 20, 최대 100) |
| view | string | – | summary(기본) | not_yet(미접수 목록) | filed(접수 목록) | new(직전 발행 이후 신규) |
No output schema declared.
No examples provided.
get_history 종목 일별 시세 (Daily price history) ~245
Answers "is this stock near its high or deep in a drawdown, and is volume unusual?" — the stock's accumulated daily CLOSES, plus period high/low, drawdown from the high, and volume vs the 60-day average. Close-based (this history file carries daily closes only; the latest day's high/low is in the stock file), so it will differ from an HTS 52-week range. | "고점 대비 얼마나 빠졌나·거래량이 평소보다 많나"에 답합니다 — 보유 구간 전체의 **종가 기준** 고저·낙폭·거래량 배수. 장중 고저가 아니라 HTS 52주 범위와 다를 수 있습니다.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | 6-digit ticker | 6자리 종목코드 |
| days | number | – | recent N days to list, default 20, max 60 — for the full history read /data/public/s/{code}_history.json | 나열할 최근 일수(기본 20, **최대 60**. 전체 이력은 s/{code}_history.json) |
No output schema declared.
No examples provided.
get_market_summary 지수·등락 폭 (Index & breadth) ~128
Index levels (KOSPI/KOSDAQ close, change, %) and up/down breadth — nothing else. Prices are the previous session's T+1 settled close, never real-time. Index and breadth routinely disagree — the index is cap-weighted, breadth is one vote per stock — which is why both are returned; do not infer one from the other. For the full daily digest (disclosures, rankings, movers) use get_today(). | 지수와 등락 폭만 봅니다. 하루 전체 요약은 get_today(), 조건별 종목 목록은 list_stocks().
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_rankings 랭킹 조회 (Rankings) ~213
Answers "which stocks scored highest on measured DART financials?" — kind='growth' is 성장 TOP8 (max 8 rows), kind='quiet' is 조용한 실적주. Scores come from a published formula over ACTUAL filed financials only — no prices, no analyst estimates. Mechanical, not stock picks. For 52-week high/low or turnaround LISTS use list_stocks(). | "실측 재무로 점수가 높은 종목"에 답합니다 — growth 는 최대 8건, quiet 는 조용한 실적주. 시세·전망치를 쓰지 않고 DART 실측 재무만 씁니다. 52주 신고저·흑자전환 목록은 list_stocks().
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | yes | 'growth' (성장 TOP8) or 'quiet' (조용한 실적주) |
| limit | integer | – | Number of rows, 1-20 (default 8). | 반환 개수 |
No output schema declared.
No examples provided.
get_stock 종목 상세 (Stock detail) ~438
One Korean stock by 6-digit code: T+1 confirmed close & change, market cap, latest financials from the latest periodic report (revenue / operating income / net income, with YoY; Korean reports are cumulative year-to-date, so H1 = Jan-Jun, not Q2 alone), PER(TTM) and PBR computed from public filings, and ranking signals. Two as-of dates move independently — price (quote_as_of) and filings (disclosure_through); the response header carries both, do not merge them into one "today". null means not provided, never 0. Name → code: search_stock. Daily price history (accumulating): get_history. Filings with receipt times: get_disclosures. Screening a list: list_stocks. | 6자리 코드로 한 종목 — 확정 종가·등락·시총·최근 정기보고서 실적(전년비 · 반기는 1~6월 누적)·PER(TTM)·PBR·랭킹 신호. 기준일이 둘이고 따로 움직입니다(시세·공시) — 응답 머리말에 둘 다 실리니 하나로 합치지 마세요. null 은 '미제공'이며 0이 아닙니다. 이름으로 찾기는 search_stock, 일별 시세는 get_history, 접수 시각이 있는 공시는 get_disclosures, 조건 목록은 list_stocks.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | 6-digit ticker as a STRING with leading zeros kept — '000020', not 20. e.g. '005930' (삼성전자). Unknown but well-formed code returns a short note (not an error); a malformed one tells you to use search_… |
No output schema declared.
No examples provided.
get_today 오늘의 시장 요약 (Today's market digest) ~160
Start here for "how was the Korean market today?" — index levels, breadth, 52-week high/low counts, top-3 disclosures, growth top-3, movers and disclosure-type counts in one call. Then drill down with get_stock / list_stocks / get_disclosures. Coverage: every listed stock in the FSC price feed (no ETFs/ETNs); markets and counts are in index.json coverage and in each response footer. | "오늘 시장 어땠어?"의 출발점 — 지수·등락 폭·주요 공시·성장 랭킹·등락률 상하위를 한 번에. 이어서 get_stock / list_stocks / get_disclosures 로 파고들면 됩니다.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_stocks 조건으로 종목 목록 (Screen stocks by condition) ~570
Return the LIST of stocks matching a condition — turnaround to profit, 52-week high/low, growth or quiet-performer rankings — with optional market-cap range and a cap-to-operating-income multiple ceiling. Other tools give counts; this one gives the names. new_high/new_low return at most 30 names per side (the published list); the full count is in get_market_summary(). | 조건에 맞는 종목 목록을 돌려줍니다 — 흑자전환·52주 신고저·성장/조용한 실적주. 시총 범위와 시총÷연환산영업이익 배수 상한도 걸 수 있습니다. 다른 도구가 개수를 준다면 이건 목록을 줍니다. 52주 신고가·신저가는 발행 목록이 쪽마다 최대 30종목이고, 전체 수는 get_market_summary 가 줍니다.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | – | turnaround(흑자전환) | new_high(52주 신고가) | new_low(52주 신저가) | growth(성장 TOP) | quiet(조용한 실적주) | all(전체). 기본 turnaround |
| limit | number | – | 최대 건수(기본 20, 최대 100) |
| max_cap_eok | number | – | 시가총액 상한(억원) |
| max_drawdown_pct | number | – | 고점 대비 낙폭 상한(%, 양수로). 예: 10 이면 고점 근처(10% 이내)만 |
| max_multiple | number | – | 시총÷연환산영업이익 상한(예: 10). 영업이익 흑자 종목만 남습니다 |
| max_turnover_pctile | number | – | 거래대금 백분위 상한(0~100). 예: 30 이면 거래대금 하위 30% — 소외주 |
| min_cap_eok | number | – | 시가총액 하한(억원) |
| min_drawdown_pct | number | – | 고점 대비 낙폭 하한(%, 양수로). 예: 30 이면 보유 구간 최고 종가 대비 30% 이상 하락한 종목만 |
| min_turnover_pctile | number | – | 거래대금 백분위 하한(0~100). 예: 70 이면 거래대금 상위 30% |
| sort | string | – | cap(시총 큰 순, 기본) | multiple(배수 낮은 순) | change(등락률 높은 순) | turnover(거래대금 큰 순) | drawdown(낙폭 큰 순) |
No output schema declared.
No examples provided.
search_stock 종목 검색 (Search stocks) ~317
Find a ticker from part of the name — Korean or Latin, case-insensitive — or a 6-digit code, across every listed stock we publish (no ETFs; markets are named in the response footer). Korean readings of Latin names also match ('네이버' finds NAVER, '케이티' finds KT/KTis), and so do common Korean nicknames for large caps ('삼전' finds 삼성전자, '하닉' SK하이닉스). Large caps also match their official English name ('Samsung Electronics', 'SK hynix'; 'samsung' lists the Samsung group); smaller stocks need the Korean name. Up to 10 matches, market-cap sorted. | 이름 일부(한글·영문 모두, 대소문자 무시)나 6자리 코드로 찾습니다. 영문 이름의 한글 읽기('네이버'→NAVER, '케이티'→KT·KTis)와 흔한 줄임말('삼전'→삼성전자, '하닉'→SK하이닉스)도 매치됩니다. 대형주는 공식 영문 이름으로도 찾습니다('Samsung Electronics'·'SK hynix'). 그 밖의 종목은 한국어 이름으로 찾으세요. 수록 전 종목 · 시총순 최대 10건.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Stock name or code fragment, e.g. '삼성' or '005930'. | 종목명 또는 6자리 코드의 일부 |
No output schema declared.
No examples provided.
What is the aikstockdata — Korean Stock Data MCP server?
aikstockdata — Korean Stock Data is an MCP server listed in the public MCP registry as com.aikstockdata/mcp. Korean stocks: median price path after each DART filing type, T+1 closes, earnings. 12 tools, no key. This page covers its hosted endpoint (https://mcp.aikstockdata.com/mcp).
Is the aikstockdata — Korean Stock Data MCP server safe to use?
aikstockdata — Korean Stock Data scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the aikstockdata — Korean Stock Data MCP server expose?
aikstockdata — Korean Stock Data exposes 12 tools: get_today, search_stock, get_stock, get_rankings, get_market_summary, and 7 more. Their descriptions and schemas cost roughly 3,475 tokens of context every time the server is loaded.
Does the aikstockdata — Korean Stock Data MCP server require authentication?
No. We connected to aikstockdata — Korean Stock Data without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the aikstockdata — Korean Stock Data MCP server still maintained?
aikstockdata — Korean Stock Data is still listed as active in the MCP registry. We last reached this channel on 22 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.