{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"smithery_aranjan-kite-mcp","slug":"aranjan-kite-mcp","name":"kite-mcp","type":"mcp","url":"https://github.com/aranjan/kite-mcp","page_url":"https://unfragile.ai/aranjan-kite-mcp","categories":["mcp-servers"],"tags":["mcp","model-context-protocol","smithery:aranjan/kite-mcp"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"smithery_aranjan-kite-mcp__cap_0","uri":"capability://tool.use.integration.natural.language.stock.order.execution","name":"natural-language-stock-order-execution","description":"Converts conversational natural language requests into executable stock orders on Zerodha Kite by parsing intent (buy/sell), quantity, price, and order type from user messages and routing them through the Kite API. Uses MCP tool schema to map user utterances to structured order parameters with validation before submission.","intents":["I want to buy 10 shares of TCS at market price","Sell my position in Reliance with a limit order at 2500","Place a buy order for INFY with a stop loss at 1800"],"best_for":["retail traders using conversational interfaces","LLM agent builders automating portfolio management","non-technical investors who prefer chat over UI forms"],"limitations":["Requires explicit quantity and price specification — no fuzzy intent matching for partial positions","Order validation happens client-side before API submission; complex conditional orders need manual Kite UI","No order preview or confirmation step — trades execute immediately after parsing"],"requires":["Zerodha Kite account with active trading permissions","API credentials (API key and secret) configured in MCP server","Sufficient account balance and margin for order execution"],"input_types":["natural language text"],"output_types":["structured order confirmation with order ID, status, execution price"],"categories":["tool-use-integration","trading-automation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_1","uri":"capability://tool.use.integration.automated.totp.authenticated.session.management","name":"automated-totp-authenticated-session-management","description":"Manages Zerodha Kite login sessions automatically by intercepting TOTP (Time-based One-Time Password) requirements, generating codes from a stored secret, and maintaining authenticated session state across multiple API calls. Eliminates manual re-authentication by storing and refreshing access tokens server-side.","intents":["I want to trade without manually entering OTP codes each time","Keep my trading session alive across multiple orders in one conversation","Automate login so my LLM agent can execute trades 24/7 during market hours"],"best_for":["automated trading agents that need persistent sessions","developers building unattended trading bots","users who want to avoid repeated OTP entry in conversational interfaces"],"limitations":["TOTP secret must be stored in server configuration — security risk if server is compromised","Session tokens have expiration windows (typically 6 hours); long-running agents need token refresh logic","Zerodha may rate-limit or block accounts with frequent automated logins from same IP"],"requires":["Zerodha account with TOTP 2FA enabled","TOTP secret key extracted from authenticator app (base32 encoded)","MCP server running with secure credential storage (environment variables or vault)"],"input_types":["TOTP secret (base32 string)"],"output_types":["authenticated session token, session metadata (expiry, user ID)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_10","uri":"capability://planning.reasoning.natural.language.intent.to.trading.action.mapping","name":"natural-language-intent-to-trading-action-mapping","description":"Interprets conversational trading requests and maps them to specific trading actions (buy, sell, modify, cancel) with appropriate parameters. Uses LLM context to disambiguate intent, infer missing parameters from conversation history, and validate trading logic before execution.","intents":["Buy 10 shares of TCS at market price","Sell half my Reliance position","I want to short INFY — set up a sell order with a stop loss at 1900"],"best_for":["conversational trading interfaces where users speak naturally","LLM agents that need to understand trading intent from free-form text","traders who prefer chat-based trading over form-filling"],"limitations":["Ambiguous requests (e.g., 'buy some TCS') require clarification; no automatic quantity inference","Context-dependent requests (e.g., 'sell half') require access to portfolio state; may fail if portfolio is empty","No validation of trading logic (e.g., short selling without margin) — relies on Kite API to reject invalid orders"],"requires":["LLM client with access to kite-mcp tools","Authenticated Zerodha Kite session","Portfolio data for context-dependent requests"],"input_types":["natural language text"],"output_types":["structured trading action with symbol, quantity, price, order type, direction"],"categories":["planning-reasoning","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_11","uri":"capability://automation.workflow.multi.leg.order.orchestration.and.sequencing","name":"multi-leg-order-orchestration-and-sequencing","description":"Coordinates execution of multi-leg trading strategies (e.g., buy stock + set stop loss + set profit target) by sequencing dependent orders and handling partial failures. Executes primary order first, then conditionally executes secondary orders based on primary execution status.","intents":["Buy 10 TCS shares and automatically set a stop loss at 2900 and profit target at 3200","Execute a covered call strategy: buy 100 shares and sell 1 call option","Place a buy order and cancel it if price doesn't execute within 5 minutes"],"best_for":["traders executing complex multi-leg strategies","LLM agents that need to coordinate dependent orders","automated trading systems with conditional order logic"],"limitations":["No atomic transaction guarantee — if primary order succeeds but secondary fails, position is unhedged","Sequencing adds latency (100-500ms per leg); fast-moving markets may execute at different prices than expected","No built-in rollback — failed secondary orders require manual cleanup"],"requires":["Authenticated Zerodha Kite session","Sufficient margin for all legs of the strategy","Valid symbols and order parameters for each leg"],"input_types":["natural language strategy description or structured order sequence"],"output_types":["execution report with status of each leg, order IDs, execution prices"],"categories":["automation-workflow","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_12","uri":"capability://memory.knowledge.trading.session.context.and.conversation.memory","name":"trading-session-context-and-conversation-memory","description":"Maintains conversation context across multiple trading requests, remembering previously mentioned symbols, quantities, and trading preferences. Enables anaphoric references (e.g., 'sell it' referring to previously mentioned stock) and reduces repetition in multi-turn trading conversations.","intents":["Buy 10 TCS. [later] Sell it. [agent understands 'it' refers to TCS]","I want to buy INFY. What's the current price? [agent remembers INFY for subsequent orders]","Set my default order type to limit. [agent applies to all subsequent orders in session]"],"best_for":["conversational trading interfaces with multi-turn interactions","LLM agents that need to reduce user repetition","traders executing sequences of related orders"],"limitations":["Context is session-scoped; no persistence across separate conversations","Anaphoric resolution relies on LLM reasoning; ambiguous references may be misinterpreted","No explicit context management API — context is implicit in conversation history"],"requires":["LLM client with multi-turn conversation support","kite-mcp server with access to conversation history"],"input_types":["natural language text with anaphoric references"],"output_types":["resolved trading action with inferred parameters from context"],"categories":["memory-knowledge","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_2","uri":"capability://data.processing.analysis.portfolio.position.retrieval.and.analysis","name":"portfolio-position-retrieval-and-analysis","description":"Fetches current holdings, quantities, entry prices, and P&L metrics from Zerodha Kite API and structures them for natural language querying. Aggregates position data across segments (equity, derivatives) and calculates derived metrics like total portfolio value, unrealized gains, and position-level returns.","intents":["What's my current portfolio composition and total value?","Which of my positions are in profit and which are in loss?","Show me my top 5 holdings by market value"],"best_for":["traders wanting conversational portfolio dashboards","LLM agents that need to understand account state before making trading decisions","portfolio monitoring bots that report holdings in natural language"],"limitations":["Real-time prices may lag by 1-2 minutes depending on Zerodha data feed","Derivatives positions (futures, options) require separate API calls and may not include Greeks or implied volatility","No historical position tracking — only current snapshot available"],"requires":["Authenticated Zerodha Kite session","Active trading account with at least one position"],"input_types":["none (query-based retrieval)"],"output_types":["structured JSON with holdings array, each containing symbol, quantity, entry price, current price, P&L, P&L percentage"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_3","uri":"capability://data.processing.analysis.market.data.and.quote.retrieval","name":"market-data-and-quote-retrieval","description":"Fetches real-time stock quotes, OHLC data, and market depth information from Zerodha Kite for specified symbols. Queries the Kite quote API with symbol lookup and returns structured price, volume, and bid-ask spread data suitable for order decision-making.","intents":["What's the current price of TCS and is it up or down today?","Show me the bid-ask spread for INFY before I place an order","Get the 52-week high and low for Reliance"],"best_for":["traders building conversational market research workflows","LLM agents that need current prices before executing orders","portfolio analysis bots that need live market context"],"limitations":["Quote data is delayed by 1-2 minutes for non-premium users; real-time quotes require Kite Plus subscription","Bid-ask depth is limited to top 5 levels; full order book requires WebSocket subscription","Historical OHLC data is limited to recent periods; no multi-year historical data in quote endpoint"],"requires":["Authenticated Zerodha Kite session","Valid NSE/BSE stock symbols (e.g., 'NSE:TCS', 'BSE:RELIANCE')"],"input_types":["text (stock symbol)"],"output_types":["structured JSON with price, change, change percentage, bid, ask, volume, open, high, low, close"],"categories":["data-processing-analysis","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_4","uri":"capability://tool.use.integration.good.till.triggered.gtt.order.creation","name":"good-till-triggered-gtt-order-creation","description":"Creates Good-Till-Triggered (GTT) conditional orders on Zerodha Kite that automatically execute when specified price conditions are met. Accepts natural language trigger conditions (e.g., 'buy if price drops to 2000') and converts them into GTT rule objects with order parameters.","intents":["Set up a buy order for TCS that triggers if the price drops below 3000","Create a sell order for INFY that executes when price reaches 1900","I want to buy on dips — set a GTT for 10 shares at 2500"],"best_for":["swing traders automating entry/exit conditions","investors who want to buy dips without monitoring charts","LLM agents that need to set conditional orders without manual intervention"],"limitations":["GTT orders are evaluated only during market hours (9:15 AM - 3:30 PM IST); triggers outside these hours are queued","Maximum 2 GTT rules per symbol; users with many conditional strategies hit limits quickly","GTT orders expire after 365 days; long-term strategies require periodic renewal"],"requires":["Authenticated Zerodha Kite session","Sufficient account balance to cover the order if triggered","Valid symbol and price condition"],"input_types":["natural language (e.g., 'buy 10 TCS if price < 3000')"],"output_types":["GTT rule object with rule ID, symbol, trigger condition, order parameters, creation timestamp"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_5","uri":"capability://data.processing.analysis.order.history.and.trade.retrieval","name":"order-history-and-trade-retrieval","description":"Fetches historical order records and executed trades from Zerodha Kite, including order status, execution price, quantity, and timestamp. Structures trade history for analysis and enables LLM agents to understand past trading activity and performance.","intents":["Show me all my orders from the last 7 days","What was the average price I paid for TCS across all my purchases?","List all rejected or cancelled orders from today"],"best_for":["traders reviewing trading history and performance","LLM agents that need to understand past behavior before making new decisions","portfolio analysis tools that calculate realized gains and trading costs"],"limitations":["Order history is limited to recent periods (typically last 90 days); older orders require manual export from Kite","Partial fills are returned as separate order records; aggregating multi-leg trades requires client-side logic","No built-in filtering by symbol or date range — requires post-processing of full order list"],"requires":["Authenticated Zerodha Kite session","At least one executed trade in the account"],"input_types":["none (retrieves all recent orders)"],"output_types":["structured JSON array with order objects containing symbol, quantity, price, status, timestamp, order ID"],"categories":["data-processing-analysis","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_6","uri":"capability://data.processing.analysis.account.balance.and.margin.monitoring","name":"account-balance-and-margin-monitoring","description":"Retrieves real-time account balance, available margin, and margin utilization from Zerodha Kite. Calculates available buying power and alerts when margin usage exceeds safe thresholds, enabling risk-aware order placement.","intents":["How much cash do I have available to trade?","What's my current margin utilization percentage?","Can I afford to buy 100 shares of this stock given my current balance?"],"best_for":["traders who need to verify buying power before placing orders","LLM agents that should refuse orders if insufficient margin is available","risk management systems that monitor account health"],"limitations":["Margin calculations are real-time but may not account for pending orders that haven't settled","Intraday margin differs from overnight margin; tool returns current applicable margin only","No margin call alerts — users must monitor manually or implement external alerting"],"requires":["Authenticated Zerodha Kite session","Active trading account"],"input_types":["none (query-based retrieval)"],"output_types":["structured JSON with cash balance, available margin, margin used, margin available, utilization percentage"],"categories":["data-processing-analysis","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_7","uri":"capability://search.retrieval.symbol.search.and.instrument.lookup","name":"symbol-search-and-instrument-lookup","description":"Searches Zerodha's instrument database to resolve natural language stock names (e.g., 'Tata Consultancy Services') to valid trading symbols (e.g., 'NSE:TCS'). Uses fuzzy matching and exchange-aware lookup to handle ambiguous or partial symbol references.","intents":["I want to buy Tata Consultancy Services — what's the symbol?","Show me all Reliance instruments (equity, futures, options)","Is 'INFY' on NSE or BSE?"],"best_for":["conversational trading interfaces that accept company names instead of symbols","LLM agents that need to resolve ambiguous symbol references","traders unfamiliar with NSE/BSE symbol conventions"],"limitations":["Fuzzy matching may return multiple results for ambiguous names; requires user selection or LLM disambiguation","Instrument database is static and updated periodically; newly listed stocks may not be immediately available","No support for international symbols or non-Indian exchanges"],"requires":["Zerodha Kite API access (no authentication required for instrument lookup)"],"input_types":["text (company name or partial symbol)"],"output_types":["structured JSON array with matching instruments, each containing symbol, name, exchange, instrument type"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_8","uri":"capability://tool.use.integration.order.cancellation.and.modification","name":"order-cancellation-and-modification","description":"Cancels pending orders or modifies order parameters (quantity, price, order type) before execution on Zerodha Kite. Accepts natural language cancellation requests (e.g., 'cancel my TCS buy order') and maps them to specific order IDs for API submission.","intents":["Cancel my pending buy order for INFY","Change my limit order price from 1900 to 1850","Cancel all pending orders for Reliance"],"best_for":["traders who need to quickly adjust or cancel orders","LLM agents that should cancel orders if market conditions change","automated trading systems that need order lifecycle management"],"limitations":["Can only modify pending orders; executed orders cannot be changed (require new opposite order)","Cancellation is immediate and irreversible; no confirmation step","Modification of derivatives orders may fail if new parameters violate exchange rules"],"requires":["Authenticated Zerodha Kite session","Valid order ID or symbol reference to identify order to cancel/modify"],"input_types":["natural language (e.g., 'cancel TCS order') or order ID"],"output_types":["confirmation object with order ID, cancellation status, timestamp"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_aranjan-kite-mcp__cap_9","uri":"capability://tool.use.integration.mcp.tool.schema.registry.and.discovery","name":"mcp-tool-schema-registry-and-discovery","description":"Exposes all trading capabilities as MCP-compliant tools with standardized JSON schemas, enabling LLM clients to discover available operations, understand required parameters, and invoke tools through the Model Context Protocol. Implements tool metadata including descriptions, parameter types, and return schemas.","intents":["I want to build an LLM agent that can trade — what tools are available?","Discover all available trading operations and their parameters","Integrate Zerodha trading into my Claude or other LLM application"],"best_for":["LLM application developers building trading agents","teams integrating Zerodha into multi-tool LLM workflows","builders using MCP-compatible LLM clients (Claude, etc.)"],"limitations":["Tool schemas are static and must be manually updated if Kite API changes","No runtime schema validation — malformed tool calls fail at execution time","MCP protocol overhead adds ~50-100ms latency per tool invocation"],"requires":["MCP-compatible LLM client (Claude, custom LLM application)","MCP server running with kite-mcp configured","Node.js 16+ for running the MCP server"],"input_types":["none (schema discovery is automatic)"],"output_types":["MCP tool list with JSON schemas for each tool, including parameter types and descriptions"],"categories":["tool-use-integration","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":36,"verified":false,"data_access_risk":"high","permissions":["Zerodha Kite account with active trading permissions","API credentials (API key and secret) configured in MCP server","Sufficient account balance and margin for order execution","Zerodha account with TOTP 2FA enabled","TOTP secret key extracted from authenticator app (base32 encoded)","MCP server running with secure credential storage (environment variables or vault)","LLM client with access to kite-mcp tools","Authenticated Zerodha Kite session","Portfolio data for context-dependent requests","Sufficient margin for all legs of the strategy"],"failure_modes":["Requires explicit quantity and price specification — no fuzzy intent matching for partial positions","Order validation happens client-side before API submission; complex conditional orders need manual Kite UI","No order preview or confirmation step — trades execute immediately after parsing","TOTP secret must be stored in server configuration — security risk if server is compromised","Session tokens have expiration windows (typically 6 hours); long-running agents need token refresh logic","Zerodha may rate-limit or block accounts with frequent automated logins from same IP","Ambiguous requests (e.g., 'buy some TCS') require clarification; no automatic quantity inference","Context-dependent requests (e.g., 'sell half') require access to portfolio state; may fail if portfolio is empty","No validation of trading logic (e.g., short selling without margin) — relies on Kite API to reject invalid orders","No atomic transaction guarantee — if primary order succeeds but secondary fails, position is unhedged","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.5,"ecosystem":0.48999999999999994,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:25.635Z","last_scraped_at":"2026-05-03T15:18:47.248Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=aranjan-kite-mcp","compare_url":"https://unfragile.ai/compare?artifact=aranjan-kite-mcp"}},"signature":"R/xRXwZxSXzfAHVjrZL+I+1O/e2fW33w/b9mpBGwy9+KsbYcp+WLWNtWNjayLI7Igan1NBRNthFMs6Cn47OtDg==","signedAt":"2026-06-22T02:43:06.416Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/aranjan-kite-mcp","artifact":"https://unfragile.ai/aranjan-kite-mcp","verify":"https://unfragile.ai/api/v1/verify?slug=aranjan-kite-mcp","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}