JetBrains · MCP · NinjaTrader 8

Connect JetBrains AI / Junie to NinjaTrader 8

JetBrains AI Assistant and Junie (agentic) both support MCP. Best for Rider users maintaining NinjaScript C#.

See it in action
jetbrains ai / junie · crosstrade mcp · sim101

JetBrains AI / Junie calling CrossTrade MCP tools against a live NinjaTrader 8 account. Run this yourself in 5 minutes →

Why JetBrains AI / Junie

Why pair JetBrains AI / Junie with CrossTrade MCP

JetBrains AI Assistant is the chat-style assistant; Junie is the agentic product. Both speak MCP. For trading workflows where you also maintain NinjaScript in Rider, this is the most direct integration path. Junie has better-documented OAuth.

Transport Settings → Tools → AI Assistant → MCP (or /mcp in Junie chat)
Highlights

What this combination unlocks

Junie OAuth flow

Junie pops "Authorization required" status with an Authorize button.

IDE-native

IntelliJ, PyCharm, Rider, WebStorm, GoLand — all use the same plugin.

How it works

The connection chain

JetBrains AI / Junie
   │  OAuth-authorized tool call
   ▼
CrossTrade hosted MCP server   (https://app.crosstrade.io/v1/api/mcp)
   │
   ▼
CrossTrade Add-On running inside NT8 on your PC
   │
   ▼
NinjaTrader 8

One URL, one consent screen, one read-only first prompt. The MCP server is hosted by CrossTrade; you don't run anything beyond NT8 + the CrossTrade Add-On.

Ready to set up JetBrains AI / Junie?

The full step-by-step setup lives on a dedicated page. Verified against JetBrains's current docs.

Open setup instructions →
Example prompts

Copy-paste prompts that work today

Single-goal Build a working MES EMA cross strategy. Compile against my install. Stop at green backtest.
FAQ

Common questions

Is JetBrains AI a good fit for trading on the JVM stack?

Yes, especially if you're maintaining NinjaScript C# in Rider, or if your trading services run on the JVM (Java/Kotlin) and you already pay for an All Products Pack. JetBrains AI Assistant integrates trading agent capabilities right next to your code.

Do I need JetBrains AI, or does Cursor / Cline work?

If you live in JetBrains IDEs (IntelliJ, PyCharm, Rider, GoLand), the JetBrains AI plugin is the most native integration. Cursor and Cline are VS Code-based, so switching IDEs just for them isn't worth it. Use what your team uses.

AI Assistant vs Junie — which speaks MCP?

Both. AI Assistant exposes MCP via Settings → Tools → AI Assistant → MCP. Junie exposes it via the /mcp slash command in the Junie chat. Junie's MCP UX is more polished (documents headers and OAuth explicitly); AI Assistant's docs only show {"url": "..."} without headers.

Plan / pricing?

AI Free (3 credits per 30 days, very limited), AI Pro ($10/mo individual), AI Ultimate ($30/mo individual), AI Enterprise (custom). Junie is included with AI Pro and above. Code completion is free; chat and agent actions consume credits.

Which JetBrains IDEs work?

IntelliJ Ultimate, PyCharm Pro, WebStorm, GoLand from 2024.3.2+. IntelliJ Community, PhpStorm, RubyMine, RustRover from 2025.1+. CLion and Rider from 2025.2.1+. Android Studio is supported. For Rider users on NinjaScript C#, JetBrains AI is the most natural integration path.

AI Assistant doesn't show a headers field — how do I auth?

AI Assistant's current docs only show {"url": "..."} for remote HTTP MCP, with no documented headers or OAuth flow. Two workarounds: use Junie (which documents both), or wrap CrossTrade with mcp-remote as a stdio proxy in AI Assistant's config.

Stdio command fails — "command not found" in JetBrains?

JetBrains IDEs have a different PATH from your shell. Use absolute paths in the command field (run which npx in a terminal and paste the full path). This trips up almost every JetBrains MCP setup.

Kotlin services calling CrossTrade?

Yes — Kotlin compiles to JVM bytecode and can call java.net.http.HttpClient or any Java HTTP library. Kotlin coroutines pair beautifully with CrossTrade's WebSocket. See our Java page for the bare API examples.

Connect JetBrains AI / Junie to NinjaTrader 8 in 5 minutes

Free Sim101 walkthrough. Read-only first. Upgrade scope only when a real workflow needs it.