n8n · MCP · NinjaTrader 8

Connect n8n to NinjaTrader 8

Workflow automation + CrossTrade MCP. Scheduled risk reports, brief-and-notify chains, multi-tool agent workflows.

See it in action
n8n · crosstrade mcp · sim101

n8n calling CrossTrade MCP tools against a live NinjaTrader 8 account. Run this yourself in 5 minutes →

Why n8n

Why pair n8n with CrossTrade MCP

n8n's built-in MCP Client Tool node attaches to an AI Agent and calls CrossTrade. OAuth 2.1 with Dynamic Client Registration (needs n8n 1.119.0+). Useful for scheduled end-of-day risk emails or webhook-triggered workflows.

Transport MCP Client Tool sub-node, OAuth2 credential with DCR (auto)
Highlights

What this combination unlocks

Scheduled workflows

Cron triggers + AI Agent + MCP Client Tool.

OAuth + DCR

n8n auto-handles client registration.

Webhook-driven

Trigger from any external event.

How it works

The connection chain

n8n
   │  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 n8n?

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

Open setup instructions →
Example prompts

Copy-paste prompts that work today

EOD risk brief Cron 16:30 ET. Agent: pull yesterday's trades and watermarks for each account. Email markdown brief.
FAQ

Common questions

Is n8n a good fit for trading workflows?

Yes for scheduled and event-driven trading automation: cron-triggered EOD risk reports, webhook-triggered alerts, AI-Agent chains that combine CrossTrade tool calls with email/Slack notifications. n8n's built-in MCP Client Tool node handles the AI-Agent-to-CrossTrade plumbing.

Do I really need n8n, or can I just write a Python script?

Python is simpler for one-off scripts. n8n shines when you have multiple trading workflows (scheduled, webhook-triggered, multi-step) and want them managed in a UI with retry/audit/notification built in. If you're running 1-2 scheduled tasks, Python + cron is fine.

Pricing?

MCP nodes work on the free self-hosted Community Edition AND on all n8n Cloud paid tiers (Starter €24/mo, Pro €60/mo, Business €800/mo, Enterprise). The MCP nodes are core, not gated.

Mac, Windows, Linux, Cloud?

All four. Docker (recommended for self-host), npm (npx n8n for trial), or n8n Cloud (managed). 14-day free Cloud trial available.

Which n8n node do I use — MCP Client Tool or MCP Client?

MCP Client Tool (n8n-nodes-langchain.toolmcp) — the sub-node that attaches to an AI Agent's Tool input. The older MCP Client core node is a standalone action node and doesn't work with AI Agents. Easy to confuse since both contain "MCP Client" in the name.

Version cliff for OAuth-protected MCP?

Yes. OAuth2 + Dynamic Client Registration support for MCP arrived in n8n 1.119.0 (Nov 3, 2025). For CrossTrade's OAuth-protected server, you need 1.119.0 or newer. HTTP Streamable transport arrived in 1.104.0 (Jul 2025); MCP Client / Server Trigger nodes shipped in 1.88.0 (Apr 2025).

Headless / unattended workflows — how does OAuth work?

Initial OAuth setup is interactive (a human completes a browser popup once when creating the credential). After that, runs are fully unattended; n8n auto-refreshes tokens on 401 since v1.119.0. The trap: if CrossTrade's refresh token expires (e.g., 90-day idle), unattended workflows silently fail. Solution: ensure the workflow runs at least once inside the refresh-token lifetime.

Can I use n8n for mcp:trade flows?

Technically yes, but be careful — n8n workflows run unattended by design. Default to mcp:read for scheduled work. For mcp:trade flows, add a human approval step (Telegram bot confirmation, Wait node that pings you to approve). Don't let an unattended workflow place orders without a gate.

Connect n8n to NinjaTrader 8 in 5 minutes

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