
Korea Data MCP
io.github.YoungsoonLeePublished by GitHub account YoungsoonLeev0.1.7Updated Nov 5, 2026
Korean public data: corporate filings, stock prices, apartments, statutes, economic statistics
Overview
Local MCP server that lets an assistant query Korean public data — corporate filings, financials, stock prices, apartment trades and rents, statutes, court…
- What you can do
- Find companies and read corporate filings, financial statements, dividends, major shareholders, ownership reports and corporate actions
- Look up public holidays, corporation profiles and business registration status
- List apartment sale and jeonse/monthly-rent transactions for a district and month, with price summaries
- Retrieve daily KOSPI, KOSDAQ and KONEX stock prices
- Search statutes and court rulings and read a law as in force on a chosen date
- Fetch or search Bank of Korea economic time series such as rates, exchange rates, CPI and GDP
- When to use it
- Useful when you need answers grounded in official Korean sources: company disclosures and financials, real-estate transaction prices, current statute text, court rulings, or Korean macroeconomic series. It normalizes known pitfalls of the raw APIs, such as quarterly versus half-year figures, not-yet-effective law text and cancelled apartment deals.
- Requirements
- Runs as a local process (single binary, or installed with Go); a one-click Claude Desktop bundle is offered. Needs free API keys supplied as environment variables: OPENDART_API_KEY, DATAGOKR_SERVICE_KEY, LAWGOKR_OC and ECOS_API_KEY. Any subset works; tools without a key are not offered. Signing up for the portals usually requires Korean identity verification. Network access to the government APIs is required.
Installation
In SourceWeft
- Open Korea Data MCP in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
korea-data-mcp
English | 한국어
Pass Korean public APIs straight to an AI agent and it gets answers wrong. korea-data-mcp gives it the right ones.
An MCP server for Korean corporate filings, financials, dividends and major shareholders, stock prices, apartment sale prices and rents, business registration status, public holidays, statutes and court rulings, and Bank of Korea economic statistics, from the official free APIs of OpenDART, data.go.kr, law.go.kr and ECOS.
- Correct, with evidence. 70 traps found on the live APIs (wrong half-year revenue, laws not in force yet, cancelled deals, district codes that changed in 2026, and more) are handled, each covered by a test that uses the real response. The full list is public: What korea-data-mcp handles for you. In a small evaluation, agents with korea-data-mcp answered 10 of 10 questions with one call each; with the raw APIs they hit the traps, needed about 3x the calls, and missed one.
- Installs in one click. A single binary with nothing else to install. In Claude Desktop, open korea-data-mcp.mcpb and enter your keys. Also in the official MCP Registry.
- Private. It runs on your machine. Your keys and questions go only to the government APIs, never through a third-party server, and there is no telemetry.
- Focused. 22 tools with clear descriptions, so an agent picks the right one without filling its context with dozens of others.
Why it matters
Example: "What was Samsung Electronics' revenue in the first half of 2025?" Here is what OpenDART actually returns:
The period says January to June, so an agent reads thstrm_amount and answers ₩74.6 trillion. That is wrong: it is the second quarter only. The half-year figure, ₩153.7 trillion, is in a different field. Most Korean MCP servers pass this response on as is. korea-data-mcp returns:
So the agent gets it right, and can even split out the second quarter:
[Claude Code answering Samsung Electronics' first-half 2025 revenue with opendart_get_financials]
Three more traps, each of which silently produces a wrong answer:
-
Law that is not law yet. Ask law.go.kr for the current Labor Standards Act (근로기준법) and the text includes 제44조의4, labeled as in effect since 2026-10-08. It actually takes effect on 2027-01-01; the official "current law" text already contains amendments that are only promulgated. korea-data-mcp returns the text in force on the date you ask for (today by default) and lists what is coming in
upcoming(tool output shortened):[Claude Code answering whether 근로기준법 제44조의4 is in force, using lawgokr_get_law]
-
Deals that never happened. Apartment trade data keeps cancelled deals, marked only by a flag: 12 of 233 Gangnam trades in September 2025, including a ₩7.5 billion one. Averages that include them are wrong. korea-data-mcp leaves them out.
-
Codes that quietly stop working. In 2026, 광주광역시 and 전라남도 merged, 화성시 was split into four 구, and 인천 reorganized its districts. The old district codes, which most code tables still list, now return zero trades, even for past months. With korea-data-mcp, an agent just says
광주 북구or화성시.
There is more: errors returned as HTTP 200, stale records mixed with current ones, business numbers that fail when written with hyphens, stock history split by a company rename, and a TLS handshake that fails from Go. See all 70: What korea-data-mcp handles for you.
What you can ask
Connect korea-data-mcp to Claude (or any MCP client) and ask in English or Korean:
- "What was Samsung Electronics' revenue in the first half of 2025, and what has it disclosed recently?"
- "Who is SK hynix's largest shareholder, and how did its dividend per share change over the last three years?"
- "Who else holds 5% or more of SK hynix, and have any of them sold recently?"
- "How much did Samsung Electronics spend on buybacks in the last two years, and has 광진실업 diluted its shareholders?"
- "What was the median apartment sale price in 분당구 in September 2025?"
- "What was the median jeonse deposit for new contracts in 강남구 in September 2025?"
- "Is 제44조의4 of the Labor Standards Act (근로기준법) in force yet?"
- "Find recent Supreme Court rulings on unfair dismissal (부당해고) and summarize the holding of the latest one."
- "Is business registration number 124-81-00998 still active?"
- "How did NAVER's stock price move last month?"
- "Which public holidays are left in Korea this year?"
- "How have the Bank of Korea base rate and the won-dollar rate moved over the last two years?"
All four keys are free. You can start with just one.
Quick start
Claude Desktop, in one click: download korea-data-mcp.mcpb, open it (or drag it into Settings → Extensions), and enter the keys you have (how to get them). Nothing else to install; skip to step 4.
1. Install
Download a binary for macOS, Linux or Windows (Intel or ARM) from Releases, extract it, and note the absolute path of korea-data-mcp (korea-data-mcp.exe on Windows). For example, on an Apple Silicon Mac:
On macOS, a binary downloaded with a browser is blocked as coming from an unidentified developer; run xattr -d com.apple.quarantine korea-data-mcp once. curl downloads are not affected.
Or with Go 1.26 or later (Go 1.21+ downloads the right toolchain automatically):
The binary is installed to $(go env GOPATH)/bin/korea-data-mcp.
2. Get a key
Start with OpenDART: sign up at opendart.fss.or.kr, request a key (인증키 신청), and it is issued right away. For all four, step by step with the Korean menu names: Getting API keys. Any subset works; tools whose key is missing are simply not offered.
Outside Korea? These portals usually require Korean identity verification (a Korean mobile number) to sign up, so getting keys from abroad can be hard or impossible. A hosted version that needs no keys of your own is planned: join the waitlist.
3. Connect your client
Use absolute paths. Leave out the keys you don't have.
Claude Code:
Claude Desktop: edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop:
Other MCP clients take the same command and environment variables.
To keep keys in one file instead, copy .env.example to .env, fill it in, and pass -env-file /absolute/path/to/.env as an argument. A variable set in the environment takes precedence over the file.
4. Check it
Ask your agent "Which korea-data-mcp providers are enabled?". It calls hub_list_providers, which lists the enabled providers and any missing keys. Then try one of the questions above.
API keys
Step-by-step instructions and troubleshooting: Getting API keys. All four are free, but signing up usually requires Korean identity verification. If you can't get them, join the hosted waitlist.
data.go.kr: The portal issues two keys, Encoding and Decoding. Use the Decoding key. The Encoding key gets URL-encoded twice and fails with
SERVICE_KEY_IS_NOT_REGISTERED_ERROR. One key covers every API you apply for.
law.go.kr: The OC is a value you choose under 마이페이지 → API인증키관리. A wrong OC gives the error "사용자 정보 검증에 실패하였습니다". law.go.kr puts the OC in every link it returns, so don't reuse another key as the OC (korea-data-mcp never passes those links on).
Tools
OpenDART (OPENDART_API_KEY)
Every OpenDART tool that takes corp_code also accepts a 6-character stock code (e.g. 005930).
data.go.kr (DATAGOKR_SERVICE_KEY). Each API needs its own application (활용신청) on data.go.kr; the links are below.
law.go.kr (LAWGOKR_OC)
Bank of Korea ECOS (ECOS_API_KEY)
Hub: hub_list_providers lists the enabled providers and the keys that are missing.
Security, limits and freshness
- Your keys stay on your machine. korea-data-mcp runs locally and sends each key only to the service that issued it. There is no telemetry. Error messages never include keys or query strings.
- HTTP mode has no authentication.
-httpserves the tools to anyone who can reach the port, using your keys. Bind it to localhost (-http 127.0.0.1:8080) unless it is behind an authenticating proxy. The default stdio mode does not open a port. - Upstream quotas apply. A data.go.kr development account allows 10,000 calls per day for each API; OpenDART, law.go.kr and ECOS have their own limits. korea-data-mcp caches responses for 10 minutes and the DART company list for 24 hours.
- Data is as fresh as the source. Apartment deals can be reported up to 30 days after the contract, so the latest month fills in over time. Stock prices are daily, updated after each trading day.
Roadmap
- OpenDART: companies, disclosures, financials, dividends, shareholders, ownership reports, major decisions
- data.go.kr: holidays, corporation info, business status, apartment trades and rents, stock prices
- law.go.kr: statutes, court rulings
- Bank of Korea ECOS: rates, prices, GDP, employment and any other ECOS table
- KOSIS (Korean Statistical Information Service)
- A sibling server for Japan, starting with EDINET (corporate disclosures)
Want a data source added? Request it. Found an API behaving oddly? Open an issue. No Korean API keys? Join the hosted waitlist. To build, test or add a provider, see docs/DEVELOPMENT.md.
License
Apache License 2.0. Data returned by the tools comes from the upstream services and is subject to their terms of use.
Source: README.md at commit 769d784
Tools
0Version history
4- v0.1.7LatestNov 5, 2026
- v0.1.6Nov 1, 2026
- v0.1.4Oct 31, 2026
- v0.1.2Oct 29, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts