Angel One Mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANGEL_API_KEY | Yes | Your Angel One SmartAPI key | |
| ANGEL_PASSWORD | Yes | Your Angel One MPIN | |
| ANGEL_CLIENT_ID | Yes | Your Angel One client ID | |
| ANGEL_TOTP_SECRET | Yes | Your TOTP secret in base32 format | |
| HARD_MAX_ORDER_QTY | No | Hard limit for maximum order quantity | 100 |
| SOFT_MAX_ORDER_QTY | No | Soft limit for maximum order quantity | 25 |
| HARD_MAX_ORDER_VALUE | No | Hard limit for maximum order value | 100000 |
| SOFT_MAX_ORDER_VALUE | No | Soft limit for maximum order value | 10000 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loginA | Authenticate with Angel One SmartAPI. Auto-generates TOTP. Stores session internally. |
| logoutA | End Angel One SmartAPI session and invalidate tokens. |
| get_profileA | Get Angel One user profile: name, email, mobile, exchanges, products, broker info. |
| get_holdingsB | Get portfolio holdings: stocks owned, quantities, average prices, P&L, LTP. |
| get_positionsA | Get open positions: intraday/carryforward, buy/sell qty, avg prices, unrealised P&L. |
| get_fundsA | Get available funds and margins: cash, collateral, utilised margins, net value. |
| get_all_holdingsA | Get extended portfolio holdings with total holding value, total investment, total P&L, and P&L percentage. |
| convert_positionA | Convert an existing position from one product type to another (e.g. INTRADAY to DELIVERY). |
| place_orderA | Place a buy/sell order on Angel One. Supports NORMAL, STOPLOSS, AMO, ROBO varieties. Returns order ID on success. |
| modify_orderA | Modify an existing pending order. Change price, quantity, order type, or trigger price. |
| cancel_orderA | Cancel a pending order by order ID and variety. |
| get_order_bookA | Get all orders for today: pending, executed, rejected. Shows status, prices, quantities. |
| get_trade_bookA | Get executed trades for today: fill prices, quantities, timestamps. |
| get_order_detailsA | Get detailed information for a specific order by its order ID. |
| get_ltpB | Get last traded price for a symbol. Also returns open, high, low, close. |
| search_scripA | Search for trading instruments by name. Returns symbol tokens needed for other tools. |
| get_candle_dataC | Get historical OHLCV candle data for a symbol. Intervals: ONE_MINUTE, FIVE_MINUTE, FIFTEEN_MINUTE, THIRTY_MINUTE, ONE_HOUR, ONE_DAY. |
| get_market_quoteA | Get market quote data. Modes: FULL (all fields), OHLC, LTP. Pass exchange and token list. |
| get_oi_dataA | Get historical Open Interest data for derivatives. Same intervals as candle data. |
| get_option_greeksA | Get option Greeks (Delta, Gamma, Theta, Vega, IV) for all strikes of a given underlying and expiry. |
| get_gainers_losersA | Get top gainers or losers by OI or price change percentage for derivatives. |
| get_put_call_ratioA | Get Put-Call Ratio data for the derivatives market. |
| get_oi_buildupC | Get OI Buildup analysis: Long Buildup, Short Buildup, Short Covering, Long Unwinding. |
| get_nse_intradayB | Get top NSE intraday movers data. |
| get_bse_intradayB | Get top BSE intraday movers data. |
| create_gtt_ruleA | Create a GTT (Good Till Triggered) rule. When trigger price is hit, the order is automatically placed. |
| modify_gtt_ruleA | Modify an existing GTT rule. Change price, quantity, or trigger price. |
| cancel_gtt_ruleA | Cancel an existing GTT rule by ID. |
| get_gtt_rule_detailsA | Get details of a specific GTT rule by ID. |
| get_gtt_rule_listB | List GTT rules filtered by status. Returns paginated results. |
| estimate_marginA | Calculate margin requirements for a batch of potential orders before placing them. |
| estimate_chargesA | Estimate brokerage, STT, transaction charges, GST, SEBI charges, and stamp duty for proposed trades. |
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 32 tools
Some tools have overlapping purposes, such as get_holdings vs get_all_holdings and get_ltp vs get_market_quote, which could confuse an agent. However, the descriptions provide sufficient detail to differentiate them, so the ambiguity is moderate.
Most tools follow a consistent verb_noun pattern with underscores (e.g., get_positions, place_order, cancel_gtt_rule). Minor deviations like 'login' and 'logout' as bare verbs, and the mixed noun phrases in get_gtt_rule_details, do not disrupt overall predictability.
With 32 tools, the set is heavy and some tools could be merged (e.g., get_all_holdings into get_holdings, or consolidating the intraday movers). While the scope is broad, the count exceeds the typical threshold and feels bloated.
The tool set covers the full trading lifecycle: authentication, profile, holdings, order management, market data, derivatives analysis, GTT rules, and cost estimation. There are no obvious missing operations for a trading platform.