kite-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KITE_API_KEY | Yes | Kite Connect API key | |
| KITE_USER_ID | Yes | Zerodha client ID (e.g., AB1234) | |
| KITE_PASSWORD | Yes | Zerodha login password | |
| KITE_API_SECRET | Yes | Kite Connect API secret | |
| KITE_TOTP_SECRET | No | TOTP base32 seed for auto-login. If not provided, you must run kite-mcp-login manually each day. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| kite_loginA | Authenticate with Zerodha Kite. Auto-generates TOTP and logs in. Call this if other tools fail with auth errors. |
| get_holdingsA | Get all holdings in the portfolio with quantity, average price, last price, and P&L. |
| get_positionsA | Get current day's positions (both day and net). |
| get_ordersA | Get all orders placed today. |
| get_marginsA | Get account margins/funds available for trading (equity and commodity segments). |
| get_quoteA | Get live market quote for one or more instruments. Use NSE: prefix for stocks (e.g., NSE:RELIANCE, NSE:INFY). Falls back to holdings/positions data if the market data API is not available. |
| get_ohlcA | Get OHLC (open, high, low, close) and last price for instruments. Falls back to holdings/positions data if the market data API is not available. |
| get_historical_dataB | Get historical candle data for an instrument. Interval can be: minute, day, 3minute, 5minute, 10minute, 15minute, 30minute, 60minute. |
| get_instrumentsA | Get list of tradeable instruments for an exchange. Use to find instrument_token for historical data. Exchange: NSE, BSE, NFO, BFO, CDS, MCX. |
| place_orderB | Place a buy or sell order. Returns order ID on success. Use variety='regular' for normal orders, 'amo' for after-market orders. |
| modify_orderC | Modify a pending order. |
| cancel_orderC | Cancel a pending order. |
| get_gtt_triggersA | Get all active GTT (Good Till Triggered) triggers. |
| place_gttC | Place a GTT (Good Till Triggered) order. Supports single and two-leg (OCO) triggers. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct action or data type (orders, holdings, quotes, etc.). The few tools with overlapping data (get_quote vs get_ohlc) have clear differences in what they return and when to use them, preventing confusion.
All tools follow a consistent verb_noun pattern in snake_case (e.g., cancel_order, get_holdings, place_gtt). Even kite_login uses the same convention with a prefix, maintaining uniformity.
With 14 tools, the server covers the essential operations for a trading platform without being overwhelming. Each tool serves a clear purpose and contributes to a complete workflow.
Covers core trading lifecycle: authentication, order placement (regular, GTT, AMO), modification, cancellation, and retrieval of orders, positions, holdings, and market data. Minor gaps like missing bracket orders or trade history, but the surface is robust for typical use.