Tradier MCP
The Model Context Protocol (MCP) is a powerful way to connect external tools and data sources directly to modern LLMs, transforming them from general assistants into fully interactive and specialized work partners. By integrating with common AI models and providing tools / greater context, MCP makes it easy to build rich workflows, automate routine tasks, and accelerate learning—without needing complex retraining.
Tradier has taken this great step forward with its new custom MCP server, which seamlessly links brokerage capabilities to LLMs like ChatGPT, Claude, Cursor, and more. Through this tool, users can access real-time market data, retrieve account details, query documentation, and even place trades—all from within their AI assistant. It’s a major leap forward in blending financial technology with conversational AI, empowering traders, developers, and learners to work smarter, faster, and more intuitively.
Tradier’s MCP Server supports the Streamable HTTP transport protocol, allowing seamless integration.
Most Tradier MCP tools require an account number to operate. Before using account-specific or trading tools, run the get_user_profile tool first (e.g., by asking your AI assistant "What's my account profile?") to retrieve your account number(s).
Available Tools
The Tradier MCP Server provides comprehensive tools for trading, market data, and documentation. These tools can be accessed either with the tool name or with natural language in the connected AI tool. The Tradier MCP Server exposes 22 tools total: search_tradier_docs (documentation) plus the 21 brokerage tools below, covering account/portfolio data, market data, trading, and watchlists.
Schema quirk: For several tools, the underlying JSON schema marks every parameter as required, even when that parameter's own description says it's optional and has a sensible default (e.g. page, limit, start, end on history-style endpoints). This is noted per-tool below wherever it applies. If you're calling these tools programmatically rather than through natural language, you may need to pass a value for fields the description calls optional, depending on how strictly your MCP client enforces the schema.
All parameters are typed as string. Even logically numeric fields (quantity, price, page, limit) and logically boolean fields (greeks, exactMatch) are typed as plain strings in the tool schemas. Pass values as strings regardless of their semantic type (e.g. quantity: "10", not quantity: 10).
Summary
| Searches Tradier's built-in documentation about API features and trading concepts. See "Documentation Tool" below. |
| Retrieves the authenticated user's profile, including account number(s). Recommended as a first call since most other tools require an account number. No parameters. |
| Balance info for an account: total equity, option/stock buying power, cash available, day-trading buying power, dividend balance. |
| Historical account balance data over a period: date, value, delta, delta_percent. |
| Historical account activity: trades, dividends, options, transfers, etc. |
| Realized/unrealized profit-and-loss report for an account. |
| Current positions for an account: symbol, quantity, cost basis, date acquired, current value. |
| Orders for an account: order ID, symbol, side, quantity, price, type, status, date created. |
| Cancels an existing order. |
| Retrieves all watchlists for the user. No parameters. |
| Adds one or more symbols to a watchlist. |
| Quotes for specified symbols: last price, change, % change, volume, bid/ask. |
| Company profile info (summary, website) for one or more symbols. |
| Historical OHLCV price data for a symbol. |
| Trading days and holidays for a given month. |
| Options chain for a symbol and expiration date. |
| Places a stock buy/sell order. |
| Places a single-leg options order. |
| Places a multileg options order (spreads, straddles, etc.) — 2 to 4 legs. |
| Places a One-Cancels-Other order — two orders where filling one cancels the other. |
| Places a One-Triggers-Other order — a second order submits only after the first fills. |
| Places a One-Triggers-One-Cancels-Other order — order 1 triggers orders 2 and 3, which form an OCO pair. |
Account & Portfolio Tools
get_account_balances—accountNumber(required)get_account_historical_balances—accountNumber(required);period(required — one ofWEEK,MONTH,YEAR,YEAR_5,YEAR_10,YTD,ALL)get_account_history—accountNumber(required). Schema marks all of the following as required, though their descriptions call them optional with defaults:page(default1),limit(default25, max100),type(one oftrade,option,ach,wire,dividend,fee,tax,journal,check,transfer,adjustment,interest),start(formatyyyy-mm-dd, default account opening date),end(formatyyyy-mm-dd, default end of current day),symbol,exactMatch(defaultfalse)get_gainloss—accountNumber(required). Schema marks these as required, though their descriptions call them optional:page,limitget_positions—accountNumber(required)get_orders—accountNumber(required)cancel_order—accountNumber(required);orderId(required)
Watchlist Tools
get_watchlists— no parametersadd_to_watchlist—watchlistId(required);symbols(required, comma-separated)
Market Data Tools
get_market_quotes—symbols(required, comma-separated, e.g."AAPL,GOOGL,MSFT")get_company_profile—symbols(required, comma-separated)get_historical_data—symbol(required);interval(required — one ofdaily,weekly,monthly). Schema marks these as required though their descriptions call them optional:start(formatYYYY-MM-DD),end(formatYYYY-MM-DD)get_market_calendar— Schema marks both as required, though their descriptions call them optional:month(MMformat, e.g."12"),year(YYYYformat)get_options_chain—symbol(required);expiration(required,YYYY-MM-DD). Schema marks this as required though its description calls it optional:greeks("true"/"false", default"false")
Trading Tools
place_equity_order—accountNumber,symbol,side(buy/sell),quantity,type(market/limit/stop/stop_limit),duration(day/gtc/pre/post) all required. Schema marks these as required though their descriptions call them optional (conditional on order type):price(for limit orders),stop(for stop orders)place_option_order—accountNumber,symbol(underlying),optionSymbol(full OCC symbol),side(buy_to_open/buy_to_close/sell_to_open/sell_to_close),quantity,type(market/limit/stop/stop_limit),duration(day/gtc/pre/post) all required. Schema marks this as required, though its description calls it optional:price(for limit orders)place_multileg_option_order—accountNumber,symbol(underlying),type(market/debit/credit/even),duration(day/gtc),leg1OptionSymbol/leg1Side/leg1Quantity,leg2OptionSymbol/leg2Side/leg2Quantityall required. Schema marks these as required, though their descriptions call them optional:price(needed for debit/credit types),leg3OptionSymbol/leg3Side/leg3Quantity(3rd leg),leg4OptionSymbol/leg4Side/leg4Quantity(4th leg). Supports 2 to 4 legs.place_oto_order—accountNumberrequired. For each of order1/order2:Class(equity/option),Symbol,OptionSymbol(required ifClassisoption),Side,Quantity,Type,Duration(day/gtc) all required. Schema marks these as required though their descriptions call them optional:Price,Stop(per order)place_oco_order— same per-order field set asplace_oto_order(order1/order2). The two orders must use different order types and must match on symbol/option symbol.place_otoco_order— same per-order field set as above, extended to order1/order2/order3. Order 1 triggers orders 2 and 3; orders 2 and 3 must share symbol/option symbol and use different order types.
Documentation Tool
The search_tradier_docs tool provides comprehensive, built-in documentation about Tradier API features and trading concepts. This helps AI assistants provide accurate, context-aware guidance. You can also point a general LLM tool first at our LLMs.txt in order to help it gather context on our API offering.
Searchable Topics
Order Types:
- OCO (One-Cancels-Other) orders
- OTO (One-Triggers-Other) orders
- OTOCO (One-Triggers-One-Cancels-Other) orders
- Multileg option orders
- Equity and option order basics
Option Strategies:
- Iron Condor
- Vertical Spreads (Bull Call, Bear Put, etc.)
- Straddles and Strangles
- Butterfly Spreads
Trading Concepts:
- Option symbol formatting (OCC standard)
- Account types and permissions
- Order types (Market, Limit, Stop, Stop Limit)
- Order duration (Day, GTC, Pre, Post)
- Order sides (Buy, Sell, Buy to Open, etc.)
General Information:
- Getting started guide
- Common workflows
- Best practices
Example Usage
Query: "OCO orders"
Returns: Detailed explanation of OCO orders, requirements, use cases, and examples
Query: "iron condor"
Returns: Complete strategy guide including structure, risk/reward, and implementation
Query: "option symbols"
Returns: OCC symbol format specification with examples Live vs. Paper Trading
For each integration, you can submit "PAPER_TRADING": true/false. Pass it as a string: "true" or "false" (see the configuration examples below, which pass it as a quoted string value rather than a boolean literal). If you wish to use your live account and live market data, you can submit your production API token and PAPER_TRADING: "false". If you wish to work with your paper trading account you will submit your paper trading API token and "true". You can always make these edits in the configuration files later to switch between the live and paper trading environments.
On this page
- Tradier MCP