mcpField
K
Ko Stock

Ko Stock

Local
github.com/okdoitttttFinance0Updated 17w ago

About Ko Stock

Ko Stock is an MCP server for Korean corporate disclosures and stock data, intended for Claude and other MCP clients. It combines DART company filings and financial statements with KRX market and trading information.

Key features

  1. 01Look up DART company codes by name or code
  2. 02Search disclosures and retrieve their documents
  3. 03Fetch XBRL financial statements
  4. 04Query KRX daily trades and stock details
  5. 05Identify KOSPI, KOSDAQ, and KONEX markets

Use cases

  1. 01Find and read filings from Korean companies
  2. 02Review financial statements in periodic reports
  3. 03Check daily prices, trading volume, and market capitalization

MCP support

It exposes DART disclosure and financial query tools to MCP clients, along with KRX market-data tools that require KRX_API_KEY.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

ko-stock-mcp

An MCP server that exposes Korean DART (전자공시시스템, Financial Supervisory Service electronic disclosure) data to MCP clients such as Claude Desktop.

한국어 문서는 README.ko.md를 참고하세요.

Tools

Both DART (electronic disclosure) and KRX (Korea Exchange) tools are provided.

DART (disclosure)
ToolDescription
get_corp_codeLook up a company's DART corp_code (8-digit) by name or stock code (6-digit). Entry point for the other tools.
get_company_infoCompany profile (name, CEO, market class, industry, incorporation date, etc.).
get_disclosure_listSearch disclosures by company / date range / disclosure type.
get_disclosureFetch a disclosure's original document. Large docs return a table of contents (toc); drill in with section_id.
get_financial_statementXBRL financial statements (BS / IS / CIS / SCE / CF) from periodic reports.
get_today_dateToday's date in KST/UTC (YYYYMMDD + ISO).
KRX (Korea Exchange) — requires KRX_API_KEY
ToolDescription
get_market_typeDetermine which market (KOSPI/KOSDAQ/KONEX) a stock code belongs to. Uses DART corp class first, falls back to KRX.
get_stock_trade_infoDaily trading data for a business day (close, change rate, volume, market cap, etc.).
get_stock_base_infoStock base info (name, standard/short code, listing date, par value, shares outstanding, etc.).

Typical flow — disclosures/financials: get_corp_code → (get_disclosure_list | get_financial_statement | get_company_info) → get_disclosure for full text. Market data: (optionally get_market_type →) get_stock_trade_info | get_stock_base_info (bas_dd must be a business day; non-trading days return empty).

KRX tools return a friendly error when KRX_API_KEY is unset; DART features are unaffected. Note get_market_type works with just the DART key (via corp class).

KRX response fields

get_stock_trade_info / get_stock_base_info return the raw KRX fields verbatim under result (amounts/quantities are strings, dates are YYYYMMDD).

get_stock_trade_info (daily trading data)

FieldMeaning
BAS_DDBase date (YYYYMMDD)
ISU_CDStock code (6-digit short code in this response)
ISU_NMStock name
MKT_NMMarket (KOSPI/KOSDAQ/KONEX)
SECT_TP_NMSection/board
TDD_CLSPRCClosing price
CMPPREVDD_PRCChange vs. previous day
FLUC_RTChange rate (%)
TDD_OPNPRC / TDD_HGPRC / TDD_LWPRCOpen / High / Low
ACC_TRDVOLAccumulated trading volume (shares)
ACC_TRDVALAccumulated trading value (KRW)
MKTCAPMarket capitalization (KRW)
LIST_SHRSListed shares

get_stock_base_info (stock base info)

FieldMeaning
ISU_CDStandard code (12-digit, e.g. KR7005930003)
ISU_SRT_CDShort code (6-digit, e.g. 005930)
ISU_NMFull stock name
ISU_ABBRVAbbreviated name
ISU_ENG_NMEnglish name
LIST_DDListing date (YYYYMMDD)
MKT_TP_NMMarket (KOSPI/KOSDAQ/KONEX)
SECUGRP_NMSecurity group (e.g. common stock)
SECT_TP_NMSection/board
KIND_STKCERT_TP_NMShare type (e.g. ordinary)
PARVALPar value
LIST_SHRSListed shares

get_market_type returns { "market": "KOSPI"|"KOSDAQ"|"KONEX", "source": "dart"|"krx"|"cache" } (source is where the classification came from).

Requirements

  • Python >= 3.10
  • uv
  • A DART Open API key — sign up at https://opendart.fss.or.kr (free, instant).
  • (Optional) A KRX Open API key — sign up at https://openapi.krx.co.kr, request a key, then apply for the six stock services (3 daily-trade + 3 base-info); approval takes ~1 day. Only needed for the KRX market-data tools.

Setup

uv sync
cp .env.example .env   # then put your DART_API_KEY in .env

Run / develop

# Launch the MCP Inspector for local testing
uv run mcp dev src/ko_stock_mcp/server.py

# Or run the server directly (stdio)
uv run ko-stock-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "ko-stock-mcp": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/ko-stock-mcp", "run", "python", "-m", "ko_stock_mcp.server"]
    }
  }
}

uv --directory runs the server with this project as the working directory, so .env (with DART_API_KEY, and optionally KRX_API_KEY) is loaded automatically — no need to duplicate the keys here. If you prefer, you can instead pass them explicitly:

"env": { "DART_API_KEY": "<YOUR_DART_API_KEY>", "KRX_API_KEY": "<YOUR_KRX_API_KEY>" }

On macOS the config lives at ~/Library/Application Support/Claude/claude_desktop_config.json. Restart Claude Desktop after editing.

License

MIT — see LICENSE.

Comments

Markdown supported

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.