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:readscope on first connection - The CrossTrade Add-On connected to NinjaTrader 8
- A first read-only prompt you can copy and paste
Prerequisites
| Requirement | Detail |
|---|---|
| CrossTrade subscription | Elite |
| CrossTrade Add-On | v1.13.0 or higher |
| NinjaTrader 8 | Running on the same machine, broker connection up |
| ChatGPT environment | A plan/client that supports remote MCP connectors (availability changes by plan and region) |
| Test account | Sim101 (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 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
- Open NinjaTrader 8.
- Open the CrossTrade Add-On panel inside NT8.
- Confirm the status shows connected and the version is
v1.13.0or 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
- Open your CrossTrade account page in a browser.
- Confirm you are on the Elite plan. Non-Elite accounts can authorize but
tools/callreturns HTTP 403. - 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.
Step 4: Complete OAuth consent
- The client opens a browser tab pointing at CrossTrade's OAuth consent screen.
- Sign in if you are not already signed in.
- Review the requested scope. Choose
mcp:readfor the first run. - Click Allow.
- 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.
- Revoke the
mcp:readgrant from the AI Clients page. - Reauthorize with
mcp:trade. - Use a strict system prompt that requires state checks and explicit confirmation gates before any write.
- Run the test on Sim101 only. Never use a funded account as the testbed.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| 401 unauthorized | Token expired, never issued, or revoked. | Reauthorize from the AI Clients page. |
403 with MCP requires an Elite subscription | The account is below Elite. | Upgrade at Subscriptions. |
403 with insufficient_scope | Tool needs mcp:trade but the token has mcp:read. | Either rewrite the prompt to stay read-only or reauthorize at mcp:trade. |
| 408 timeout | NT8 closed or add-on disconnected. | Open NT8, confirm the add-on panel shows connected. |
| No tools listed | OAuth consent failed or the client cached an old metadata. | Remove and re-add the MCP server. Reauthorize. |
| OAuth loop | Stale grant. | Revoke from AI Clients and reauthorize. |
| Add-on version too old | Below 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.
Related
- Main site: ChatGPT for NinjaTrader 8
- Docs: ChatGPT and CrossTrade MCP Authentication
- Docs: MCP Client Configuration Examples
- Learn: Authenticate the CrossTrade MCP Server
- Learn: First Read-Only AI Trading Agent
- Learn: Vibe Code a NinjaScript Strategy
- Learn: Troubleshoot CrossTrade MCP 401, 403, and 408 Errors