MCP server for Angel One SmartAPI — trade stocks, track portfolio, analyze markets & manage orders via LLM clients like Claude, Cursor & Copilot
Server has 30 tools with explicit schemas and descriptions. Naming is consistent (verb_noun pattern: login, logout, place_order, get_holdings). Descriptions are present but vary in quality (10-200 chars). Most parameters have type definitions and descriptions, but several tools lack output schema documentation. Error handling is basic. Security: credentials injected via environment variables (good), but no explicit permission gates or audit logging visible. Composition is sound, tools are single-responsibility and chainable (e.g., search_scrip returns token for place_order). Major gaps: no pagination guidance in list tools, no dry-run/confirmation for destructive ops, limited error recovery hints.
Cancel an existing GTT rule by ID.
Cancel a pending order by order ID and variety.
Convert a position from one product type to another (e.g. INTRADAY to DELIVERY).
Create a GTT (Good Till Triggered) rule. When trigger price is hit, the order is automatically placed.
Estimate brokerage, STT, transaction charges, GST, SEBI charges, and stamp duty for proposed trades.
Calculate margin requirements for a batch of potential orders before placing them.
No output schema documentation. Tools return data but LLMs cannot see what fields to expect. Breaks downstream tool chaining and forces agents to guess field names.
Destructive tools (place_order, cancel_order, create_gtt_rule) lack dry-run or confirmation step. Agents can execute irreversible trades without user approval.
List tools (get_gtt_rule_list, get_order_book) lack pagination guidance. No mention of page/limit parameters or result caps. Large result sets could exhaust context.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Get extended holdings data with additional fields like haircut, collateral value.
Get historical OHLCV candle data for a symbol. Intervals: ONE_MINUTE, FIVE_MINUTE, FIFTEEN_MINUTE, THIRTY_MINUTE, ONE_HOUR, ONE_DAY.
Get top gainers or losers by OI or price change percentage for derivatives.
Get details of a specific GTT rule by ID.
List GTT rules filtered by status. Returns paginated results.
Get all holdings (long-term positions). Shows quantity, LTP, P&L, investment value.
Get last traded price for a symbol. Also returns open, high, low, close.
Get market quote data. Modes: FULL (all fields), OHLC, LTP. Pass exchange and token list.
Get OI Buildup analysis: Long Buildup, Short Buildup, Short Covering, Long Unwinding for derivatives.
Get historical Open Interest data for derivatives. Same intervals as candle data.
Get option Greeks (Delta, Gamma, Theta, Vega, IV) for all strikes of a given underlying and expiry.
Get all orders for today: pending, executed, rejected. Shows status, prices, quantities.
Get detailed information about a specific order by order ID.
Get all open positions (intraday & delivery). Shows quantity, entry price, current price, P&L.
Get user profile information: name, email, phone, PAN, account type, etc.
Get Put-Call Ratio data for the derivatives market.
Get Risk Management System (RMS) data: available margin, used margin, margin multiplier, etc.
Get executed trades for today: fill prices, quantities, timestamps.
Authenticate with Angel One SmartAPI. Auto-generates TOTP. Stores session internally.
End Angel One SmartAPI session and invalidate tokens.
Modify an existing GTT rule. Change price, quantity, or trigger price.
Modify an existing pending order. Change price, quantity, order type, or trigger price.
Place a buy/sell order on Angel One. Supports NORMAL, STOPLOSS, AMO, ROBO varieties. Returns order ID on success.
Search for trading instruments by name. Returns symbol tokens needed for other tools.
Error handling is minimal. No recovery hints in descriptions. LLMs cannot determine if errors are retryable or what to do next.
No explicit permission gates or audit logging visible. Tools accept credentials via environment but no per-call authorization checks or call tracing.