Skip to main content

How to Connect ChatGPT to NinjaTrader 8 with CrossTrade MCP

CrossTrade MCP lets a compatible ChatGPT app, ChatGPT developer-mode setup, or OpenAI API workflow connect to a CrossTrade account and a running NinjaTrader 8 desktop through the CrossTrade Add-On. This tutorial walks the full setup end to end. Start in read-only mode unless you explicitly need trading actions.

What you will set up

  • A ChatGPT or OpenAI client that supports remote MCP connectors
  • The hosted CrossTrade MCP server at https://app.crosstrade.io/v1/api/mcp
  • OAuth consent with mcp:read scope on first connection
  • The CrossTrade Add-On connected to NinjaTrader 8
  • A first read-only prompt you can copy and paste

Prerequisites

RequirementDetail
CrossTrade subscriptionElite
CrossTrade Add-Onv1.13.0 or higher
NinjaTrader 8Running on the same machine, broker connection up
ChatGPT environmentA plan/client that supports remote MCP connectors (availability changes by plan and region)
Test accountSim101 (or any non-live account) for the first call

If your ChatGPT plan does not yet support remote MCP, you can use Claude Desktop, Claude Code, or Cursor with the same CrossTrade MCP URL. See How to Connect Claude to NinjaTrader 8 and How to Use Cursor with NinjaTrader 8.

Start read-only

Start with mcp:read. Do not grant mcp:trade to an untrusted agent. Use Sim101 for the first test. Require explicit confirmation before placing, cancelling, modifying, flattening, deploying, or writing anything.

Step 1: Confirm NinjaTrader 8 and the CrossTrade Add-On are running

  1. Open NinjaTrader 8.
  2. Open the CrossTrade Add-On panel inside NT8.
  3. Confirm the status shows connected and the version is v1.13.0 or higher.

If NT8 is closed or the add-on is disconnected, MCP tool calls that need NT8 state will time out (HTTP 408).

Step 2: Confirm MCP eligibility

  1. Open your CrossTrade account page in a browser.
  2. Confirm you are on the Elite plan. Non-Elite accounts can authorize but tools/call returns HTTP 403.
  3. Open the AI Clients page to confirm where authorized clients will be listed.

Step 3: Add the CrossTrade MCP server in your ChatGPT environment

The exact label varies by environment. In a ChatGPT plan that supports custom connectors, look for the connector or remote MCP settings. In a developer-mode setup, look for the MCP server registration field. In an OpenAI API workflow, use the remote MCP connector parameter for the SDK you are calling.

Whatever the label, enter the server URL exactly as:

https://app.crosstrade.io/v1/api/mcp

No bearer token, no manual headers. OAuth handles authentication.

  1. The client opens a browser tab pointing at CrossTrade's OAuth consent screen.
  2. Sign in if you are not already signed in.
  3. Review the requested scope. Choose mcp:read for the first run.
  4. Click Allow.
  5. The browser redirects back to the client with an authorization code. The client exchanges the code for an access token automatically.

The token now appears on your CrossTrade AI Clients page. You can revoke it from there at any time.

Step 5: Verify the tool list

If the client exposes a tool inventory, you should see the CrossTrade tools listed (with read-only tools only if you chose mcp:read). If the client does not show the inventory, you can verify with the first prompt below.

Step 6: Run the first read-only prompt

Paste this prompt into the ChatGPT conversation:

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.

The agent should call GetMcpCapabilities, McpSelfTest, ListAccounts, GetConnections, ListPositions, and ListOrders. The response should describe the add-on version, NT8 version, and current account state. If anything is missing, see the troubleshooting table below.

Step 7: Ask for a trade journal summary

After the connection test passes, run a real read-only workflow:

Summarize my last 10 matched trades in Sim101 and group them by instrument,
direction, result, and time of day. Redact any account identifiers in the summary.

The agent calls GetJournalTrades and returns a structured summary. This is the highest-value first workflow and it has zero write risk.

Step 8: (Optional) Trade-enabled test in Sim101 only

Only run this step if you have decided you need write access and you have read AI Trading Agent Safety.

  1. Revoke the mcp:read grant from the AI Clients page.
  2. Reauthorize with mcp:trade.
  3. Use a strict system prompt that requires state checks and explicit confirmation gates before any write.
  4. Run the test on Sim101 only. Never use a funded account as the testbed.

Troubleshooting

SymptomLikely causeFix
401 unauthorizedToken expired, never issued, or revoked.Reauthorize from the AI Clients page.
403 with MCP requires an Elite subscriptionThe account is below Elite.Upgrade at Subscriptions.
403 with insufficient_scopeTool needs mcp:trade but the token has mcp:read.Either rewrite the prompt to stay read-only or reauthorize at mcp:trade.
408 timeoutNT8 closed or add-on disconnected.Open NT8, confirm the add-on panel shows connected.
No tools listedOAuth consent failed or the client cached an old metadata.Remove and re-add the MCP server. Reauthorize.
OAuth loopStale grant.Revoke from AI Clients and reauthorize.
Add-on version too oldBelow v1.13.0.Update the add-on inside NT8.

FAQ

Can ChatGPT place trades in NinjaTrader 8?

Yes, with mcp:trade scope. The safe default is mcp:read for inspection-only workflows. Trade-enabled workflows should require explicit confirmation in the prompt before every write.

Can I use this with a funded account?

It depends on the firm. Apex Trader Funding currently prohibits automation; Topstep permits automated strategies in the Trading Combine with caveats; other firms vary. Verify the firm's official rule page before granting mcp:trade. See Prop Firm AI Trading.

Do I need to know C# to use this?

No, for inspection-only workflows. You will want some C# familiarity for NinjaScript authoring through MCP, but the agent does the writing.

What is the difference between mcp:read and mcp:trade?

mcp:read allows inspection only. mcp:trade allows writes. The OAuth scope is enforced at the transport; a mcp:read token cannot place an order regardless of the prompt. See Use mcp:read vs mcp:trade.