Ko Stock

by okdoittttt

245 downloads
Not rated
GitHub

About

An MCP server providing Korean DART filings and KRX market data to Claude and other MCP clients.

Details

Author
okdoittttt
Downloads
245
Categories
Finance

- 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

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Ko Stock
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The README includes setup instructions such as "args": ["--directory", "/absolute/path/to/ko-stock-mcp", "run", "python", "-m", "ko_stock_mcp.server"].

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "ko stock": {
            "ko-stock-mcp": {
                "command": "uv",
                "args": [
                    "sync"
                ]
            }
        }
    }
}

McpServers

{
    "ko-stock-mcp": {
        "command": "uv",
        "args": [
            "sync"
        ]
    }
}

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)

| Tool | Description |
|------|-------------|
| get_corp_code | Look up a company's DART corp_code (8-digit) by name or stock code (6-digit). Entry point for the other tools. |
| get_company_info | Company profile (name, CEO, market class, industry, incorporation date, etc.). |
| get_disclosure_list | Search disclosures by company / date range / disclosure type. |
| get_disclosure | Fetch a disclosure's original document. Large docs return a table of contents (toc); drill in with section_id. |
| get_financial_statement | XBRL financial statements (BS / IS / CIS / SCE / CF) from periodic reports. |
| get_today_date | Today's date in KST/UTC (YYYYMMDD + ISO). |

KRX (Korea Exchange) — requires KRX_API_KEY

| Tool | Description |
|------|-------------|
| get_market_type | Determine which market (KOSPI/KOSDAQ/KONEX) a stock code belongs to. Uses DART corp class first, falls back to KRX. |
| get_stock_trade_info | Daily trading data for a business day (close, change rate, volume, market cap, etc.). |
| get_stock_base_info | Stock 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)

| Field | Meaning |
|-------|---------|
| BAS_DD | Base date (YYYYMMDD) |
| ISU_CD | Stock code (6-digit short code in this response) |
| ISU_NM | Stock name |
| MKT_NM | Market (KOSPI/KOSDAQ/KONEX) |
| SECT_TP_NM | Section/board |
| TDD_CLSPRC | Closing price |
| CMPPREVDD_PRC | Change vs. previous day |
| FLUC_RT | Change rate (%) |
| TDD_OPNPRC / TDD_HGPRC / TDD_LWPRC | Open / High / Low |
| ACC_TRDVOL | Accumulated trading volume (shares) |
| ACC_TRDVAL | Accumulated trading value (KRW) |
| MKTCAP | Market capitalization (KRW) |
| LIST_SHRS | Listed shares |

get_stock_base_info (stock base info)

| Field | Meaning |
|-------|---------|
| ISU_CD | Standard code (12-digit, e.g. KR7005930003) |
| ISU_SRT_CD | Short code (6-digit, e.g. 005930) |
| ISU_NM | Full stock name |
| ISU_ABBRV | Abbreviated name |
| ISU_ENG_NM | English name |
| LIST_DD | Listing date (YYYYMMDD) |
| MKT_TP_NM | Market (KOSPI/KOSDAQ/KONEX) |
| SECUGRP_NM | Security group (e.g. common stock) |
| SECT_TP_NM | Section/board |
| KIND_STKCERT_TP_NM | Share type (e.g. ordinary) |
| PARVAL | Par value |
| LIST_SHRS | Listed 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

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.