Order, amend and cancel calls are blocked until trading is explicitly switched on in the configuration, so a read-only setup stays read-only. This is a community project with no affiliation to Korea Investment & Securities, and the repository says so at the top.
An unofficial MCP server for the Korea Investment & Securities (KIS) REST API. It ships a catalogue of 166 endpoints, grouped by the part of the business they serve, that a generic call tool can invoke, plus shortcuts for the queries people run most.
- The catalogue browsed, and one endpoint's spec read: path, HTTP method, TR_ID candidates, and parameters with Korean labels, input guidance and example values (list-kis-api-specs, get-kis-api-spec)
- Any endpoint in the catalogue called by group and ID (call-kis-api)
- Shortcuts for the two common queries, account balance and current stock price (inquery-balance, inquery-stock-price)
- Domestic Korean equities: current price, daily and period quotes, order book, sector index, balance, buyable amount and sellable quantity
- Overseas markets for the US, Japan, China, Hong Kong and Vietnam, with the order TR_ID chosen automatically by market and direction
- Stdio, SSE and streamable-http transports, token caching by app key and account type, and unknown request parameters rejected by default
Python 3.13 or newer and uv. The KIS app key and secret, plus the account number and product code, go in a .env file, along with whether that account is a real or a virtual one. Setting KIS_MCP_TOOLSET to catalog keeps the tool surface small.
Build from source — clone the repository and build it, then point your client at the binary
