Skip to main content

How to Connect Claude to NinjaTrader 8 with CrossTrade MCP

Claude Desktop was the original MCP client and remains the most reliable environment for connecting an AI assistant to NinjaTrader 8. CrossTrade MCP gives Claude typed access to your account state, journal, webhook history, NinjaScript surface, and Strategy Analyzer. This tutorial covers the full Claude Desktop setup. For the CLI version, see How to Use Claude Code with NinjaTrader 8.

What you will set up

  • Claude Desktop with the CrossTrade MCP server registered
  • OAuth consent with mcp:read scope
  • The CrossTrade Add-On connected to NinjaTrader 8
  • A first read-only prompt to verify the loop

Prerequisites

RequirementDetail
CrossTrade subscriptionElite
CrossTrade Add-Onv1.13.0 or higher
NinjaTrader 8Running, broker connected
Claude DesktopLatest version with MCP support
Test accountSim101
Start read-only

Start with mcp:read. Use Sim101 for the first test. Do not grant mcp:trade until you have validated the inspection workflows you actually want.

Step 1: Confirm CrossTrade and NinjaTrader 8 readiness

  1. Open NinjaTrader 8. Confirm broker connection.
  2. Open the CrossTrade Add-On panel inside NT8. Confirm the version is v1.13.0 or higher and the status shows connected.
  3. Open the CrossTrade AI Clients page in a browser. Keep the tab open; you will see the new grant appear there after OAuth.

Step 2: Add the CrossTrade MCP server to Claude Desktop

  1. Open Claude Desktop.
  2. Open Settings → Developer → Edit Config.
  3. Paste the following block (merge with any existing mcpServers map):
{
"mcpServers": {
"crosstrade": {
"url": "https://app.crosstrade.io/v1/api/mcp"
}
}
}
  1. Save the config.
  2. Quit Claude Desktop completely and reopen.

Step 3: Complete OAuth

  1. On your next message that references CrossTrade, Claude opens a browser tab to the CrossTrade OAuth consent screen.
  2. Sign in if needed.
  3. Approve mcp:read for the first run.
  4. The browser redirects back; Claude Desktop stores the token in its keychain.

The new grant should now appear on the CrossTrade AI Clients page.

Step 4: Verify capabilities

In Claude Desktop, paste:

Call GetMcpCapabilities and McpSelfTest. Tell me my CrossTrade add-on version,
NinjaTrader 8 version, backtest engine availability, and feature flags.
Stop after these two calls.

Expected response: a short report with the add-on version, NT8 version, backtest_engine.available: true, and the feature list. If anything is missing, see the troubleshooting section.

Step 5: First read-only prompt

Use read-only tools only. Confirm that CrossTrade MCP is connected, confirm
whether NinjaTrader 8 is connected through the CrossTrade add-on, list my
available accounts, and summarize any open positions or working orders.
Do not place, cancel, modify, flatten, deploy, or write anything.

Claude calls ListAccounts, GetConnections, ListPositions, ListOrders, GetAccountSummary, GetWatermarks. The response is a one-page brief of your current state.

Step 6: Ask Claude to summarize recent trades

Pull the last 20 closed trades on Sim101 from the journal. Group by instrument
and side. Report win rate, average win, average loss, and the three biggest
losers. Redact account identifiers in the summary.

This is the highest-value first workflow on any account. It runs entirely on mcp:read.

Step 7: Ask Claude to inspect TradingView webhook history

Pull TradingView webhook signals on Sim101 for the last 24 hours. For each
signal, find the matching add-on activity entry and the order or execution.
Tell me which signals filled, which were rejected, and which produced no order.

If you do not use TradingView webhooks, Claude will report no signals. If you do, this is the diagnostic that surfaces silent misses.

Step 8: (Optional) Claude Code for NinjaScript

When you want to write or modify NinjaScript, switch to Claude Code. The compile loop runs better in a CLI environment where Claude can edit local files and call MCP tools side by side. See How to Use Claude Code with NinjaTrader 8.

Troubleshooting

SymptomLikely causeFix
Tools missingConfig typo, app not restarted, or OAuth not completedRe-check JSON, quit and reopen Claude Desktop, redo consent
401 unauthorizedToken expired or revokedReauthorize from CrossTrade AI Clients
403 with Elite requiredAccount below EliteUpgrade
408 timeoutNT8 closed or add-on disconnectedOpen NT8, verify add-on
OAuth opens but failsBrowser signed in to a different CrossTrade accountSign out of CrossTrade in that browser tab, retry
Add-on version warningBelow v1.13.0Update the add-on inside NT8

FAQ

Is Claude Desktop the only Claude client that works?

Claude Desktop and Claude Code are both MCP-native. Web Claude does not run local MCP. Claude Code is covered in a separate tutorial.

Can Claude place trades?

With mcp:trade scope, yes. With mcp:read (the default for this tutorial), no. The OAuth scope is the floor; prompt design adds confirmation gates.

What if I use a funded account?

Verify the firm's automation policy first. Apex prohibits automation; Topstep permits with caveats; others vary. Default to read-only on funded accounts.