angelone-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANGELONE_PIN | Yes | Your login PIN | |
| ANGELONE_API_KEY | Yes | API key from your SmartAPI app | |
| ANGELONE_NO_PROXY | No | Optional comma-separated list of hosts to bypass the proxy for | |
| ANGELONE_HTTP_PROXY | No | Proxy URL used for http:// requests, e.g. http://user:pass@proxyhost:8080 | |
| ANGELONE_CLIENT_CODE | Yes | Your Angel One client/trading account code | |
| ANGELONE_HTTPS_PROXY | No | Proxy URL used for https:// requests (this is the one that matters — SmartAPI is https-only). Falls back to ANGELONE_HTTP_PROXY if unset. | |
| ANGELONE_TOTP_SECRET | Yes | Base32 TOTP secret for your account | |
| ANGELONE_SESSION_FILE | No | Override the file path used to persist the session. Default: a file under the OS temp directory, named from a hash of your client code (so multiple accounts on the same machine don't collide) | |
| ANGELONE_SESSION_PERSIST | No | Set to false/0/no/off to disable session persistence entirely (default: enabled) | |
| ANGELONE_RATE_LIMIT_DISABLED | No | Set to true/1/yes/on to disable proactive pacing (default: enabled) |
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 |
|---|---|
| loginA | Explicitly (re)authenticate with Angel One using the configured client code, PIN, and TOTP secret. Normally not needed - the client logs in automatically on first use - but useful to force a fresh session or verify credentials are configured correctly. |
| logoutA | Terminate the current Angel One trading session. |
| get_profileA | Get the logged-in user's profile: client code, name, email, exchanges enabled, products enabled, and broker. |
| place_orderB | Place an order. variety: NORMAL | STOPLOSS | AMO | ROBO transactiontype: BUY | SELL exchange: NSE | BSE | NFO | MCX | BFO | CDS ordertype: MARKET | LIMIT | STOPLOSS_LIMIT | STOPLOSS_MARKET producttype: DELIVERY | CARRYFORWARD | MARGIN | INTRADAY | BO duration: DAY | IOC price/triggerprice: required for LIMIT/STOPLOSS order types (as strings, e.g. "199.50") squareoff/stoploss/trailingStopLoss: only used when variety=ROBO (bracket order) |
| modify_orderA | Modify an existing open order. All identifying fields (tradingsymbol, symboltoken, exchange) must match the original order. |
| cancel_orderA | Cancel an open order by its order id. variety: NORMAL | STOPLOSS | AMO | ROBO |
| get_order_bookA | Get all orders placed today, with their current status. |
| get_trade_bookB | Get all executed trades for the day. |
| get_individual_order_detailsA | Get full lifecycle detail/history for a single order by its unique order id. |
| get_positionsA | Get the day's open and net positions (intraday + carryforward). |
| get_holdingsB | Get the equity holdings currently in the demat account. |
| get_all_holdingsA | Get holdings plus a portfolio-level summary (total investment, current value, P&L). |
| get_rms_limitB | Get available margin / funds (RMS limits): net cash, available margin, utilised margin, etc. |
| convert_positionB | Convert a position from one product type to another (e.g. INTRADAY -> DELIVERY). |
| gtt_create_ruleA | Create a GTT (Good Till Triggered) rule that auto-places an order when the trigger price is hit. |
| gtt_modify_ruleC | Modify an existing GTT rule. |
| gtt_cancel_ruleB | Cancel a GTT rule by its id. |
| gtt_detailsB | Get details of a single GTT rule by id. |
| gtt_listB | List GTT rules. status is a list of any of: NEW, CANCELLED, ACTIVE, SENTTOEXCHANGE, FORALL, REJECTED, EXPIRED, DELETED. |
| get_ltpB | Get the last traded price (LTP) for a single instrument. |
| get_market_quoteA | Get market quotes for up to 50 instruments per exchange in one call. mode: LTP | OHLC | FULL exchange_tokens: e.g. {"NSE": ["3045", "881"], "NFO": ["58662"]} - a map of exchange -> list of symbol tokens. |
| search_scripA | Search for the tradingsymbol and symboltoken of an instrument by name, e.g. exchange='NSE', searchscrip='INFY'. Use this to resolve symboltoken before placing orders or requesting quotes. |
| get_candle_dataB | Get historical OHLCV candle data. interval: ONE_MINUTE | THREE_MINUTE | FIVE_MINUTE | TEN_MINUTE | FIFTEEN_MINUTE | THIRTY_MINUTE | ONE_HOUR | ONE_DAY fromdate/todate format: "YYYY-MM-DD HH:MM" (e.g. "2024-01-01 09:15") |
| get_oi_dataB | Get historical open-interest (OI) data for F&O instruments. Same interval/date format as get_candle_data. |
| get_option_greeksA | Get option greeks (delta, gamma, theta, vega, IV) for all strikes of an underlying. name: e.g. 'NIFTY'. expirydate format: '25MAR2024'. |
| get_gainers_losersB | Get top F&O gainers/losers. datatype: PercPriceGainers | PercPriceLosers | PercOIGainers | PercOILosers expirytype: NEAR | NEXT | FAR |
| get_put_call_ratioA | Get the current put-call ratio (PCR) across index/stock option contracts. |
| get_oi_buildupB | Get open-interest buildup data (long/short buildup, unwinding, etc.) for F&O contracts. datatype: Long Built Up | Short Built Up | Short Covering | Long Unwinding expirytype: NEAR | NEXT | FAR |
| get_nse_intraday_dataA | Get NSE intraday most-active-by-volume/value data. |
| get_bse_intraday_dataA | Get BSE intraday most-active-by-volume/value data. |
| get_marginA | Calculate span + exposure margin required for a basket of positions before placing them. Each position dict needs: exchange, qty, price, productType, token, tradeType (BUY/SELL), orderType. |
| estimate_chargesA | Estimate brokerage and other charges for a basket of prospective orders. Each order dict needs: product_type, transaction_type, quantity, price, exchange, symbol_name, token. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pyalgobot/angelone-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server