TradeZero MCP
Connect your TradeZero account to Claude, Claude Code, ChatGPT, Perplexity, Grok, Cursor, or VS Code. Paste the hosted URL, complete OAuth 2.0 sign-in, and manage orders, positions, and short locates in natural language.
TradeZero MCP exposes trading as tools in your assistant. Add the server URL, sign in when prompted, and keep write-approval prompts on.
Hosted MCP URL
https://webapi.tradezero.com/mcpPaste this into your assistant as a remote MCP server. Sign in with OAuth - do not put API keys in the client.
Orders you approve through MCP are real on a live account - same fees, fills, and risk as TradeZero Platforms. Confirm paper vs live (accountType) before any write. Keep write-approval prompts on. Paper uses simulated funds only.
Before you connect: a TradeZero login and an MCP client that supports remote Streamable HTTP + OAuth 2.0.
Connect your client
Select a platform
- Claude
- Claude Code
- ChatGPT
- Perplexity
- Grok
- Cursor
- VS Code
Remote custom connectors work on Free (one connector), Pro, Max, Team, and Enterprise. On Team/Enterprise, an Owner adds the connector first; members then click Connect.
3 steps
Open Connectors
Free / Pro / Max: claude.ai → Customize → Connectors → + → Add custom connector.
Team / Enterprise: Owner adds under Organization settings → Connectors. Members open Customize → Connectors and click Connect.
Paste the hosted URL
Use Remote MCP server URL. Leave OAuth client ID/secret empty. Click Add.
https://webapi.tradezero.com/mcpAuthorize
Complete TradeZero sign-in when prompted, then ask which accounts you can trade.
2 steps
Add the HTTP server
claude mcp add --scope user --transport http tradezero https://webapi.tradezero.com/mcpAuthorize
Run
/mcp, select tradezero, and complete OAuth if needed.
ChatGPT Free, Plus, and Pro do not support TradeZero MCP. Use Business, Enterprise, or Edu on the web with Developer mode enabled.
4 steps
Turn on Developer mode
Settings → Security and login (or Settings → Apps → Advanced settings).
Create a developer-mode app
Open ChatGPT Plugins / Apps → + → create a remote MCP app.
Paste the URL
Name it
TradeZero MCP, paste the hosted URL, choose OAuth, create the app.https://webapi.tradezero.com/mcpUse it in chat
New chat → composer + → Developer mode → select TradeZero MCP.
Custom connectors need Perplexity Pro, Max, or Enterprise.
3 steps
Open Connectors
Perplexity → Settings → Connectors → add a custom / remote MCP connector.
Paste the hosted URL
https://webapi.tradezero.com/mcpAuthorize
Complete TradeZero sign-in, then ask which accounts you can trade.
Custom MCP connectors need a paid Grok plan that exposes Connectors.
3 steps
Open Connectors
Go to grok.com/connectors → New Connector → Custom.
Paste the hosted URL
Paste into the remote MCP server URL field. Leave OAuth client ID/secret empty.
https://webapi.tradezero.com/mcpAuthorize
Complete TradeZero sign-in when prompted, then ask which accounts you can trade.
3 steps
Open MCP settings
Customize → MCPs, or Ctrl/Cmd+Shift+J → MCP.
Add the server
Install in CursorOpens the MCP dialog with the hosted URL pre-filled. You still need to click Install and complete TradeZero OAuth.
Or Add Custom MCP → nametradezero→ paste:{"mcpServers": {"tradezero": { "url": "https://webapi.tradezero.com/mcp" }}}Authorize
Complete OAuth when Cursor prompts, then ask which accounts you can trade.
Requires GitHub Copilot Chat in Agent mode.
3 steps
Add an MCP server
Command Palette → MCP: Add Server → HTTP → User profile (or workspace
.vscode/mcp.json).Paste the URL
{"servers": {"tradezero": { "type": "http", "url": "https://webapi.tradezero.com/mcp" }}}Authorize
Use the Auth code lens on the TradeZero entry and complete login.
What you can do
21 tools - 14 reads, 7 writes (6 destructive; locate_quote is a write but free until accept).
- Accounts, balances, P&L, open and closed positions, cash history
- Today's orders - place, read, cancel (equities, options, multi-leg)
- Short locates on live accounts (quote, accept, inventory, sell-back)
The hosted server does not return quotes, options chains, or charts. Supply your own limit prices.
Tools
Read = data only. Write = changes your account - keep approval prompts on.
Accounts and PnL
Try Show me my buying power and whether I'm on paper or live. · How is my P&L looking today?
| Tool | Access | Notes |
|---|---|---|
list_accounts | Read | Start here for accountId / accountType |
get_account | Read | Snapshot - buying power, option level |
get_account_pnl | Read | Account + per-position P&L |
Positions
| Tool | Access | Notes |
|---|---|---|
get_positions | Read | Open lots (accountId) |
get_closed_positions | Read | Closed lifecycles + realized P&L |
Orders
Try What open orders do I have? · Place a limit buy for 100 AAPL at $180. · Cancel my open AAPL order.
| Tool | Access | Notes |
|---|---|---|
get_routes | Read | Routes, types, TIFs - call before live placement |
get_todays_orders | Read | Session blotter |
get_order | Read | One order (orderId = clientOrderId) |
get_historical_orders | Read | Fills from startDate (~1 week) |
get_historical_orders_paginated | Read | Same, paginated (~1 year) |
create_order | Write | Equity, option, or spread |
cancel_order | Write | One clientOrderId |
cancel_all_orders | Write | All working (symbol: null = everything) |
create_order
All fields required; send null when unused. Enums are case-sensitive (Buy, Limit, Mleg).
| Field | Send |
|---|---|
accountId | From list_accounts |
symbol | Ticker, OCC, or underlying for Mleg |
side / openClose | Buy/Sell + Open/Close; both null for Mleg |
orderType | Market, Limit, Stop, StopLimit only |
securityType | Stock, Option, Mleg |
timeInForce / route | Must match get_routes |
orderQuantity | Whole integer |
limitPrice / stopPrice | Numbers or null |
clientOrderId | Fresh id per order (or null) |
legsJson | JSON array string for Mleg only |
Reading an order response
Poll get_order until terminal (Filled, Canceled, Rejected). Do not cancel a Rejected order. Full order rules: Equity Trading · Options.
Short locates
Writes need a live account. Details: Short Locates.
Try Is BB easy to borrow? · Quote 500 shares of BB and show each offer's cost.
| Tool | Access | Notes |
|---|---|---|
is_easy_to_borrow | Read | ETB check |
get_locate_inventory | Read | Active inventory |
get_locate_history | Read | Day history / statuses |
locate_quote | Write | Fresh quoteReqId; no fee yet |
accept_locate | Write | Fee - reuse quote id |
cancel_locate | Write | Cancel quote or pending sell-back |
sell_locate | Write | Credit unused inventory |
*Sent: true means queued - confirm in get_locate_history.
Cash
| Tool | Access | Notes |
|---|---|---|
get_cash_transactions | Read | Ledger up to 1 year (accountId, startDate, pagination args) |
Tools that can move money
| Tool | Effect |
|---|---|
create_order | Order to market |
cancel_order / cancel_all_orders | Withdraw working orders |
locate_quote | Quote only |
accept_locate | Locate fee |
cancel_locate / sell_locate | Cancel or credit inventory |
Try these prompts
After you connect
- ReadWhich TradeZero accounts can I trade, and are they paper or live?
- ReadWhat open orders do I have right now?
- ReadShow my buying power and today's P&L.
- WritePlace a limit order to buy 100 shares of AAPL at $180.
- WriteQuote a locate for 500 shares of BB and show the cost of each offer before I accept.
- WriteCancel my open AAPL order.