Skip to content

Tool References ​

Tradeboard MCP: Tool Reference & Prompt Examples ​

Companion reference to the main MCP setup guide. Once the MCP server is wired into Claude Desktop, Cursor, Windsurf, Antigravity, or any other MCP-capable client, you can ask for these operations in plain English; the client decides which tool to call.

The supported tools are grouped below. The live MCP tools/list response is authoritative for the exact registry and schemas exposed by a running version. Each entry includes:

  • What the tool does
  • Key parameters (required / optional)
  • Example prompts you can paste directly into Claude / Cursor / Antigravity / Windsurf

Conventions ​

  • Default strategy tag: python mcp. Every MCP-triggered order is tagged so you can filter MCP activity in Tradeboard logs and the Analyzer. Override by saying "use strategy 'my scalper'" in the prompt.
  • Product type defaults: MIS for equity. Use NRML for F&O carry; CNC for delivery.
  • Exchange codes: NSE, BSE, NFO, BFO, CDS, BCD, MCX, NCDEX + NSE_INDEX / BSE_INDEX for index values.
  • Toolsets: every tool belongs to exactly one of orders, account, marketdata, research, or utility. Those five names are the only values TRADEBOARD_MCP_TOOLSETS accepts. The section headings below group tools by task, which does not always match the toolset: close_all_positions and analyzer_toggle are in orders, calculate_margin and analyzer_status are in account, and the calendar and instrument tools are in marketdata.
  • Lot size: never hardcoded. The model will call get_option_symbol / get_option_chain / get_symbol_info to read the live lotsize from the broker master contract, then compute quantity = lots × lotsize for you.

Order Management ​

place_order ​

Place a single market / limit / stop-loss order.

ParamRequiredNotes
symbol, quantity, actionYesnone
exchangeNoDefault NSE
price_typeNoMARKET, LIMIT, SL, SL-M. Default MARKET
productNoCNC, NRML, MIS. Default MIS
strategyNoDefault python mcp
price, trigger_price, disclosed_quantityNoUse as applicable

Prompts:

  • "Place a market buy for 100 shares of RELIANCE on NSE, intraday"
  • "Buy 50 INFY at limit 1550, delivery product"
  • "Sell 25 SBIN with a stop-loss at 765 and trigger 766"

place_smart_order ​

Auto-calculates the delta between your current position and the target position_size, then sends only the incremental order.

ParamRequiredNotes
symbol, quantity, action, position_sizeYesposition_size = your target net qty
RestNoSame defaults as place_order

Prompts:

  • "Square off my TATAMOTORS intraday position to zero"
  • "Scale my YESBANK position to 100 shares long"

place_basket_order ​

Fire multiple orders in one call. Each basket entry carries its own symbol, exchange, action, quantity, pricetype, product.

Prompts:

  • "Place a basket: buy 1 BHEL and sell 1 ZOMATO, both market MIS on NSE"
  • "Build a basket of SBIN, HDFCBANK and ICICIBANK buys, 10 shares each, CNC"

place_split_order ​

Break a large order into equal chunks (helpful for low-liquidity names or to avoid freeze limits).

ParamRequiredNotes
symbol, exchange, action, quantity, split_sizeYessplit_size is the size of each slice
price_type, product, price, trigger_price, strategyNoSame as place_order

Prompts:

  • "Sell 500 YESBANK in slices of 50, market orders"
  • "Split 1200 NIFTY lots across 100-lot chunks"

place_options_order ​

Single-leg option order using offset-based strike selection (ATM / ITM1-ITM50 / OTM1-OTM50). The server resolves the strike against the live option chain.

ParamRequiredNotes
underlying, exchange, offset, option_type, action, quantityYesnone
expiry_dateNoOptional if underlying includes expiry (e.g., NIFTY28OCT25FUT)
price_type, product, price, trigger_price, disclosed_quantity, strategyNoSame as place_order

Lot size note: if you don't know it, just ask: the assistant will pull lotsize from get_option_symbol first, then size the quantity correctly.

Prompts:

  • "Buy 1 lot NIFTY ATM CE expiring 28NOV25"
  • "Short 2 lots BANKNIFTY OTM3 PE for next weekly expiry"

place_options_multi_order ​

Multi-leg option strategies (up to 20 legs). BUY legs are fired first for margin efficiency, then SELL legs. Supports per-leg overrides for expiry_date, pricetype, price, product, etc., perfect for calendar / diagonal spreads.

Prompts:

  • "Place an iron condor on NIFTY 28NOV25 at OTM5 and OTM10 strikes, 1 lot each, NRML"
  • "Build a long straddle on BANKNIFTY ATM for 25NOV25 expiry with limit orders at 250"
  • "Diagonal NIFTY spread: buy ITM2 CE 30DEC25, sell OTM2 CE 25NOV25, 1 lot"

modify_order ​

Change price / quantity / type / trigger on a working order.

ParamRequiredNotes
order_id, symbol, action, exchange, product, quantity, priceYesprice is mandatory per the REST spec, use current price if unchanged
price_type, trigger_price, disclosed_quantityNoprice_type defaults to LIMIT, unlike every other order tool, which defaults to MARKET. Modifying a working SL-M order without passing price_type converts it to LIMIT. trigger_price and disclosed_quantity default to 0

Prompts:

  • "Modify order 250408001002736, change limit price to 16.5"
  • "Increase quantity of my open NIFTY CE buy order to 2 lots"

cancel_order ​

Prompt: "Cancel order 250408001002736"


cancel_all_orders ​

Prompts:

  • "Cancel every pending order I have"
  • "Kill all open orders for strategy 'nifty scalper'"

Positions & Holdings ​

close_all_positions ​

Square off everything for a strategy.

Prompt: "Close all my open positions now"


get_open_position ​

Query the current net quantity for a specific instrument.

Prompts:

  • "What's my current position in NHPC NSE MIS?"
  • "How many NIFTY futures am I long?"

get_position_book ​

Every open position across instruments.

Prompt: "Show me all open positions with unrealized P&L"


get_holdings ​

Delivery/CNC holdings with today's P&L, % move, and aggregate statistics.

Prompts:

  • "Show my demat holdings sorted by today's % change"
  • "What's the total unrealized P&L on my long-term portfolio?"

get_funds ​

Cash, collateral, realized/unrealized M2M, utilized margin.

Prompt: "How much free cash do I have for trading today?"


Order Tracking ​

get_order_status ​

Prompt: "Check status of order 250828000185002, did it fill?"


get_order_book ​

Every order today with statistics (open / complete / cancelled / rejected counts).

Prompts:

  • "Show today's order book"
  • "How many of my orders got rejected today and why?"

get_trade_book ​

Only executed fills.

Prompt: "List all my executed trades today with average price"


Market Data ​

get_quote ​

LTP, bid, ask, OHLC, volume for one symbol.

Prompts:

  • "Get the latest quote for RELIANCE"
  • "What's NIFTY trading at right now?"

get_multi_quotes ​

Quotes for many symbols in one round-trip.

Prompt: "Get quotes for RELIANCE, TCS, INFY, HDFCBANK and ICICIBANK"


get_market_depth ​

Full 5-level bid/ask book plus total buy/sell qty and OI.

Prompt: "Show the order book depth for SBIN"


get_historical_data ​

OHLCV history. Two sources:

  • source="api" (default) → live fetch from broker API
  • source="db" → local Historify DuckDB store (1m and D stored physically; other intervals, including custom ones like 2m/3m/W/M/Q/Y, computed on-the-fly via SQL)

bars defaults to 20. However wide a date range you ask for, the tool returns only the last 20 rows and sets truncated: true. Say how many bars you want ("the last 200 daily bars") or the model will silently work from 20. The same default applies to calculate_indicator.

Prompts:

  • "Get 5-minute SBIN candles from 1 Apr to 8 Apr 2025"
  • "Pull NIFTY daily data for the last 6 months from the local Historify DB"
  • "Give me weekly aggregates of BANKNIFTY for the past year using source=db"

get_option_chain ​

Real-time chain with CE/PE data per strike, LTP, bid/ask, OHLC, volume, OI, lotsize, moneyness labels. strike_count=N returns N strikes above and N below ATM, so roughly 2N+1 rows. Valid range is 1 to 100.

Prompts:

  • "Show me NIFTY option chain for 30DEC25, 10 strikes around ATM"
  • "Full BANKNIFTY option chain for this week's expiry"

Instrument Search & Symbols ​

search_instruments ​

Fuzzy search across exchanges by name or symbol.

Prompts:

  • "Search for NIFTY 26000 Dec CE"
  • "Find all TATA stocks on NSE"

get_symbol_info ​

Full metadata for one symbol: brsymbol, lotsize, expiry, strike, tick_size, token.

Prompts:

  • "Get symbol info for NIFTY30DEC25FUT on NFO"
  • "What's the lot size for BANKNIFTY futures?"

get_option_symbol ​

Resolve ATM/ITM/OTM offset to the exact option symbol plus lotsize, tick_size, underlying_ltp. Expiry optional if the underlying includes one.

Prompts:

  • "Get the ATM CE symbol for NIFTY expiring 28OCT25"
  • "What's the OTM4 PE for BANKNIFTY next weekly?"

get_option_greeks ​

Delta, Gamma, Theta, Vega, Rho + Implied Volatility using Black-76. Underlying is auto-detected, override with underlying_symbol / underlying_exchange, supply forward_price for custom / illiquid underlyings, and expiry_time for non-standard MCX contracts. interest_rate is the annualized risk-free rate in percent and defaults to 0, which materially shifts rho and theta: pass it when those matter.

Prompts:

  • "Calculate greeks for NIFTY25NOV2526000CE with 6.5% interest rate"
  • "What's the delta and IV of the ATM NIFTY CE for 28NOV25?"

get_synthetic_future ​

Put-call parity synthetic future price, useful for illiquid futures or weekly expiries that lack a traded future.

Prompt: "What's the NIFTY synthetic future price for 25NOV25?"


get_expiry_dates ​

All tradeable expiries for an underlying.

Prompt: "List all NIFTY options expiries available on NFO"


get_available_intervals ​

Supported timeframes for get_historical_data.

Prompt: "What intraday intervals are supported?"


get_instruments ​

Bulk instrument master download for an exchange (or all exchanges when exchange is omitted). Output is paginated, default limit 500, with a truncated flag.

Prompts:

  • "Download the NFO instrument master, first 500 rows"
  • "Get all MCX instruments available for trading"

get_index_symbols ​

Returns the full standardized Tradeboard index symbol list (57 NSE + 40 BSE), rolled out uniformly across every supported broker.

Prompts:

  • "List all NSE index symbols I can subscribe to"
  • "Show me the BSE index list, I want to stream SENSEX50"

Margin ​

calculate_margin ​

SPAN + exposure margin for a hypothetical position set. Accepts an array of legs with symbol, exchange, action, product, pricetype, quantity.

Prompts:

  • "Calculate margin for 1 lot NIFTY 25000 CE buy + 1 lot 25500 CE sell, 25NOV25 expiry"
  • "How much margin do I need for a BANKNIFTY short straddle at ATM for next week?"

Analyzer ​

analyzer_status ​

Am I in simulated (analyzer) or live mode?

Prompt: "Am I in live or analyzer mode right now?"


analyzer_toggle ​

Flip between simulated and live trading. Analyzer mode returns sandbox order IDs in the same YYMMDD + sequence shape as a real one, and the response carries mode: "analyze", without touching the broker. Read the mode field, not the order ID, to tell simulated from live.

Prompts:

  • "Switch to analyzer mode before I test this strategy"
  • "Turn off analyzer, I want to go live"

Market Calendar ​

get_holidays ​

Full holiday list for a year (year optional → defaults to current year).

Prompts:

  • "What are the trading holidays in 2026?"
  • "List this year's market holidays"

get_timings ​

Exchange open/close epoch timestamps for a given date (date optional → defaults to today).

Prompt: "What are today's market timings across NSE, BFO and MCX?"


check_holiday ​

This tool is registered and appears in MCP clients, but it is currently unavailable: it calls /api/v1/checkholiday, which is not a registered Tradeboard REST endpoint. Calls return an endpoint error instead of a holiday result. Use get_timings for one date or get_holidays for the yearly list.


Utilities ​

get_tradeboard_version ​

Prompt: "What version of the tradeboard library is running?"


validate_order_constants ​

Quick cheat-sheet of valid exchanges, product types, price types, actions, and intervals, useful when the model wants to double-check a parameter before sending an order.

Prompt: "Remind me of the valid product types and price types"


send_telegram_alert ​

Push a Telegram notification via the Tradeboard Telegram bot (must be configured in Tradeboard settings first).

ParamRequiredNotes
usernameYesYour Tradeboard login ID. There is no default, so name it in the prompt
messageYesBody text
priorityNo1 to 10, defaults to 5

This is the one tool annotated as a write that is gated on read:account, so a read-only remote session can still send Telegram messages.

Prompts:

  • "Send me a Telegram alert: NIFTY crossed 26000, priority 8"
  • "Ping me on Telegram if my NIFTY CE fills"

Technical Research ​

Research tools fetch broker or Historify history and calculate compact results on the Tradeboard server. Common optional controls are interval, start_date, end_date, lookback_bars, lookback_days, and source (api or db). multi_timeframe_analysis is the exception: it takes a list called intervals, not a single interval.

calculate_indicator ​

Run an tradeboard.ta indicator by name. Supply symbol, exchange, and indicator; use params for indicator arguments, inputs when automatic OHLCV input detection is insufficient, and bars to limit returned rows.

Prompt: "Calculate RSI(14) and the latest 20 values for RELIANCE daily candles"

get_trend_snapshot ​

Return a one-call trend bundle containing SMA, EMA, Supertrend, ADX/DMI, and Ichimoku values.

Prompt: "Give me a daily trend snapshot for NIFTY"

get_momentum_snapshot ​

Return RSI, MACD, Stochastic, CCI, and Williams %R values for one symbol and interval.

Prompt: "Show a 15-minute momentum snapshot for SBIN"

get_volatility_snapshot ​

Return ATR, NATR, Bollinger, Keltner, Donchian, and historical-volatility values.

Prompt: "Compare the current volatility measures for INFY on daily candles"

get_support_resistance ​

Calculate pivot points, Donchian levels, and rolling highest-high and lowest-low values. period defaults to 20.

Prompt: "Find 20-day support and resistance levels for RELIANCE"

detect_signals ​

Find recent bullish and bearish events. signal_type selects the rule and defaults to ema_cross; valid values are ema_cross, sma_cross, macd_cross, supertrend_flip, and rsi_threshold. fast (20) and slow (50) set the crossover lengths, period (14) the RSI length, upper (70) and lower (30) the RSI thresholds, and limit (20) bounds the returned events.

Prompt: "Find the latest EMA 20/50 cross signals for TCS"

screen_instruments ​

Evaluate a modest list of {symbol, exchange} pairs. condition defaults to rsi_below; valid values are rsi_below, rsi_above, price_above_sma, price_below_sma, supertrend_bullish, and supertrend_bearish. value (30.0) is the threshold and period (14) the indicator length. History is fetched per symbol, so keep broker-backed lists small.

Prompt: "Screen RELIANCE, INFY, TCS, and SBIN for RSI below 35"

multi_timeframe_analysis ​

Compute one indicator across several timeframes. The default timeframes are 5m, 15m, 1h, and D.

Prompt: "Check RSI confluence for NIFTY across 5m, 15m, 1h, and daily"

correlation_beta ​

Align two symbols on common timestamps and return rolling correlation, rolling beta, linear-regression slope, and full-sample Pearson correlation.

Prompt: "Calculate 60-day correlation and beta for RELIANCE versus NIFTY"


Worked Multi-Tool Workflows ​

Real strength shows when the assistant chains tools on its own. Example prompts:

1. End-to-end iron condor (analyzer mode):

"Set up a NIFTY iron condor for next week's expiry. Find the expiry, pull the option chain, use OTM5 strikes on both sides, calculate the margin required, and, only if margin is under ₹1L, place it in analyzer mode using 1 lot per leg."

The assistant will chain: get_expiry_dates → get_option_chain → get_option_symbol (for lot size) → calculate_margin → analyzer_status / analyzer_toggle → place_options_multi_order.

2. Pre-market checklist:

"Before I start trading: is the market open today on NSE and MCX, what's my free cash, what's my current position book, and what's NIFTY spot right now?"

Chains: get_timings → get_funds → get_position_book → get_quote.

3. Options greeks scan:

"Pull the NIFTY option chain for 25NOV25 within 5 strikes of ATM, then compute greeks for the ATM CE and PE with 6.5% interest rate, tell me which has higher vega."

Chains: get_option_chain → get_option_symbol (ATM) × 2 → get_option_greeks × 2.

4. Square-off with Telegram confirmation:

"Square off everything, cancel all pending orders, then send me a Telegram alert summarizing what got closed with the realized P&L."

Chains: cancel_all_orders → close_all_positions → get_trade_book → send_telegram_alert.


Quick Prompt Patterns ​

IntentPrompt pattern
Status check"What's my {thing}?"
Single action"{Buy/Sell} {qty} {symbol} at {price}"
Multi-leg"Build a {strategy} on {underlying} {expiry} with {offsets}"
Safety-first"In analyzer mode, {do the thing}"
Conditional"Only if {condition}, then {action}"
Research"Show me {chain/greeks/history} and recommend {levels}"

Safety Tips ​

  • Start in analyzer mode (analyzer_toggle True) while you get comfortable. Orders look real but never leave Tradeboard.
  • Use phrases like "only if margin is under X" or "ask me to confirm before placing" and the assistant will pause for your OK.
  • Use a unique strategy name per use-case (e.g., "use strategy 'nifty scalper'") so MCP-driven activity is cleanly separable from manual orders in logs.
  • For live trading, set up the Tradeboard Telegram bot and ask the assistant to "send a Telegram alert after every order fill". You get a realtime feed without staring at the screen.

  • MCP Server Setup Guide: install, configure Claude / Cursor / Windsurf, broker prerequisites
  • Tradeboard Symbol Format: how equity / future / option symbols are constructed
  • API Documentation: underlying REST endpoints each MCP tool wraps