RedoxNet.Mcp.LsOpenApi 0.4.0

There is a newer version of this package available.
See the version list below for details.
{
  "servers": {
    "RedoxNet.Mcp.LsOpenApi": {
      "type": "stdio",
      "command": "dnx",
      "args": ["RedoxNet.Mcp.LsOpenApi@0.4.0", "--yes"]
    }
  }
}
                    
This package contains an MCP Server. The server can be used in VS Code by copying the generated JSON to your VS Code workspace's .vscode/mcp.json settings file.
dotnet tool install --global RedoxNet.Mcp.LsOpenApi --version 0.4.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local RedoxNet.Mcp.LsOpenApi --version 0.4.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=RedoxNet.Mcp.LsOpenApi&version=0.4.0
                    
nuke :add-package RedoxNet.Mcp.LsOpenApi --version 0.4.0
                    

RedoxNet.Mcp.LsOpenApi

MCP server for the LS증권 OpenAPI — exposes Korean stock market data as MCP tools so AI assistants can query quotes, charts, and ETF data in natural language.

Unofficial third-party MCP server. Not affiliated with or endorsed by LS Securities Co., Ltd. (LS증권). Read-only market-data scope (실시간 / 계좌 / 주문 deferred).

Install

dnx fetches the latest published version from NuGet on every launch — no separate install step. Wire it into your MCP host:

Claude Desktop / Claude Code

claude_desktop_config.json (Claude Desktop) or .mcp.json at your workspace root (Claude Code):

{
  "mcpServers": {
    "lsopenapi": {
      "command": "dnx",
      "args": ["RedoxNet.Mcp.LsOpenApi", "--yes"],
      "env": {
        "LS_APPKEY": "...",
        "LS_APPSECRETKEY": "...",
        "LS_MARKET": "virtual"  // "virtual" (paper) or "real" (live)
      }
    }
  }
}

Codex CLI

%USERPROFILE%\.codex\config.toml (Windows) or ~/.codex/config.toml (macOS / Linux):

[mcp_servers.lsopenapi]
command = "dnx"
args = ["RedoxNet.Mcp.LsOpenApi", "--yes"]

[mcp_servers.lsopenapi.env]
LS_APPKEY = "..."
LS_APPSECRETKEY = "..."
LS_MARKET = "virtual"  # "virtual" (paper) or "real" (live)

VS Code

Workspace .vscode/mcp.json:

{
  "servers": {
    "lsopenapi": {
      "type": "stdio",
      "command": "dnx",
      "args": ["RedoxNet.Mcp.LsOpenApi", "--yes"],
      "env": {
        "LS_APPKEY": "...",
        "LS_APPSECRETKEY": "...",
        "LS_MARKET": "virtual"  // "virtual" (paper) or "real" (live)
      }
    }
  }
}

FieldCure AssistStudio

Settings → Connect → Add MCP Server, then fill the dialog:

Field Value
Server Name Any label, e.g. LS Open Api
Description (for AI) Leave blank — auto-filled from the server on first connect
Transport Stdio
Command dnx
Arguments RedoxNet.Mcp.LsOpenApi --yes  — space-separated, no quotes or commas
Environment Variables one KEY=VALUE per line (see below)
LS_APPKEY=...
LS_APPSECRETKEY=...
LS_MARKET=virtual

AssistStudio renders the optional Plotly chart spec from ls_get_chart inline in the chat — call it with include_chart=true (single timeframe) to get a candlestick chart directly in the conversation.

Environment variables

Name Required Description
LS_APPKEY yes LS OpenAPI app key.
LS_APPSECRETKEY yes LS OpenAPI app secret key.
LS_MARKET no real or virtual (default virtual).
LS_BASEURL no Override REST base URL (rarely needed).

Credentials are accepted only through the process environment — never through chat, tool arguments, or MCP elicitation. Prompting for them in conversation would either log them or train callers to share them in transcripts, so that input path is intentionally closed off.

Tools (v0.4.0)

Tool TR Purpose
ls_search_tr Search the embedded TR catalog by Korean / English keyword.
ls_describe_tr Full InBlock / OutBlock schema for a specific TR.
ls_call_tr any Invoke any TR with a caller-supplied in_block.
ls_get_quote t1101 Current price + 10-level order book.
ls_get_multi_quote t8407 Up to 50 stocks per call.
ls_get_top_stocks t1441 / t1444 / t1452 / t1463 / t1466 Top gainers/losers, market cap, volume, trading value, and volume-surge screeners.
ls_get_stock_info t1102 PER/PBR/EPS, quarterly financials, 52-week + YTD ranges, top-5 brokerages, foreign-investor activity, SPAC / 관리종목 flags.
ls_get_chart t8410 / t8412 / t1301 OHLCV (day/week/month/year/min/tick), indicators (SMA/EMA/RSI/MACD/BB), token-efficient summary + dataset_id, multi-timeframe in one call, optional Plotly v5 chart spec. Raw bars only with output_mode='export'; with_warmup toggles the summary warm-up; summary.coverage explains any null indicators.
ls_add_indicator (handle cache + chart TR) Adds an indicator to a dataset_id returned by ls_get_chart and returns the updated summary + chart spec. Example: "add MA200 too".
ls_reframe_chart (handle cache + chart TR) Reframes a dataset_id to a new period/count using the cached symbol. Example: "이걸 일봉으로 바꿔서 최근 6개월만 보여줘".
ls_search_stock t8436 Name → code search with instrument filter (all / stock / etf).
ls_get_etf_info t1901 ETF/ETN snapshot — NAV, 괴리율, 추적오차율, reference index, AUM, LP list.
ls_get_etf_holdings t1904 ETF PDF (구성종목) with optional top_n cap.

Full release notes: https://github.com/redoxnet/mcp-lsopenapi/blob/main/RELEASENOTES.Mcp.md

Documentation & source

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.6.0 574 5/28/2026
1.5.1 376 5/27/2026
1.5.0 372 5/27/2026
1.4.0 356 5/26/2026
1.3.0 355 5/26/2026
1.2.0 125 5/22/2026
1.1.0 372 5/22/2026
1.0.0 394 5/21/2026
0.10.1 374 5/20/2026
0.10.0 109 5/20/2026
0.9.0 119 5/20/2026
0.8.0 116 5/20/2026
0.7.0 134 5/18/2026
0.6.0 123 5/16/2026
0.5.0 138 5/15/2026
0.4.0 121 5/15/2026
0.3.0 123 5/14/2026
0.2.0 117 5/14/2026
0.1.0 123 5/13/2026

v0.4.0: ls_get_chart reshape — text payload is now summary-first (AnalyticalSummary + dataset_id; raw OHLCV only with output_mode='export'). Adds ls_add_indicator and ls_reframe_chart follow-up tools (operate on dataset_id without re-sending raw bars). New with_warmup parameter explicitly toggles the summary warm-up policy; every response carries a summary.coverage block with per-indicator status (ok/insufficient_data/disabled) and a human-readable note. key_turns now use a threshold-reversal ZigZag with strict peak/trough alternation and a trailing tentative pivot; MA60 slope uses a least-squares fit. Tool count 11 → 13. See https://github.com/redoxnet/mcp-lsopenapi/blob/main/RELEASENOTES.Mcp.md for full notes.