Skip to main content

MCP Scopes: mcp:read and mcp:trade

CrossTrade MCP issues tokens with one of two scopes. The scope determines which tools the agent can call. Pick the smallest scope that works for the workflow.

For the auth flow that issues these tokens, see Authentication.

Why scopes matter

An AI trading agent can interleave reads and writes in a single conversation. If the token allows writes, a single confused tool call can place, cancel, or flatten in production. Scope is the first line of defense before approval gates and prompt design.

Use mcp:read for:

  • Journal analysis
  • Account inspection
  • Risk briefs
  • Webhook signal debugging
  • Trade copier diagnostics
  • Strategy and order audits

Upgrade to mcp:trade only when the workflow needs to:

  • Place, cancel, or modify orders
  • Flatten positions or reverse
  • Deploy or stop strategies
  • Compile or write NinjaScript files
  • Create or remove drawings
  • Save or load workspaces

mcp:read

Includes:

  • Account, position, order, and execution inspection
  • Quote, bar, market info, and volume profile reads
  • Connection state and capability checks
  • Add-on activity, webhook signal history, journal reads
  • NinjaScript help, symbol search, and source-file reads
  • Backtest result retrieval (not new backtest jobs)
  • Deployment registry reads, deployed-strategy state reads
  • Watermark and account summary reads
  • Job inspection (GetMcpJob, ListMcpJobs)

Does not include:

  • Any order action
  • Strategy deployment
  • File write or compile
  • Cancel, flatten, reverse
  • Workspace load or save
  • Alert emission

mcp:trade

Includes everything in mcp:read plus:

  • Order placement, cancellation, replacement, and bracket changes
  • Flatten and reverse, including FlattenEverything
  • Strategy deployment, stop, and removal
  • CompileNinjaScript, WriteNinjaScriptFile, DeleteCompiledSnippet
  • RunStrategyBacktest (creates a new backtest job)
  • DeployStrategy, StopStrategy, CloseStrategy
  • OpenChart, SaveWorkspace, LoadWorkspace
  • Drawing CRUD: AddDrawing, RemoveDrawing
  • EmitMcpAlert, CreateAlert, RemoveAlert
  • UpdateConfiguration on writable add-on options

Tool permission table

CategoryToolRequired scope
DiscoveryGetMcpCapabilities, McpSelfTestmcp:read
AccountsListAccounts, GetAccount, GetAccountSummary, GetWatermarksmcp:read
ConnectionsGetConnectionsmcp:read
PositionsListPositions, GetPosition, GetAllPositionsmcp:read
OrdersListOrders, GetOrder, GetOrderStatus, GetAllOrders, ListExecutions, GetExecution, GetExecutionsByOrderIdmcp:read
Market dataGetQuote, GetBars, MarketInfo, GetVolumeProfile, GetOrderFlow, GetIndicatorValuemcp:read
DiagnosticsGetActivityLog, GetSignalHistory, GetJournalTradesmcp:read
NinjaScript readsGetNinjaScriptHelp, SearchNinjaScriptSymbols, LookupNinjaScriptSymbol, ListNinjaScriptFiles, ReadNinjaScriptFile, ListCompiledSnippetsmcp:read
Backtest readsGetBacktestResult, GetCompileResult, GetMcpJob, ListMcpJobsmcp:read
Strategy readsListAllStrategies, ListStrategies, GetStrategy, GetStrategyState, ListDeployedStrategies, GetDeployedStrategyStatemcp:read
Workspace readsListWorkspacesmcp:read
Order writesPlaceOrder, Change, CancelReplace, Cancel, CancelOrders, CancelAllOrders, CancelAndBracket, FlatPlacemcp:trade
Position writesClosePosition, Reverse, ReversePosition, Flatten, FlattenEverythingmcp:trade
NinjaScript writesCompileNinjaScript, WriteNinjaScriptFile, DeleteCompiledSnippetmcp:trade
Backtest jobsRunStrategyBacktest, RunBacktest, CancelMcpJobmcp:trade
Strategy writesDeployStrategy, StartStrategy, StopStrategy, CloseStrategy, EnableStrategy, DisableStrategymcp:trade
Workspace writesSaveWorkspace, LoadWorkspace, OpenChartmcp:trade
Drawing writesAddDrawing, RemoveDrawingmcp:trade
AlertsEmitMcpAlert, CreateAlert, RemoveAlert, ListAlertsmcp:trade for write actions, mcp:read for ListAlerts
ConnectionsConnect, Disconnect, EnsureReplayConnectionmcp:trade
ConfigurationUpdateConfigurationmcp:trade

This table reflects the production permission model. If a tool you expect is rejected with a scope error, the token is too narrow for that tool category.

WorkflowRecommended scopeRationale
Journal review and end-of-day analysismcp:readNo write needed.
Pre-trade risk briefmcp:readThe agent reports; the human decides.
Webhook signal debuggingmcp:readRead history, do not replay.
Trade copier diagnosticsmcp:readThe fix happens elsewhere.
NinjaScript research and compile loopmcp:tradeCompile and file write require it.
Strategy Analyzer backtest onlymcp:tradeRunStrategyBacktest is a job creator.
Strategy deploymentmcp:trade with approval gatesThe agent must confirm before deploying.
Order placement with human confirmationmcp:trade with explicit per-action approvalTreat each order as a one-time confirmed action.
Funded account autonomous tradingNot recommended at any scopeSee firm rules. Use mcp:read for inspection only.

Approval recommendations

Even when the token allows trade actions, the agent prompt should require:

  • A state check (ListAccounts, GetConnections, ListPositions, ListOrders, GetAccountSummary, GetWatermarks) before any write.
  • A natural-language confirmation step before PlaceOrder, Cancel*, Flatten*, DeployStrategy, StopStrategy, or WriteNinjaScriptFile.
  • An explicit summary of the action with account, instrument, side, and quantity.
  • A refusal path if the account is in a state that violates risk rules.

The token says what the agent can do. The prompt says what the agent should do. The user says what the agent will do.

Scope errors

ErrorCauseResolution
HTTP 403 with insufficient_scopeToken is mcp:read but the tool requires mcp:trade.Reauthorize at mcp:trade if the workflow needs write access.
Tool not listed in tools/listTool is gated behind a scope the token does not hold.Reauthorize at the required scope.
HTTP 403 MCP requires an Elite subscriptionThe account is below Elite.Upgrade. Scope is independent of tier; tier is the prerequisite.

Examples

Read-only journal review:

You: You have mcp:read only. Summarize my last 20 trades on Sim101 with realized
P&L, instrument breakdown, and the three biggest losers. Do not attempt any
write tools.

Trade-scoped strategy compile loop with explicit gates:

You: You have mcp:trade. Compile a 9/21 EMA cross strategy for MES, in memory.
If compile fails, fix and recompile. Only WriteNinjaScriptFile once compile
is green. Do not deploy or run a backtest unless I confirm separately.

Read-only pre-trade brief on a funded account:

You: I'm trading an Apex $50k evaluation. You have mcp:read only. Give me a
pre-trade brief: open positions, working orders, executions today, account
summary, daily watermark, and remaining loss room against $1,500 trailing
drawdown. Do not place anything.