Kite Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Kite Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <img src="https://raw.githubusercontent.com/aranjan/kite-mcp/main/logo.svg" alt="kite-mcp logo" width="128" height="128"> </p>
<h1 align="center">kite-mcp</h1>
<p align="center"> <a href="https://pypi.org/project/kite-mcp/"><img src="https://badge.fury.io/py/kite-mcp.svg" alt="PyPI version"></a> <a href="https://github.com/aranjan/kite-mcp/actions/workflows/ci.yml"><img src="https://github.com/aranjan/kite-mcp/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a> <a href="https://smithery.ai/servers/aranjan/kite-mcp"><img src="https://smithery.ai/badge/aranjan/kite-mcp" alt="Smithery"></a> </p>
MCP server for Zerodha Kite -- trade Indian stocks through natural conversation with any MCP-compatible AI assistant.
Traditional Kite wrappers require you to write Python code to trade. With kite-mcp, you just talk:
You: "Buy 50 Reliance at market price"
Assistant: checks quote, verifies funds, asks for confirmation, places order
You: "How's my portfolio doing?"
Assistant: fetches holdings, calculates P&L, summarizes gainers and losers
You: "Set a stop-loss on my HAL position at 3400"
Assistant: places a GTT trigger for youNo code. No scripts. No terminal. Just conversation.
kite-mcp connects any MCP-compatible AI assistant directly to your Zerodha account with 14 trading tools, automated TOTP login, and auto-retry on expired tokens.
You (natural language) --> AI Assistant --> kite-mcp (MCP server) --> Zerodha Kite APIYour AI assistant interprets your intent, maps stock names to symbols (e.g., "Infosys" to NSE:INFY), checks your funds, and executes trades -- all through the MCP protocol. The server handles authentication automatically, including daily token refresh via TOTP.
14 tools for complete trading control:
| Tool | Description |
|---|---|
kite_login | Auto-authenticate with TOTP |
get_holdings | Portfolio holdings with P&L |
get_positions | Today's intraday/delivery positions |
get_orders | Today's order history |
get_margins | Available funds and margins |
get_quote | Live market quotes |
get_ohlc | Open, high, low, close data |
get_historical_data | Historical candle data (minute to daily) |
get_instruments | Search tradeable instruments across NSE, BSE, NFO, MCX |
place_order | Place buy/sell orders (market, limit, stop-loss) |
modify_order | Modify pending orders |
cancel_order | Cancel pending orders |
get_gtt_triggers | View Good Till Triggered orders |
place_gtt | Place GTT single or OCO (stoploss + target) triggers |
Key capabilities:
Works with any MCP-compatible client, including:
| Client | Platform |
|---|---|
| Claude Desktop | macOS, Windows |
| Claude Code | Terminal (macOS, Linux, Windows) |
| Cursor | macOS, Windows, Linux |
| Windsurf | macOS, Windows, Linux |
| Continue | VS Code, JetBrains |
| Any MCP-compatible client | See MCP clients list |
pip install kite-mcpYou need a Kite Connect API app. From your app dashboard, note your API Key and API Secret.
You also need:
<details> <summary>How to get your TOTP secret</summary>
</details>
Add this to your MCP client configuration. The config location depends on your client -- refer to your client's documentation for the exact path.
{
"mcpServers": {
"kite": {
"command": "kite-mcp",
"env": {
"KITE_API_KEY": "your-api-key",
"KITE_API_SECRET": "your-api-secret",
"KITE_USER_ID": "your-user-id",
"KITE_PASSWORD": "your-password",
"KITE_TOTP_SECRET": "your-totp-secret"
}
}
}
}Restart your MCP client. You're ready to trade.
Open a new chat and try:
The AI assistant understands stock names in plain English -- no need to use trading symbols.
| Variable | Required | Description |
|---|---|---|
KITE_API_KEY | Yes | Kite Connect API key |
KITE_API_SECRET | Yes | Kite Connect API secret |
KITE_USER_ID | Yes | Zerodha client ID |
KITE_PASSWORD | Yes | Zerodha login password |
KITE_TOTP_SECRET | No | TOTP base32 seed for auto-login. Without this, you must run kite-mcp-login manually each day. |
If you don't have a TOTP secret, you can log in manually each day:
export KITE_API_KEY=your-api-key
export KITE_API_SECRET=your-api-secret
export KITE_USER_ID=your-user-id
export KITE_PASSWORD=your-password
kite-mcp-loginThis caches the access token for the rest of the day. The MCP server will use the cached token until it expires.
Have an idea? Open a feature request.
git clone https://github.com/aranjan/kite-mcp.git
cd kite-mcp
python -m venv venv
source venv/bin/activate
pip install -e .~/.zerodha_kite_token.json and expire dailyMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.