K-Data — Korean Sell-Side Research & Market Data

io.github.juh5ngPublished by GitHub account juh5ngv0.3.0Updated Oct 24, 2026

Korean equity research, analyst revisions, kimchi premium and news via x402.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingFinance

Overview

AI-generated overview

Korean market data MCP server: paid, per-call access to KRX sell-side research, kimchi premium, Upbit KRW quotes and translated headlines.

What you can do
Preview free coverage and archive depth for research and kimchi premium data, and list the paid catalog with prices and remaining budget. Retrieve Korean brokerage research: latest reports, per-ticker reports, and analyst consensus with target-price and rating revision history. Get the kimchi premium on official and USDT bases, plus percentile statistics and time-series history. Read Upbit KRW market snapshots and single quotes, and the USD/KRW rate. Fetch Korean headlines from Yonhap, Maeil Business and Hankyung, with or without English translations, and a one-call Korea market briefing.
When to use it
Useful when an assistant needs Korean equity research facts, analyst consensus and revisions, kimchi premium context, or Korean market and news data in English. Start with the free previews to judge archive coverage before paying for calls.
Requirements
Runs as a hosted remote endpoint or locally via npx k-data-mcp (Node.js). Paid tools need K_DATA_PRIVATE_KEY, the private key of a dedicated wallet holding USDC on Base, and optionally K_DATA_MAX_SPEND_USD (default 1). K_DATA_BASE_URL can point at another deployment. Free preview tools work without a wallet. Network access required.
Before you install
Paid tools spend real USDC per call, from $0.005 to $0.12, and each history page is a separate paid request. The wallet private key is supplied via K_DATA_PRIVATE_KEY and sits in a config file; use a dedicated wallet, not a main one. Set K_DATA_MAX_SPEND_USD as a hard cap. Research content is summarized facts with links to publishers, not the report PDFs.

Installation

In SourceWeft

  1. Open K-Data — Korean Sell-Side Research & Market Data in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.juh5ng%2Fkorea-stock-research-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "k-data-korean-sell-side-research-market": {
      "type": "http",
      "url": "https://k-data-x402-production.theblack1022.workers.dev/mcp"
    }
  }
}

README

k-data-mcp

MCP server for Korean equity research and market data, metered per call in USDC over x402. Start it without a wallet to inspect the catalog and run free, date-stamped previews; add a dedicated wallet only when you want paid calls.

Try before funding a wallet

Run npx k-data-mcp with no environment variables to use these free tools:

  • list_endpoints — paid catalog and prices.
  • preview_research_coverage — real per-ticker report/brokerage counts and archive date ranges.
  • preview_research — a single ticker's actual archive depth; this does not disclose report content.
  • preview_kimchi_premium — live BTC-only dual-basis sample.

Set K_DATA_PRIVATE_KEY and K_DATA_MAX_SPEND_USD only when you are ready to enable paid tools.

What you get

  • Kimchi premium on a tradeable basis. Everyone quotes the premium against the official USD/KRW rate, but Korean capital controls mean the KRW exit leg actually goes through USDT — so that number is not something you can trade on. This returns both, and they routinely disagree in sign: official can read −0.27% while the realizable basis is +0.19%.
  • Premium history and percentile context. A continuously recorded archive answers "is this premium unusual right now?" — percentile, mean, stdev, z-score over 1h–90d. No free source publishes this, and it cannot be reconstructed after the fact.
  • Korean headlines translated to English, from Yonhap, Maeil Business and Hankyung. Korean myriad units (억 / 조) are expanded deterministically before translation, so "989억달러" comes back as $98.9 billion rather than the 10×-off answer language models produce unaided.
  • Korean sell-side research as structured data. Target prices, ratings, brokerage and analyst per KRX ticker, each with an English summary, plus the consensus and revision history built from them — who raised, who cut, and how far apart the houses actually are. Only the facts of each report are sold, in our own words, with a link back to the publisher; the report PDF stays with the brokerage that wrote it. The listing source shows a rolling recent window only, so this series cannot be reconstructed after the fact either.
  • Upbit KRW quotes and market summaries, USD/KRW.

Install

bash
npx k-data-mcp

Claude Desktop / Claude Code

json
{  "mcpServers": {    "k-data": {      "command": "npx",      "args": ["-y", "k-data-mcp"],      "env": {        "K_DATA_PRIVATE_KEY": "0xYOUR_DEDICATED_WALLET_KEY",        "K_DATA_MAX_SPEND_USD": "1"      }    }  }}

Wallet setup

Each tool call spends real USDC, so the server will not start without a key and a budget.

  1. Create a dedicated wallet — not your main one. The key sits in a config file and every call spends from it.
  2. Fund it with the USDC you're willing to spend on Base. No ETH needed: x402 settles with an off-chain EIP-3009 signature and the facilitator pays the gas.
  3. Set K_DATA_MAX_SPEND_USD. The server refuses any call that would push cumulative spend past it.
VariableRequiredDefaultMeaning
K_DATA_PRIVATE_KEYyes—Private key of the paying wallet (USDC on Base)
K_DATA_MAX_SPEND_USDno1Hard cap on cumulative spend for the session
K_DATA_BASE_URLnohosted servicePoint at a different K-Data deployment

Tools

list_endpoints is free — call it first to see current prices and decide what's worth buying.

ToolPriceReturns
list_endpointsfreeCatalog, current prices, wallet address, remaining budget
kimchi_premium$0.03Dual-basis premium (official + USDT) for up to 10 coins
kimchi_premium_stats$0.12Percentile, mean, stdev, z-score of the premium over 1h–90d
kimchi_premium_history$0.08Premium time series, both bases
korea_market_snapshot$0.08One-call briefing: premium + markets + FX + translated headlines
research_consensus_ticker$0.12Analyst consensus for one KRX ticker — target price mean/median/range and spread, rating mix, and every house's revision history
research_company_ticker$0.05Archived Korean brokerage reports for one ticker, summarised in English
research_latest$0.02Latest Korean equity research across all covered companies
news_headlines_en$0.05Korean headlines with English translations
crypto_krw_markets$0.01All Upbit KRW markets — volume leaders, gainers, losers
news_headlines$0.01Korean headlines, untranslated
crypto_krw_ticker$0.005One Upbit KRW quote
fx_usdkrw$0.005USD/KRW rate

Prices are read from the provider's catalog at startup, so this table reflects whatever the service currently charges.

How payment works

Every paid endpoint answers an unpaid request with HTTP 402 and a PAYMENT-REQUIRED header describing the price, asset and recipient. This server signs an EIP-3009 authorization for that exact amount and retries; the facilitator settles it on Base. Nothing is held on account — you pay per call, and stop paying when you stop calling.

License

MIT

Source: README.md at commit 091c376

Tools

16

preview_premium_coverage

Free archive coverage and freshness for each recorded coin. Check sample count, first and latest timestamps, and stale flag before buying premium statistics or history.

Takes no parameters.

preview_research_coverage

Free, date-stamped KRX research coverage. Lists the most-covered tickers with report count, brokerage count, and archive date range; it does not reveal report content.

Parameterslimit

preview_research

Free, date-stamped archive-depth check for one 6-digit KRX ticker. Shows report and brokerage counts, not report content or consensus.

Parameterstickerrequired

preview_kimchi_premium

Free live BTC-only sample of the dual-basis kimchi premium. Use the paid endpoint for up to 10 symbols.

Takes no parameters.

kimchi_premium

Kimchi premium on two bases: premium_official_pct (official USD/KRW rate — the quoted figure) and premium_usdt_pct (Upbit KRW/USDT rate — a gross spot-price comparison using KRW/USDT conversion, before spreads, fees, liquidity and transfer constraints). The two frequently disagree in sign. Optional ?symbols=BTC,ETH (max 10). Costs $0.03 in USDC per call, settled via x402.

Parameterssymbols

kimchi_premium_stats

Where the current kimchi premium sits inside its own recent distribution: percentile, mean, stdev, z-score, min/max/median, and a plain-language read. Answers 'is this premium unusual right now?' in one call. Built from the recorded archive; inspect actual dates and freshness with the free coverage endpoint. Params: ?symbol=BTC &window=1h|6h|24h|7d|30d|90d &basis=usdt|official. Costs $0.12 in USDC per call, settled via x402.

Parametersbasissymbolwindow

kimchi_premium_history

Time series of the kimchi premium from the recorded archive, both bases, newest-last. Params: ?symbol=BTC &window=1h|6h|24h|7d|30d|90d &points=500 (max 2000) &before=<next_before>. Each page is a separate paid request. Continue while has_more is true using next_before. Inspect actual archive depth and freshness through /api/preview/premium-coverage before buying. Costs $0.08 in USDC per call, settled via x402.

Parametersbeforepointssymbolwindow

research_consensus_ticker

Analyst consensus for one KRX ticker, built from the archived research history: mean/median/min/max target price across brokerages, the spread between them, the rating distribution, and a revision log of every target-price and rating change each house has made. Consensus uses each house's latest view, so a weekly publisher does not outvote a quarterly one. Params: ?window=30d|90d|180d|365d (default 90d). Costs $0.12 in USDC per call, settled via x402.

Parameterstickerrequiredwindow

research_company_ticker

Every archived Korean brokerage report for one KRX ticker, newest first: target price, rating, brokerage, analyst, the Korean title with its English translation, and a one-line English summary. Params: ?limit=20 (max 50). Costs $0.05 in USDC per call, settled via x402.

Parameterslimittickerrequired

research_latest

Latest Korean brokerage equity research across all covered companies, newest first — company and KRX ticker, target price, rating, brokerage, analyst, and a one-line English summary of each report. Facts and summaries only; the report PDF stays with its publisher and source_url links back to it. Optional ?limit=20 (max 50). Costs $0.02 in USDC per call, settled via x402.

Parameterslimit

news_headlines_en

Latest Korean headlines with English translations attached (title_en), from Yonhap, Maeil Business and Hankyung — deduplicated, newest first. Use this instead of the Korean-only route when the consuming agent does not read Korean. Optional ?category=top|economy|tech|politics and ?limit=20 (max 50). Costs $0.05 in USDC per call, settled via x402.

Parameterslimitcategory

korea_market_snapshot

One-call Korea briefing: dual-basis kimchi premium + top Upbit KRW markets + USD/KRW + latest economy headlines translated to English. Everything needed for a Korea market read in a single paid request. Costs $0.08 in USDC per call, settled via x402.

Takes no parameters.

crypto_krw_markets

Snapshot of all Upbit KRW crypto markets: top by 24h traded value, top gainers, top losers. Optional ?limit=30 (max 100) for the volume ranking. Costs $0.01 in USDC per call, settled via x402.

Parameterslimit

news_headlines

Latest Korean headlines from Yonhap, Maeil Business and Hankyung, deduplicated and newest-first. Titles stay in Korean — use /api/news/headlines/en for English. Optional ?category=top|economy|tech|politics and ?limit=30 (max 100). Costs $0.01 in USDC per call, settled via x402.

Parameterslimitcategory

crypto_krw_ticker

Live quote for one Upbit KRW market by ticker symbol (e.g. BTC, ETH, XRP): price, 24h change, 24h high/low, 24h traded value in KRW. Costs $0.005 in USDC per call, settled via x402.

Parameterstickerrequired

fx_usdkrw

Current USD/KRW exchange rate (ECB reference via Frankfurter, fallback open.er-api.com). Costs $0.005 in USDC per call, settled via x402.

Takes no parameters.

Version history

1
  1. v0.3.0LatestSep 16, 2026

Score

100% 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 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts