| name | trading |
| description | Manage TastyTrade brokerage accounts — monitor portfolios, analyze options with Greeks, place and manage multi-leg orders, and stream real-time market data. Use when the user asks about account balances, positions, options chains, IV rank, order placement, watchlists, or market status. |
TastyTrade Trading
Interact with TastyTrade brokerage accounts via the tasty-agent MCP server. Covers portfolio monitoring, market data streaming, options analysis, and order management with built-in rate limiting (2 req/s).
Workflow
- Check market status — call
market_status to confirm the relevant exchange is open before placing orders or fetching live quotes.
- Review account state — use
account_overview with include=["balances","positions"] to see net liquidating value and current holdings.
- Research — gather data with the appropriate tool:
get_quotes for real-time stock/option/futures quotes via DXLink streaming
get_greeks for delta, gamma, theta, vega, rho on specific option contracts
get_market_metrics for IV rank, IV percentile, beta, and liquidity across symbols
search_symbols to look up tickers by name
- Plan the trade — verify positions with
account_overview, check Greeks for risk, and confirm the user's intent before proceeding.
- Execute — use
place_order for new orders, replace_order to reprice existing live orders at the current mid, or cancel_order to cancel. Always require explicit user confirmation before placing.
- Track — use
get_history for transaction or order history, list_orders for live orders, and watchlist to manage symbol lists.
Key Rules
- Never place orders without explicit user confirmation.
- Equity and option legs use
Buy to Open, Buy to Close, Sell to Open, Sell to Close; futures use Buy or Sell.
place_order always uses quote-derived mid pricing; do not pass raw prices.
place_order aligns prices to the broker's valid tick grid; do not retry unchanged if tick-size data is unavailable.
quantity is the actual share/contract count. For dollar-budget orders, pass top-level target_value and omit quantity for single-leg orders. For multi-leg spreads with target_value, use quantity only to express the leg ratio, such as 1:1 or 2:1.
- For replacing an order, call
replace_order(order_id) to reprice at current mid.
- Do not use underlying stock quotes as option order prices.
place_order resolves the exact instrument quote and validates the signed net limit against the current bid/ask market.
- Tool outputs are intentionally compact; use the returned bid/ask/mid, sizing, warnings, and order summaries rather than expecting full SDK dumps.
- Supported time-in-force values:
Day, GTC, GTD, Ext, Ext Overnight, GTC Ext, GTC Ext Overnight, IOC.
- Use
get_history(type="transactions") for trade/money history (default 90 days) and type="orders" for order history (default 7 days). Paginate with page_offset and limit.
watchlist(action="list") without a name returns watchlist metadata only. Call it again with name to fetch symbols for a specific watchlist.