X @weis_brian2026-09-14
🚀🚀 Open Beta for NT MCP 🚀🚀
We are opening up access to the NT MCP for all Ninjatrader and Tradovate users this morning!
If you have a NT or TDV user and use an AI Assistant (Claude, ChatGPT, Gamini…etc) or have an AI Agent, you can connect to sim or live.
Docs here:
(NT MCP 公開測試。今早向全部 NinjaTrader 與 Tradovate 用戶開放。只要有 NT 或 Tradovate 帳戶,並使用 AI 助理(Claude、ChatGPT、Gamini 等)或 AI 代理人,就可以連模擬或真實資金。文件在此。)
MCP 是 Model Context Protocol(模型上下文協議)。AI 客戶端經遠端伺服器,用自然語言查帳戶、下單、管風險。現在連上 Live,等於讓 AI 代理人動用真實資金。
開發文件仍寫 “The NinjaTrader MCP server and its trading skills are in beta and aren’t yet generally available.”(MCP 伺服器及交易 Skill 仍在測試,尚未一般供應。)Open Beta 已開。文件仍把正式一般供應寫成未到。
Safety 頁註明 “The NinjaTrader team must supply and approve the formal legal and regulatory disclosures for this page before launch.”(正式法律與監管披露須於上線前由官方核准。)截至本文,正式披露仍待補上。
官方文件現在寫到哪裡
| 項目 | Demo 環境 | Live 環境 |
|---|---|---|
| 資金性質 | 模擬金 | 真實資金 |
| 伺服器 | Demo 專用 endpoint | Live 專用 endpoint |
| 帳戶所在 | Demo 帳戶只存在 Demo 伺服器 | Live 帳戶只存在 Live 伺服器 |
兩個環境可同時連接,但同一個對話必須留在同一個環境;交叉使用會出現 account not found,或打到錯誤環境。有疑問就明示 Demo 或 Live。
怎樣連上 AI 客戶端
傳輸用 Streamable HTTP,無需安裝本機伺服器。授權以 NinjaTrader 憑證走 OAuth 2.1。必須在桌面瀏覽器完成,代理人看不到密碼。
| 客戶端 | 官方連線做法 |
|---|---|
| Claude Code | 命令行以 HTTP 傳輸加入 Demo 伺服器(claude mcp add),再執行 /mcp 選取伺服器完成授權 |
| Claude Desktop | Settings → Connectors → Add custom connector,填 Demo 位址並授權;Skill 在 Customize → Plugins 安裝 |
| ChatGPT | 先開 Developer Mode,入 Settings → Apps → Create app,填 Demo 位址 |
| Codex | Settings → MCP servers,選 Streamable HTTP,填 Demo 位址 |
| Codex CLI | 用 codex mcp add 加入 Demo 伺服器,再執行 /mcp 授權 |
| Cursor | Settings → Cursor Settings → Tools & MCPs,新增 MCP 後 Connect 並授權 |
| 其他客戶端 | 支援遠端 MCP 與 OAuth 者,填 Demo 或 Live 位址完成登入 |
官方唯讀驗證句:”List my NinjaTrader accounts and show my current positions and working orders.”(列出帳戶並顯示目前持倉與進行中委託。)
客戶端應見到 my_portfolio、search_contracts、market_snapshot、place_order。沒見到就是連線或授權未完成。
官方建議的查帳與下單流程
| 步驟 | 工具 | 作用 |
|---|---|---|
| 1 | my_portfolio | 查詢帳戶、倉位、餘額與掛單 |
| 2 | search_contracts | 確認精確的可交易合約 |
| 3 | market_snapshot | 取得報價、合約規格與保證金 |
| 4 | estimate_order | 預檢保證金、費用與可行性;唯讀,與真單同一套檢查 |
| 5 | place_order | 正式送出訂單 |
官方建議先 estimate 再 place。estimate_order 只做評估,實際單(例如平倉)可能通過,評估卻報 InsufficientExcess。
破壞性寫入共六個:place_order、modify_order、cancel_order、close_position、update_risk_settings、dismiss_alert。這些帶 destructiveHint 標記,多數客戶端會先暫停等確認。
create_alert 屬寫入但非破壞、可重試。確認口徑官方兩頁不同:
| 官方頁面 | 寫法 |
|---|---|
| Skills 頁 | “Nothing executes without your approval.”(沒有你的批准,不會真正執行。) |
| Overview 頁 | 視客戶端設定,代理人可能不每次確認就下單 |
兩句都是官方原文;是否逐單確認視乎客戶端設定。
保護單用 place_order 的 profitTarget 與 stopLoss 帶上,都是相對進場價的有號點數偏移。
官方寫明 “Bracket legs are offsets, not absolute prices.”(保護單腿是偏移,不是絕對價格。)modify_order 的價格則是絕對價。
訂單經平台同一個風險引擎,過不了就不會到市場。第一階段查交易權限,失敗回報 blocked。
第二階段查保證金、倉位與連線風險上限,失敗回報 rejected,例如 MaxPosLimitReached。
failed 含 TrackingTimeout(15 秒後停止追蹤)。訂單可能仍在工作,重送前先查 my_portfolio 或 order_details。
帳戶層風控同樣生效。手動單與代理人單共用保證金與上限。
工具列表由伺服器在連線時現場發現,隨帳戶權限與部署而變。官方另有速率限制,寫入比讀取緊,具體次數未公開。
13 項交易 Skill 做甚麼
客戶端要支援 agent-skills。官方點名 Claude Code、Claude Desktop、Codex 與 Cursor。
其他客戶端可連同一個 MCP 直接用工具,但沒有這 13 項 Skill。
運行需 Python 3.10 以上,圖表另需 matplotlib。安裝用官方命令 npx skills add NT-NinjaTrader/mcp-skills。
| 分組 | Skill | 功能 |
|---|---|---|
| Pre-trade | contract-intel | 由商品代碼查當月合約與換月 |
| Pre-trade | pretrade-risk | 按風險預算與停損距離估口數,提案 OCO 保護單 |
| Pre-trade | risk-coach | 行為脈絡建議,只建議不阻擋 |
| Live | position-watchdog | 檢查持倉健康 |
| Live | scale-manager | 加減倉與移動停損 |
| Live | market-context | 整理 VWAP、價值區與波動 |
| Live | alerts-composer | 白話轉成警示表達式 |
| Live | event-watch | 關注經濟日曆 |
| Live | correlation-hedge | 相關性與對沖提案,僅屬資訊 |
| Post-trade | trade-journal | 描述這筆交易發生了甚麼 |
| Post-trade | trade-debrief | 假設性改進討論,非個人化投資建議 |
| Post-trade | trade-replay | 單筆訂單反事實重演,官方寫明不是策略回測 |
| Visualization | chart-render | 繪製 K 線、成交量分佈、權益曲線 PNG |
Skill 不帶跨對話記憶,帳戶狀態一律留在 MCP 伺服器端。警示在 NinjaTrader 或 Tradovate 平台內觸發,App 內通知預設開啟,手機 App 可推送到電話。
能做與不能做
| 類別 | 官方 Safety 與 Tools 頁列明的邊界 |
|---|---|
| 能做 | 讀取帳戶、倉位、委託、餘額與歷史;有對應權限時可下單、改單、取消、平倉、修改風險設定、建立警示 |
| 不能做 | 工具沒暴露的事一律做不到;不能轉資金、不能改登入憑證、不能跨環境;Demo 連線碰不到 Live 帳戶,反之亦然 |
責任歸屬官方一句講清。
“You are ultimately responsible for the trades your AI agent places in your account.”(你最終要為 AI 代理人在帳戶內下的每一筆單負責。)
AI 可能誤解指示、用過期資訊、下錯單或口數出錯。NinjaTrader 不保證第三方 AI 行為。帳戶資料會進入 AI 供應商條款範圍。
期貨帶槓桿,虧損可超過初始保證金。帳戶低於健康標準可能被自動清算,細節見文末 Tradovate 清算政策。
官方減風險清單:先 Demo、設連線風險上限、寫入動作先確認、轉 Live 時縮小規模、保留帳戶層風控、在交易 App 監控、用完就斷線。
MCP 能動的帳戶必須出現在你的 NinjaTrader 帳戶列表。考試或模擬資金帳戶是否允許 AI 或跟單,以該 Prop Firm 官方規則為準,本文不展開。
權限、連線上限與常見故障
Read access 決定可讀資料,例如 View Account、View Positions、Market Data。Risk limits 只做封頂,不授權動作。
四項皆可選、預設關閉,每張開倉單都會檢查。平倉與 flatten 永遠允許。上限以整個帳戶計算,手動單同樣佔額度。
- Max total exposure:跨商品最差未平倉曝險,計淨倉位加較重一側掛單。
- Max traded volume:每個交易所時段成交口數,買賣與掛單都算,來回 2 口計 4,隨合約交易時段換日重置。
- Per-product limits:把以上兩項限定在單一商品。
- Per-contract limits:把以上兩項限定在單一合約。
商品或合約名單是允許名單。列出後連線只能在名單內開倉,未設數字上限也拒名單外。
代理人不能預先讀取連線上限。撞到時 place_order 的錯誤會點名哪一條。查詢或修改去 authorized-apps 頁。
撤銷會立即失效,改風險上限在下次 tool call 生效,改權限在下次 refresh 生效。帳戶缺權限時該工具從列表隱藏,其餘連線仍可用。
Access token 約 80 分鐘。Refresh token 約 26 小時,每次 refresh 會旋轉,失敗時不要覆蓋舊 token。
Refresh 必須帶 resource 參數,指向連上的 MCP 伺服器,否則回 401 invalid_token。Session 約 1 小時無活動結束。合規客戶端會背景自動 refresh。
| 症狀 | 官方處理 |
|---|---|
| 見不到任何工具 | 未連上或授權未完成,用桌面瀏覽器重新連接 |
| account not found | 交叉環境,檢查對話有否混用 Demo 與 Live |
| 用一陣子後停頓 | access token 約 80 分鐘到期,或 session 閒置約 1 小時結束 |
| 自建客戶端 refresh 後立刻 401 | refresh 請求漏了 resource 參數 |
| 單一工具被拒 | 帳戶缺該工具對應的權限 |
| 代理人說看不到風險上限 | 預期行為,連線上限只在 authorized-apps 頁 |
| 被節流 | 撞到速率限制,放慢再重試 |
| 保護單價格奇怪 | 把偏移的保護單腿當成絕對價格 |
以上症狀與處理來自官方 Troubleshooting 頁。
延伸閱讀
現在想試的三個做法
- 免費下載 NinjaTrader,先在平台熟悉期貨環境。
- 等待邀請或進一步測試。
- 已有資格者,依官方文件完成 OAuth 授權與連線,先接 Demo。
Beta 批核不保證。KINFX 與 NinjaTrader 存在聯盟推廣關係;本文根據其官方開發文件整理,非對方撰稿或背書。
參考來源
- Brian Weis(NinjaTrader 創新長)X 帖 Open Beta:https://x.com/weis_brian/status/2099477463176753409(2026-09-14)
- NinjaTrader MCP Overview:https://docs.ninjatrader.com/mcp
- Connect Your AI Agent:https://docs.ninjatrader.com/mcp/connect
- Authentication & Access:https://docs.ninjatrader.com/mcp/authentication
- Tools:https://docs.ninjatrader.com/mcp/tools
- Trading Skills:https://docs.ninjatrader.com/mcp/skills
- Skill Reference:https://docs.ninjatrader.com/mcp/skills-reference
- Workflows:https://docs.ninjatrader.com/mcp/skills-workflows
- Pre-Trade Risk:https://docs.ninjatrader.com/mcp/pre-trade-risk
- Safety & Disclosures:https://docs.ninjatrader.com/mcp/safety
- Troubleshooting:https://docs.ninjatrader.com/mcp/troubleshooting
- Resources:https://docs.ninjatrader.com/mcp/resources
- Tradovate liquidation policy:https://tradovate.com/liquidation-policy/
- Demo MCP 伺服器:https://mcp-demo.tradovateapi.com/mcp;Demo 授權伺服器:https://demo.tradovateapi.com
- Live MCP 伺服器:https://mcp-live.tradovateapi.com/mcp;Live 授權伺服器:https://live.tradovateapi.com
- 官方 Skills marketplace(GitHub):https://github.com/NT-NinjaTrader/mcp-skills
- NinjaTrader 官方支援:https://support.ninjatrader.com/
Demo 環境使用模擬資金。期貨交易帶槓桿,虧損可超過初始保證金,不保證賺錢。
KINFX 與 NinjaTrader 存在聯盟推廣關係,與部分期貨自營商存在聯盟合作關係,詳見 linktr.ee/kinfx。本文非任何一方撰稿或背書,亦不存在僱傭關係。