mcpbeat Sign in

HOLD! Korean stock ownership MCP Server

by oon4am-eng Your server? Claim it
answering

HOLD! Korean stock ownership is answering right now. Last checked 5 min ago. It exposes 8 tools. Last commit 9 Nov 2026.

Who owns Korean listed stocks: 5% holders, insiders, NPS and average cost, from DART filings.

Uptime history 7 hours of history
7 hours agonow
100.0%
Uptime 24h
22 of 22 checks
8
Tools
read from the server
555 ms
Response time
average over 24h
1
Stars
last commit 9 Nov 2026

What changed 35

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 9 November 2026. No other catalogue keeps this.

9 Nov 8 tool descriptions were rewritten18 times that day get_avg_cost, get_filing, get_holder_history and 5 more
9 Nov 8 tools changed the parameters they ask for16 times that day get_avg_cost, get_filing, get_holder_history and 5 more
9 Nov a tool appeared get_filing
and 18 more, back to 9 November 2026

Nothing serious here today

Today is the operative word: we check HOLD! Korean stock ownership every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 5 min ago.

run in your terminal
claude mcp add hold --transport http https://whohold.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://whohold.com/mcp
~/.codex/config.toml
[mcp_servers.hold]
url = "https://whohold.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "hold": {
      "url": "https://whohold.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "hold": {
      "type": "http",
      "url": "https://whohold.com/mcp"
    }
  }
}

Available tools 8

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

holder
get_holder_history
Full history of stake-change filings for one stock (newest first; 5% large-holding reports and insider reports of 1% and above). ticker is required and there is no date limit, so use it for 'when and how did this company's ownership change'. It fetches at most the 200 newest filings: if total is 200, older ones may exist, so narrow with from/to. To scan the last few days across many stocks, use get_recent_changes. holder (part of a filer name) limits to that filer. change_type is new/listing/increase/decrease/exit/unchanged; listing is the first filing at IPO, not a purchase. non_trade true means not a market trade (debt-to-equity swap in rehabilitation, capital reduction, collateral, change in special-relationship parties). For insider reports, new may mean 'first report as a major shareholder'. trade_date is the actual change date (only for reports whose original was fetched); trade_price is the average acquisition price in that report. For per-trade details of one filing, pass its source_url to get_filing. 한 종목의 지분 변동 공시 전체 이력(최신순, 대량보유 보고와 1% 이상 임원·주요주주 보고). ticker가 필수이고 기간 제한이 없어 '이 회사 지분이 언제 어떻게 바뀌었나'에 쓴다. 최신 200건까지만 받으므로 total이 200이면 더 오래된 공시가 있을 수 있어 from·to로 좁힌다. 여러 종목에 걸쳐 최근 며칠 새 공시를 훑으려면 get_recent_changes를 쓴다. holder로 보고자명 일부를 주면 그 보고자만. change_type은 new/listing/increase/decrease/exit/unchanged. listing은 상장으로 처음 공시한 것이라 매수가 아니다. non_trade가 true면 회생 출자전환, 감자, 담보, 특별관계 변동처럼 시장 매매가 아니다. insider 보고의 new는 '주요주주로서 첫 보고'일 수 있다. trade_date는 실제 변동일(원문을 받은 보고만), trade_price는 그 보고의 취득 단가 평균. 한 보고의 거래별 세부 내역은 source_url을 get_filing에 넘긴다.
search_holder
Find a holder (institution, asset manager, or individual) by name. Korean input also matches foreign filers (블랙록 → BlackRockFundAdvisors). Different people or companies with the same name are separate rows: kind is person/corp/inst; role is, for an individual, the company and title from their latest insider report (e.g. Samsung Electronics chairman); key_hint is the leading digits of a company's business registration number. top is the stock where the holder's stake is highest, corps is the number of stocks reported. Pass entity_id from the result as entity_id to get_portfolio, get_recent_changes and get_holder_history. A row with entity_id null bundles unverified reports under that name and can only be queried by holder name. 보유자(기관·운용사·개인) 이름으로 보유자를 찾는다. 한글로 쳐도 영문 보고자가 나온다(블랙록 → BlackRockFundAdvisors). 같은 이름의 다른 사람·회사는 행이 나뉜다: kind는 person(개인)/corp(법인)/inst(기관), role은 개인의 최근 임원·주요주주 보고 기준 회사와 직함(예: 삼성전자 회장), key_hint는 회사의 사업자등록번호 앞자리. top은 지분율이 가장 높은 종목, corps는 보고한 종목 수. 결과의 entity_id를 get_portfolio·get_recent_changes·get_holder_history의 entity_id로 쓴다. entity_id가 null인 행은 그 이름의 미확인 보고 묶음이며 holder 이름으로만 조회된다.
avg
get_avg_cost
Average purchase price (KRW) per holder for one stock. Uses the acquisition prices in the detailed-change section of original 5% large-holding reports: buys add to the weighted average, sells only reduce the quantity (moving average), and stock splits and reverse splits are adjusted. Insider reports carry no price and are not used. holder (part of a filer name) limits to that holder; otherwise all holders with price data. Each row has avg_cost, held_shares (current holding), priced_shares (bought shares that carry a price), coverage_pct, buys, first_trade and last_trade. basis reported means at least half of the current holding has prices; partial means only some (see coverage_pct); unavailable means no prices (the National Pension Service and foreign funds file simplified reports that legally omit prices). When partial, do not state 'average cost is X won' as fact. 한 종목의 보유자별 평균 매입단가(원). 5% 대량보유 보고서 원문의 세부변동내역에 적힌 취득 단가로 매수는 가중평균에 더하고 매도는 수량만 줄이는 이동평균을 내며, 액면분할·병합은 보정한다. 임원·주요주주 보고에는 단가가 없어 쓰지 않는다. holder(보고자명 일부)를 주면 그 보유자만, 없으면 단가가 있는 보유자 전부. 행마다 avg_cost, held_shares(현재 보유), priced_shares(단가가 붙은 매수 주식), coverage_pct, buys, first_trade·last_trade를 준다. basis가 reported면 현재 보유분의 절반 이상에 단가가 있고, partial이면 일부만(coverage_pct 참고), unavailable이면 단가가 없다(국민연금·외국계 약식 보고는 법적으로 단가 생략). partial일 때 '평단 X원'이라고 단정하지 말 것.
filing
get_filing
Details of one filing. Pass a source_url (DART address) from another tool's result or the 14-digit receipt number (rcept_no). reports are the filing's holder rows (stake, change, filing date); members are, for 5% reports, shares and stake per filer and special-relationship party; trades are the detailed changes (actual trade date, acquisition/disposal method, share class, quantity before and after, price). members and trades exist only for 5% large-holding reports whose original was fetched. Use it to see which trades changed a stake and whether it was a purchase or a debt-to-equity swap. It covers one filing only; to list a stock's filings use get_holder_history, and for filings across stocks use get_recent_changes. A filing that is not stored (only the last 2 years of 5% and insider reports are) returns an error. 공시 한 건의 세부 내역. 다른 도구 결과의 source_url(DART 주소)이나 14자리 접수번호(rcept_no)를 넣는다. reports는 그 공시의 보유자 행(지분율, 변동, 공시일), members는 5% 보고의 보고자·특별관계자별 보유 주식수와 지분율, trades는 세부변동내역(실제 거래일, 취득·처분 방법, 주식 종류, 변동 전후 수량, 단가). members·trades는 원문을 받은 5% 대량보유 보고에만 있다. 어떤 거래로 지분이 바뀌었는지, 매수인지 출자전환인지 확인할 때 쓴다. 공시 한 건만 보므로 한 종목의 공시 목록은 get_holder_history, 여러 종목의 공시는 get_recent_changes를 쓴다. 저장되지 않은 공시(최근 2년 5%·임원 보고만 있다)는 오류를 준다.
holders
get_holders
Current major holders of one stock and their stakes, from each holder's latest filing. Use it for 'who owns this company now'. For how stakes changed over time use get_holder_history; for everything one holder owns use get_portfolio. Each row in holders has a source field: major (5% large-holding report total), member (per-person or per-company breakdown inside a 5% report) or insider (executive/major-shareholder report, incl. 10%+ shareholders, 1% and above only). groups gives the combined stake of multi-member 5% groups; indirect_holders lists stakes held through other listed companies, with the paths. Every row has as_of (filing date) and source_url (the original filing). Holders with no report in the last 2 years are missing, and there are no foreign or retail totals. An unknown ticker returns an error with search_symbol candidates. 한 종목의 현재 주요 보유자와 지분율(보유자별 최신 공시 기준). '지금 이 회사 주인이 누구인가'에 쓴다. 시점별 변동은 get_holder_history, 한 보유자의 전체 보유는 get_portfolio를 쓴다. holders의 각 행에 source 필드가 있다: major(5% 대량보유 보고 합계), member(5% 보고 안의 사람·회사별 내역), insider(임원·주요주주 보고, 10% 이상 주주 포함, 1% 이상만). groups는 여러 명이 함께 낸 5% 보고의 합계, indirect_holders는 다른 상장사를 거친 간접 지분과 그 경로. 모든 행에 as_of(공시일)와 source_url(공시 원문). 최근 2년 안에 보고가 없는 보유자는 빠지고 외국인·소액주주 합계도 없다. 없는 종목이면 search_symbol 후보와 함께 오류를 준다.
portfolio
get_portfolio
Stocks held by a holder (default: the National Pension Service), with stakes, highest first. Only stocks with a 5% large-holding report or a 1%+ insider report. With entity_id (from search_holder) you get one person's or one company's holdings only. Searching by holder (part of a name) may mix in other holders with the same name and unverified reports, so check each row's entity_id. value is reported shares × latest close (KRW); total_value is their sum. If total exceeds shown, raise limit to get more. No match gives empty holdings and matched_holders; try search_holder to check the name. To see who holds one stock use get_holders; for one holder's recent trades use get_recent_changes with entity_id. 보유자(기본 국민연금)가 보유한 종목 목록과 지분율, 지분율 높은 순. 5% 대량보유 보고 또는 1% 이상 임원·주요주주 보고가 있는 종목만. entity_id(search_holder 결과)를 주면 그 한 사람·한 회사의 보유만 나온다. holder(이름 일부)로 찾으면 같은 이름의 다른 보유자와 미확인 보고가 섞일 수 있으니 행의 entity_id를 본다. value는 공시된 주식수 × 최근 종가(원), total_value는 그 합계. total이 shown보다 크면 limit을 올려 더 받을 수 있다. 맞는 보유자가 없으면 holdings와 matched_holders가 비니 search_holder로 이름을 확인한다. 한 종목의 보유자는 get_holders, 한 보유자의 최근 매매는 get_recent_changes에 entity_id를 준다.
recent
get_recent_changes
Feed of stake-change filings posted in the last N days (default 7), newest first. Use it across stocks for 'who bought and sold this week', or with entity_id and a large days (up to 730, the stored 2 years) for one holder's filings across all stocks. Insider reports below 1% are left out. ticker limits to one stock; holder or entity_id limits to one holder. For one stock's full history with no date limit, use get_holder_history. Default 50 rows, adjustable with limit. Rows with change listing or non_trade true are not market trades and must be excluded from buy/sell totals. kind is how a 5% filing's new or increased stake arose: buy, placement (rights issue or convertible bond), control (takeover), non_trade, unknown. 최근 N일(기본 7일) 동안 올라온 지분 변동 공시 피드(최신순). 여러 종목을 가로질러 '이번 주 누가 사고팔았나'를 볼 때 쓰고, entity_id와 큰 days(최대 730, 저장된 2년)를 주면 한 보유자의 전 종목 공시 이력이 된다. 1% 미만 임원 보고는 빠진다. ticker를 주면 그 종목만, holder·entity_id를 주면 그 보유자만 거른다. 기간 제한 없이 한 종목의 전체 이력이 필요하면 get_holder_history를 쓴다. 기본 50건이며 limit으로 조절. change가 listing이거나 non_trade가 true인 행은 시장 매수·매도가 아니므로 매매 합계에서 빼야 한다. kind는 5% 공시의 신규·증가 방식이다: buy(매수), placement(증자·전환사채), control(경영권 인수), non_trade, unknown.
symbol
search_symbol
Find a currently listed Korean stock (KOSPI/KOSDAQ) by part of its Korean or English name, or by ticker code. Returns a list of up to 20 matches as {ticker, name}: an exact name match first, then by market cap. An empty list means no listed stock matched (delisted stocks are excluded). Pass ticker to get_holders, get_holder_history, get_avg_cost or get_recent_changes. To find a person, fund or company as a holder, use search_holder instead. 지금 상장된 한국 종목(코스피·코스닥)을 한글·영문 종목명 일부나 종목코드로 찾는다. 최대 20건의 {ticker, name} 목록을 주며 이름이 정확히 같은 종목이 먼저, 그다음 시가총액 순이다. 빈 목록이면 맞는 상장 종목이 없다(상장폐지 종목은 빠진다). ticker를 get_holders·get_holder_history·get_avg_cost·get_recent_changes에 넘긴다. 보유자(사람·펀드·회사)를 찾으려면 search_holder를 쓴다.

Endpoints

URLTransportStateLatencyChecked
https://whohold.com/mcp streamable-http answering 471 ms 5 min ago

Alternatives to HOLD! Korean stock ownership

same job, measured the same way
Koreastockcheck
by koreastockcheck

Background checks for Korean stocks - 10 years of DART filings for all KRX companies, in English

answering
Silicon Floor
by siliconfloor

AI & chip stocks for agents: who owns, buys, sells, lends — pre-IPOs too, straight from SEC filings.

69 installs/wk 19 tools answering
Finance MCP
by adididitagain

Live stock, crypto, SEC filings, insider trades, FX and macro data for LLM agents.

112 installs/wk local only
StockDrifts
by stockdrifts

Rated 13F funds with average buy prices, company KPIs, Japan investor ratings, Korea insider buys.

32 tools answering
Korea Finance Factcheck
by hs85-newbie

Fact-checks numbers in Korean finance writing against DART, Bank of Korea ECOS and US Treasury

1 061 installs/wk local only
국내 주식·채권 MCP (Korea Stocks & Bonds)
by finquest

Korean stocks & bonds: DART filings, segment trends, earnings drivers, dividends, prices, bonds.

31 tools answering
restoorun
by com-restoorun

Read-only restaurant finance, cost, stock and staff-hours assistant for restoorun owners.

answering
ComePass — Korean Companies & Public Procurement
by comepass

Korean company facts in English: DART financials and filings, KONEPS procurement, NTS status.

4 tools answering

HOLD! Korean stock ownership — questions

Answers built from our own checks of this server.

What can HOLD! Korean stock ownership do?
It exposes 8 tools, read directly from the server on our last check. Among them: get_avg_cost, get_filing, get_holder_history, get_holders, get_portfolio, get_recent_changes and 2 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is HOLD! Korean stock ownership working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 22 of 22 checks got a reply (100.0%), average response time 555 ms. The bar chart above shows every period we have measured.
How do I connect HOLD! Korean stock ownership?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does HOLD! Korean stock ownership need an API key?
No. HOLD! Korean stock ownership completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 8 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is HOLD! Korean stock ownership?
It answers our handshake in 555 ms on average, which is faster than 20% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is HOLD! Korean stock ownership open source?
The code is open source: it is published under the MIT licence and 1 stars on GitHub. The licence covers the code in the repository, not the hosted service at whohold.com, which runs on its operator's own terms.