NinjaTrader MCP Server: Hosted OAuth vs Local MCP
If you've searched for a NinjaTrader MCP server, you've probably seen two paths: build a local Model Context Protocol server that talks to your NT8 install, or use a hosted server like CrossTrade. Local is fine for experiments. CrossTrade is the first production-grade hosted MCP server built specifically for NinjaTrader 8, CrossTrade automation, TradingView webhook workflows, trade copier diagnostics, and funded futures operations.
For real users, hosted wins. For experiments, local is fine.
NinjaTrader 8 is a Windows desktop application. You cannot expose it as a cloud service without something running on the same machine. Both hosted and local MCP solve that problem; they just solve it for different audiences.
- Local MCP for NT8: a developer-controlled MCP server running on the trader's PC. Useful for sandboxed experiments, internal tools, and workflows that never touch live trading permissions.
- Hosted CrossTrade MCP: a CrossTrade-managed endpoint at
https://app.crosstrade.io/v1/api/mcp. OAuth 2.1, scoped permissions, the CrossTrade Add-On bridge, journal and webhook and copier history, Strategy Analyzer parity. Built for production trading.
The job description
An NT8 MCP server gives an AI client typed access to NinjaTrader-related tools. At minimum that means:
- Reading accounts, positions, orders, executions, quotes, and bars.
- Resolving NT8 symbols, methods, and overloads so the agent's generated code compiles.
- Placing, modifying, cancelling, and flattening orders (with the right permission).
- Running NinjaScript compile and Strategy Analyzer backtests.
- Deploying and monitoring strategies.
A production NT8 MCP server adds the operational layer: journal history, add-on activity, copier diagnostics, OAuth, scoped permissions, audit trail, and predictable updates.
NinjaTrader runs on your desktop. That changes the problem.
Cloud brokers like Tradovate have native HTTP APIs. NinjaTrader was built before that paradigm dominated. There is no built-in HTTP or MCP endpoint on NT8 itself. The bridge between an AI client and NT8 must run inside NT8.
CrossTrade's bridge is the CrossTrade Add-On, which has been the bridge that powers webhooks, REST, and copier features for years. MCP is the latest interface that uses it.
What a local MCP server looks like
AI client โโ(stdio or HTTP)โโ> Your local MCP server (Node/Python) โโ> NT8 (NinjaScript)
โ
โโ tokens, config, code
you maintain it all Strengths:
- Full control. You define every tool.
- No subscription cost beyond NT8.
- Good for research where you change the surface frequently.
Costs:
- You write and maintain the bridge.
- You handle auth, scopes, logging, error handling.
- You ship updates when NT8 changes.
- You have no journal, no webhook history, no copier integration unless you write them.
What CrossTrade ships
AI client โโ(OAuth)โโ> https://app.crosstrade.io/v1/api/mcp โโ> CrossTrade Add-On in NT8
โ
โโ scoped tokens (mcp:read, mcp:trade)
โโ typed tool surface (versioned)
โโ journal, webhook signals, copier activity
โโ backtest engine parity with NT8 SA UI Strengths:
- One URL, no local server to maintain.
- OAuth 2.1 with PKCE and dynamic client registration.
- CrossTrade Add-On bridge, already deployed inside NT8.
- Matched-trade journal, TradingView webhook history, add-on activity log: months of operational data the agent can analyze.
- NT8 Strategy Analyzer parity: single backtests are bit-identical to NT8's UI.
- CrossTrade ships updates when NT8 changes.
Costs:
- Elite subscription required for MCP transport.
- The tool surface is curated; not every NT8 internal is exposed.
Hosted vs local at a glance
mcp:read and mcp:tradeCompileNinjaScript(in_memory: true) against live NT8Choose by audience
Use local MCP when
- You are a developer prototyping internally.
- There is no real trading permission involved.
- You change the tool surface frequently and want full control.
- You are running on a single PC with no need for OAuth or multi-client support.
Use hosted CrossTrade MCP when
- Real users on real NT8 installs are involved.
- You need scoped permissions and OAuth consent.
- You want journal, webhook, copier, and Strategy Analyzer context built in.
- You run on funded futures accounts and need a reliable operational surface.
- You want one URL across Claude Desktop, Claude Code, Cursor, ChatGPT, Continue, Cline, and custom clients.
The safety case for hosted
Hosted is not just an ergonomic win; it is a safety win.
- OAuth scope is enforced at the transport. A
mcp:readtoken cannot call write tools. - Tokens are revocable from the CrossTrade AI Clients page.
- CrossTrade's add-on already enforces opposing position protection, auto-reconnect, and the operational constraints traders care about. The MCP server inherits those.
- Updates are coordinated. A breaking NT8 change does not silently break your agent overnight.
Frequently asked questions
What is a NinjaTrader MCP server?
An MCP server that exposes typed tools for AI agents to inspect and control NinjaTrader 8. CrossTrade hosts the production-grade option at https://app.crosstrade.io/v1/api/mcp.
Is CrossTrade MCP the same as a generic trading MCP server?
No. CrossTrade MCP is built specifically for NinjaTrader 8 plus the CrossTrade ecosystem: webhooks, journal, copier, NinjaScript compile, Strategy Analyzer parity.
Can I run a local MCP server alongside the CrossTrade one?
Yes. Most MCP clients support multiple servers. Use CrossTrade for production NT8 workflows and a local server for whatever it does best.
What is the endpoint?
https://app.crosstrade.io/v1/api/mcp. Streamable HTTP. OAuth 2.1 with PKCE and RFC 7591 dynamic client registration.
What does it cost?
MCP requires the Elite subscription tier. REST and WebSocket remain available on Pro.
Skip the local server. Use the hosted one.
One URL, OAuth, every tool typed, journal and webhook context, Strategy Analyzer parity.