HOLD! Korea Stock Ownership & Insider Trades
RemoteAbout HOLD! Korea Stock Ownership & Insider Trades
HOLD! is a remote MCP server for exploring Korean listed companies’ ownership filings from DART. It provides holder identities, stake changes, filing details, and acquisition-cost calculations, with source links for each row.
Key features
- 01Search listed companies and holders
- 02View major holders and insiders
- 03Trace ownership history and indirect stakes
- 04Review holder portfolios and recent changes
- 05Calculate average cost from filing prices
- 06See trade details and source links
Use cases
- 01Check who holds over 5% of a Korean stock
- 02Track National Pension Service stake changes
- 03Review a controlling shareholder’s reported purchase price
- 04Inspect ownership filings and distinguish trades from paperwork
MCP support
Provides read-only ownership research tools to MCP clients over Streamable HTTP at `https://whohold.com/mcp`. No installation or API key is required.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://whohold.com/mcpclaude mcp add --transport http oon4am-eng-hold https://whohold.com/mcp{"mcpServers":{"oon4am-eng-hold":{"type":"http","url":"https://whohold.com/mcp"}}}Open in Cursor{"servers":{"oon4am-eng-hold":{"type":"http","url":"https://whohold.com/mcp"}}}Open in VS Code{"mcpServers":{"oon4am-eng-hold":{"type":"http","url":"https://whohold.com/mcp"}}}{"mcpServers":{"oon4am-eng-hold":{"serverUrl":"https://whohold.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEHOLD! MCP — who owns Korean stocks
Ask your AI who holds a Korean listed company, what the National Pension Service sold this week, or what price a controlling shareholder paid. HOLD! reads Korea's ownership filings (DART) and serves them as a remote MCP server.
https://whohold.com/mcp
No install, no API key. Paste the URL into any MCP client that speaks Streamable HTTP.

Connect
Claude.ai — Settings → Connectors → Add custom connector. Name it HOLD, paste the URL, then turn it on in a new chat.
Claude Code
claude mcp add --transport http hold https://whohold.com/mcp
Cursor — Settings → MCP → Add server:
{ "mcpServers": { "hold": { "url": "https://whohold.com/mcp" } } }
VS Code — .vscode/mcp.json:
{ "servers": { "hold": { "type": "http", "url": "https://whohold.com/mcp" } } }
Ask it
- Who owns more than 5% of Kakao, and how did NPS's stake change this year?
- Every stock NPS cut this week
- Korean stocks where BlackRock holds over 5%
- What did Pan Ocean's largest shareholder pay per share?
- Who indirectly owns Samsung Electronics through Samsung C&T and Samsung Life?
More in examples/prompts.md. You can ask in English. Holder names come back as filed, usually in Korean, and your AI can translate them.
Tools
| Tool | What it returns |
|---|---|
search_symbol | Listed company by name or ticker |
search_holder | Holders by name. Typing 블랙록 finds the BlackRock entities. Same-name people and companies stay separate |
get_holders | Holders of 5%+ and insiders of 1%+ for one stock, plus indirect holders through other listed companies |
get_holder_history | Every ownership filing for a stock, with the actual trade date when the filing gives one |
get_portfolio | Everything one holder owns (default: NPS), ranked by stake |
get_avg_cost | Average purchase price, computed from the per-trade prices in the original filings |
get_recent_changes | Ownership filings from the last N days, across all stocks or for one ticker |
get_filing | One filing in detail: each trade's date, method, shares before and after, and price |
All tools are read-only.
What makes the data usable
- One holder, one ID. People and companies are told apart by the birth date or business registration number in the original filing, not by name. Two people named 김철수 get two IDs.
- Real trade dates. A 5% change only has to be reported within five business days. When the filing lists the trade date, you get it next to the filing date.
- Trades vs. paperwork. Debt-for-equity swaps, capital reductions, pledges and new listings are flagged
non_trade, so they don't count as buying or selling. - Prices from the filings. Average cost comes from the acquisition prices written in each filing, adjusted for splits and mergers.
- Every answer cites its source. Each row carries
as_of(filing date) and a link to the original on DART.
Limits
- Covers 5%+ large-holding reports and 1%+ executive/major-shareholder reports from the last two years. Stakes below those lines, and total foreign ownership, aren't disclosed in these filings.
- NPS and many foreign institutions file a short form that legally omits prices, so
get_avg_costcan't price them. - Updated on weekday evenings (KST). Filings appear on DART first.
- Information, not investment advice.
Feedback
Found a wrong number or a holder merged with someone else? Open an issue with the ticker and holder name. Feature ideas are welcome too.
Sources
Filings: Financial Supervisory Service DART OpenAPI. Website: whohold.com.
This repository holds documentation only. The MIT license covers the docs and examples here; the whohold.com server code is not open source.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.