TECH ARTICLE

dSPACE MCP Hub:
AI 代理驅動的工程工作流程完整指南

深入解析 dSPACE MCP Hub 的安裝配置、四大 MCP Server(ControlDesk、VEOS、ConfigurationDesk & Bus Manager、SystemDesk)的全部工具能力,以及在控制器開發與 HIL/SIL 測試上的實務應用場景。

dSPACE MCP Hub 是 dSPACE 官方推出的 Model Context Protocol(MCP)Server 統一集合,透過開放的 MCP 標準協定,將 GitHub Copilot、Claude、ChatGPT 等 AI 助理直接連接至 dSPACE 工具鏈。它解決了車用軟體開發中「工具鏈碎片化」的痛點——讓 AI 代理能夠橫跨需求(Requirements)、架構(Architectures)、軟體開發(Software Development)、模擬(Simulation)與驗證(Validation)等多個工程階段,自主發起並執行完整的工作流程,同時保持工程師在迴路中(Engineer-in-the-Loop)的審查與核准機制。

1. dSPACE MCP Hub 架構總覽

dSPACE MCP Hub 目前包含四個核心 MCP Server,全部以 Apache License 2.0 開源授權發佈於 GitHub(dspace-group 組織),各自透過 COM 自動化介面或 CLI 控制對應的 dSPACE 工具:

MCP Server 對應工具 核心用途 工具數量 整合方式
ControlDesk MCP ControlDesk 2025-A 以上 實驗管理、量測記錄、線上校調、匯流排監控、ECU 診斷 93 個工具
(14 個功能域)
COM 自動化
VEOS MCP VEOS(PC-based 模擬) 以自然語言控制模擬器、載入 OSA、訊號連接、日誌分析 10 個工具 VEOS CLI
ConfigurationDesk & Bus Manager MCP ConfigurationDesk / Bus Manager 即時應用配置、硬體 I/O、匯流排通訊、建置自動化 77 個工具、11 個資源、15 個提示 COM 自動化
SystemDesk MCP SystemDesk AUTOSAR 架構匯入與驗證、專案生命週期管理 7 個工具 COM 自動化

運作原理:每個 MCP Server 都以 STDIO(標準輸入輸出)模式作為本機子行程執行,並非網路伺服器,也不支援多使用者。AI 助理(MCP Client)透過 JSON-RPC 呼叫 Server 提供的工具(Tools),Server 再透過 COM 介面或 CLI 操作實際的 dSPACE 軟體。所有動作皆可由工程師逐一審查核准,確保「Engineers-in-the-Loop」的安全工作模式。

2. 安裝前準備(共同先決條件)

四個 MCP Server 的安裝流程高度一致,開始前請確認以下環境需求:

需求項目 說明
作業系統 64 位元 Windows 10 / 11(COM 自動化限制;VEOS MCP 的開發者模式亦支援 Linux)
dSPACE 產品 本機已安裝且具有效授權的對應 dSPACE 工具(ControlDesk / VEOS / ConfigurationDesk / SystemDesk),並已註冊 COM 自動化
uv 套件管理器 Astral 出品的 Python 套件與專案管理工具,用於建立隔離的執行環境(從原始碼安裝時必要)
Python 64 位元 Python(ControlDesk MCP 需 3.11+、VEOS MCP 需 3.12+、SystemDesk MCP 需 3.10+;使用預編譯執行檔則免安裝)
MCP 相容 AI 客戶端 VS Code + GitHub Copilot、Claude Desktop、Claude Code、Cursor 或其他相容 MCP 的 AI 代理

安裝 uv 套件管理器(PowerShell):

# 於 PowerShell 中執行官方安裝指令
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# 驗證安裝
uv --version

3. 通用安裝流程(五步驟)

dSPACE MCP Hub 官方定義的標準安裝流程如下,適用於全部四個 Server:

01

安裝 uv 工具

依照 Astral 官方文件安裝 uv,它會自動處理 Python 版本與相依套件的隔離環境。

02

Clone 對應儲存庫

從 GitHub dspace-group 組織 clone 所需的 MCP Server 儲存庫至本機資料夾。

03

執行 uv sync

在儲存庫根目錄執行 uv sync 安裝所有相依套件並建立虛擬環境。

04

註冊 .cmd 啟動器

將儲存庫內的 .cmd 啟動檔(或預編譯 .exe)註冊到 MCP Host 的設定檔(如 .vscode/mcp.json)。

05

重新載入並驗證

在 MCP Host 中重新載入 MCP Server 清單,確認連線成功且工具(Tools)已列出。

3.1 MCP 客戶端配置範例(VS Code + GitHub Copilot)

在工作區建立 .vscode/mcp.json,以下為同時註冊四個 dSPACE MCP Server 的完整範例:

{
  "servers": {
    "controlDesk": {
      "type": "stdio",
      "command": "C:/repos/ControlDeskMCP/ControlDeskMCP.exe",
      "args": [],
      "env": { "CONTROLDESK_VERSION": "2026-A" }
    },
    "VeosMCP": {
      "type": "stdio",
      "command": "C:\\repos\\VeosMCP\\VeosMCP.cmd",
      "args": ["--veos-version", "26.1"]
    },
    "configurationdesk-mcp": {
      "type": "stdio",
      "command": "C:\\repos\\ConfigurationDeskBusManagerMCP\\ConfigurationDeskMCP.cmd",
      "args": []
    },
    "SystemDeskMCP": {
      "type": "stdio",
      "command": "C:\\repos\\SystemDeskMCP\\SystemDeskMCP.cmd",
      "args": []
    }
  }
}

提示:Claude Desktop 使用 claude_desktop_config.json(結構為 mcpServers 鍵)、Claude Code 使用 claude mcp add 指令或 .mcp.json、Cursor 使用 .cursor/mcp.json,設定內容(command / args / env)與上述範例相同,僅外層格式略有差異。

4. 各 MCP Server 安裝配置細節

4.1 ControlDesk MCP

  • 版本需求:ControlDesk 2025-A 以上(官方建議 2026-A);開發模式需 64 位元 Python 3.11+。
  • 安裝方式 A(建議)— 預編譯執行檔:從 GitHub Releases 下載 ControlDeskMCP.exe 與 ControlDeskMCP.exe.sha256,執行檔已內建 Python 執行環境與所有相依套件,無需另行安裝。
  • 安裝方式 B — 原始碼:clone 儲存庫後執行 uv sync(開發用途加 --extra dev)。
  • 版本指定:透過環境變數 CONTROLDESK_VERSION(例如 2026-A)指定要操作的 ControlDesk 安裝版本;未設定時自動偵測最新版本。
  • 工具清單驗證:執行 ControlDeskMCP.cmd --list-tools 可離線列出全部工具。

下載後建議驗證檔案完整性:

# 計算 SHA256 並與 .sha256 檔案內容比對
(Get-FileHash .\ControlDeskMCP.exe -Algorithm SHA256).Hash

4.2 VEOS MCP

  • 版本需求:本機已安裝 dSPACE VEOS;開發模式需 Python 3.12+。
  • 安裝方式 A — 預編譯發行版(僅 Windows):從 GitHub Releases 下載 veos-mcp-windows.zip,解壓縮取得 veos-mcp.exe 後直接註冊至 MCP 客戶端。
  • 安裝方式 B — 開發者模式(Windows / Linux):clone 儲存庫後執行 uv sync(完整開發環境用 uv sync --extra dev)。
  • 啟動參數:--veos-version <版本>(如 26.1 或 26-A)指定目標 VEOS 安裝;或以 --veos-bin-path <路徑> 直接指向 VEOS 的 /bin 資料夾。

4.3 ConfigurationDesk & Bus Manager MCP

  • 版本需求:64 位元 Windows 10/11;ConfigurationDesk 已安裝、具有效授權並註冊 COM 自動化;Python 與 ConfigurationDesk 的版本相容性請參照儲存庫內的相容性矩陣文件。
  • 安裝指令:此儲存庫採 monorepo 結構,需使用完整同步參數。
# 一般使用(不含開發工具)
uv sync --frozen --all-packages --no-dev

# 貢獻者模式(含 Ruff、pytest 等開發工具)
uv sync --frozen --all-packages

注意:Server 在未安裝 ConfigurationDesk 的環境下仍可列出工具清單與版本資訊,但所有實際自動化呼叫都需要本機有授權的 ConfigurationDesk 安裝。若 COM 操作失敗,請先關閉 ConfigurationDesk 中的阻塞對話框(Blocking Dialog)再重試。完整工具參考文件位於儲存庫的 docs/tools/README.md(各域工具參考)與 docs/prompts/tool-map.md(77 個工具與提示的完整對應表)。

4.4 SystemDesk MCP

  • 版本需求:本機已安裝且具有效授權的 SystemDesk;Python 3.10+。
  • 安裝指令:於儲存庫根目錄執行 uv sync(開發用途加 --extra dev)。
  • 啟動順序:所有工具呼叫前必須先執行 start_systemdesk(),否則後續操作會失敗。

5. ControlDesk MCP 能力詳解(14 個功能域、93 個工具)

ControlDesk MCP 透過 COM 自動化完整驅動 ControlDesk 的實驗與量測校調工作流程,並採用獨特的「兩層工具模型」(Two-Tier Tool Model):主要工具(Main Tools,涵蓋應用程式生命週期、專案/實驗、平台連線)永遠可見;附加工具(Add-On Tools)透過各域的 *_discover 探索工具按需動態載入,以維持 AI 代理精簡的上下文視窗。閒置的附加工具域在 120 秒後自動卸載,但有狀態的工具域(匯流排、量測、記錄器)在活動期間絕不自動卸載。完整目錄亦可透過 MCP Resources controldesk://server/tool-catalog 與 controldesk://server/tool-groups 查詢。以下為全部 14 個功能域、93 個工具的完整清單:

5.1 應用程式生命週期(5 個工具)

工具名稱能力說明
controldesk_app_start_or_attach啟動新的 ControlDesk 執行個體,或附掛至已執行中的個體
controldesk_app_stop優雅地關閉 ControlDesk,可選擇是否儲存專案
controldesk_app_get_logs回傳 ControlDesk 應用程式日誌檔路徑,供診斷逾時或異常退出
controldesk_app_window_manage管理主視窗:可見性、狀態、位置、全螢幕
controldesk_app_discover回傳未預設載入的應用程式管理操作目錄

5.2 專案與實驗管理(8 個工具)

工具名稱能力說明
controldesk_project_list_recent依最後修改時間列出所有專案根目錄下最近使用的專案
controldesk_project_open依名稱開啟現有專案並設為使用中專案
controldesk_project_root_manage管理專案根資料夾:新增、啟用、列出、移除
controldesk_project_manage專案生命週期核心操作:建立、儲存、關閉、移除、查詢資訊、配置、列出
controldesk_project_backup_manage專案備份與還原(ZIP 封存檔)
controldesk_project_experiment_manage實驗(Experiment)生命週期:建立、啟用、列出、移除、查詢資訊
controldesk_project_experiment_io_manage實驗 I/O 與複製操作:匯出、匯入、重新命名、另存新檔
controldesk_project_discover回傳未預設載入的專案管理工具目錄

5.3 平台與線上連接(7 個工具)

工具名稱能力說明
controldesk_platform_connect建立 ControlDesk 與 ECU/平台間的實體或虛擬通訊連線(VEOS 平台會自動透過 CLI 啟動 VEOS)
controldesk_platform_disconnect釋放與指定 ECU/平台的通訊連線
controldesk_platform_manage平台配置的變更型操作(Mutating Only)
controldesk_platform_query唯讀查詢:平台列表、詳細資訊、連線狀態、介面列舉
controldesk_platform_admin_manage平台管理性操作:移除、重新命名、啟用/停用切換
controldesk_platform_hardware_manage硬體平台註冊表管理:註冊、清除、列出、重新整理
controldesk_platform_discover回傳未預設載入的平台操作目錄

5.4 量測管理(9 個工具)

工具名稱能力說明
controldesk_measurement_start在所有已連接平台上啟動量測,開始取樣全部已配置訊號
controldesk_measurement_stop停止所有平台的量測(記錄器一併自動停止)
controldesk_measurement_manage量測配置與訊號的核心變更型操作
controldesk_measurement_query唯讀查詢量測狀態與訊號
controldesk_measurement_raster_manage管理量測柵格(Raster,取樣間隔)
controldesk_measurement_trigger_manage管理觸發規則與記錄器啟停條件
controldesk_measurement_recording_manage管理資料池(Data Pool)中的記錄與量測書籤
controldesk_measurement_data_logger_manage管理量測資料管理中的資料記錄器(Data Logger)生命週期
controldesk_measurement_discover回傳未預設載入的量測操作目錄

5.5 線上校調(7 個工具)

工具名稱能力說明
controldesk_calibration_start在使用中實驗的所有平台上同時啟動線上校調
controldesk_calibration_stop停止所有平台的線上校調
controldesk_calibration_manage校調頁(Calibration Page)的變更型操作
controldesk_calibration_query唯讀查詢線上校調狀態
controldesk_proposed_calibration_manage管理建議校調(Proposed Calibration)工作階段生命週期
controldesk_calibration_page_manage管理 ECU 校調頁複製操作(如 Working Page ↔ Reference Page)
controldesk_calibration_discover回傳未預設載入的校調操作目錄

5.6 變數管理(7 個工具)

工具名稱能力說明
controldesk_variable_find依名稱或完整連接路徑在使用中變數描述檔內定位變數/訊號(模糊時透過 resolution_details 選取候選)
controldesk_variable_read從 ECU 讀取變數目前值
controldesk_variable_write將新值寫入 ECU 工作頁(Working Page)上的變數
controldesk_variable_list變數列舉操作:包含陣列元素與變數群組瀏覽
controldesk_variable_data_set_manage管理校調工作階段的 ECU 記憶體頁啟用(資料集管理)
controldesk_variable_description_manage管理平台的變數描述檔(A2L 校調資料庫)
controldesk_variable_discover回傳未預設載入的變數管理操作目錄

5.7 儀表管理(5 個工具)

工具名稱能力說明
controldesk_instrument_list列舉使用中佈局上的儀表,或列出儀表庫中可用的儀表類型
controldesk_instrument_query唯讀查詢儀表詳細中繼資料,包含訊號連接資訊
controldesk_instrument_manage儀表變更型操作:新增、移除、移動、配置、排列
controldesk_instrument_signal_manage將變數/訊號連接至儀表或斷開連接(支援多種儀表類型)
controldesk_instrument_discover回傳未預設載入的儀表操作目錄

5.8 佈局管理(5 個工具)

工具名稱能力說明
controldesk_layout_list列舉目前開啟實驗中的所有佈局(Layouts)
controldesk_layout_query唯讀查詢佈局中繼資料
controldesk_layout_manage佈局生命週期與配置的變更型操作
controldesk_layout_io_manage佈局檔案 I/O:匯出/匯入佈局與連接檔
controldesk_layout_discover回傳未預設載入的佈局操作目錄

5.9 主記錄器(Recorder Main,7 個工具)

工具名稱能力說明
controldesk_recorder_main_start啟動主記錄器,開始將取樣訊號寫入配置的 MF4 輸出檔
controldesk_recorder_main_stop停止主記錄器,完成並關閉開啟中的 MF4 檔案
controldesk_recorder_main_manage記錄器配置與觸發的變更型操作
controldesk_recorder_query唯讀查詢主記錄器狀態(Idling / WaitingForTrigger / Running)
controldesk_recorder_signal_manage管理記錄器訊號清單:加入、移除、列出訊號
controldesk_recorder_config_manage記錄器配置檔的匯出與匯入
controldesk_recorder_discover回傳未預設載入的記錄器操作目錄

5.10 匯流排記錄(Bus Logging,9 個工具)

工具名稱能力說明
controldesk_bus_logger_create在指定的實體匯流排存取點上建立新的匯流排記錄器
controldesk_bus_logger_configure配置記錄器所有設定:輸出檔路徑、記錄時長、格式選項、檔案滾動(File Rolling)行為
controldesk_bus_logger_manage匯流排記錄器生命週期的變更型操作
controldesk_bus_logger_query唯讀查詢匯流排記錄器狀態
controldesk_bus_logger_admin_manage匯流排記錄器管理性操作
controldesk_bus_filter_create在指定的實體匯流排存取點上建立訊息過濾器
controldesk_bus_filter_configure配置過濾規則:方向(通過/阻擋)與訊息 ID/遮罩條件
controldesk_bus_filter_manage匯流排過濾器生命週期管理
controldesk_bus_logging_discover回傳未預設載入的匯流排記錄操作目錄

5.11 匯流排監控(Bus Monitoring,7 個工具)

工具名稱能力說明
controldesk_bus_monitor_create在指定的實體匯流排存取點上建立匯流排監控器
controldesk_bus_monitor_configure配置監控顯示與緩衝行為
controldesk_bus_monitor_manage監控器生命週期的變更型操作
controldesk_bus_monitor_query唯讀查詢匯流排監控器
controldesk_bus_monitor_save將目前的監控緩衝內容儲存為日誌檔
controldesk_bus_monitor_load_data將先前儲存的日誌檔載入監控緩衝區檢視
controldesk_bus_monitor_discover回傳所有可用的匯流排監控操作目錄

5.12 匯流排回放(Bus Replay,6 個工具)

工具名稱能力說明
controldesk_bus_replay_create在指定的實體匯流排存取點上建立回放,用於傳送已記錄的訊框
controldesk_bus_replay_configure配置回放設定:來源日誌檔路徑、回放模式與傳輸參數
controldesk_bus_replay_manage回放生命週期管理:啟動、停止
controldesk_bus_replay_query唯讀查詢回放狀態,支援分頁列舉
controldesk_bus_replay_admin_manage回放管理性操作:移除、清除、啟用切換、重新命名
controldesk_bus_replay_discover回傳未預設載入的匯流排回放操作目錄

5.13 ECU 診斷(6 個工具)

工具名稱能力說明
controldesk_ecu_diagnostics_setup為 Diagnostic2 平台配置 ODX 診斷資料庫
controldesk_ecu_diagnostics_link_setup管理車輛選擇、邏輯鏈路(Logical Link)設定與介面配置
controldesk_ecu_diagnostics_db_manage管理個別 ODX 資料庫檔案操作
controldesk_ecu_diagnostics_vehicle_manage管理 Diagnostic2 平台上的車輛選擇
controldesk_ecu_diagnostics_link_manage管理邏輯鏈路選擇與介面配置
controldesk_ecu_diagnostics_discover回傳未預設載入的 ECU 診斷操作目錄

5.14 工具視窗管理(5 個工具)

工具名稱能力說明
controldesk_tool_window_list列舉目前 ControlDesk 執行個體中的所有工具視窗(面板)
controldesk_tool_window_show顯示並啟用指定名稱的工具視窗
controldesk_tool_window_manage管理工具視窗狀態與停駐(Docking)的變更型操作
controldesk_tool_window_query唯讀查詢:停駐狀態、存在性檢查、幾何資訊
controldesk_tool_window_discover回傳未預設載入的工具視窗操作目錄
  • 結構化錯誤回報: 每個工具呼叫都回傳含錯誤碼、可重試指標(Retryability)與復原提示(Recovery Hints)的結構化結果,讓 AI 代理能自主判斷後續動作。
  • 典型工作流程: 啟動/附掛 ControlDesk → 開啟專案 → 管理並連接平台 → 執行量測/校調/記錄 → 停止進行中的操作 → 斷開平台 → 關閉應用程式。

6. VEOS MCP 能力詳解(10 個工具)

VEOS MCP 讓 LLM 以自然語言直接控制 dSPACE VEOS PC-based 模擬器,全部 10 個工具涵蓋模擬生命週期、系統拓撲檢視、訊號連接修改與日誌分析:

類別 工具名稱 能力說明
模擬器控制 veos_load 載入 .osa(Offline Simulation Application)模擬模型至 VEOS 模擬器
veos_start 啟動已載入的 VEOS 模擬
veos_stop 停止執行中的 VEOS 模擬
veos_apply_config 在不啟動模擬的情況下套用模擬器配置:停止時間(stop_time)、加速因子(acceleration_factor)、IP 位址、日誌設定
veos_status_info 取得模擬器目前狀態資訊(唯讀)
系統拓撲檢視 veos_get_all_signals_and_ports 擷取模擬系統中所有訊號、埠(Ports)及其連接關係(唯讀)
系統修改 veos_add_signal_connections 以 JSON 規格新增訊號連接
veos_remove_signal_connections 以 JSON 規格移除訊號連接
日誌存取 veos_list_all_available_log_files 列出所有可用的 VEOS 日誌檔(唯讀)
veos_get_log_file 讀取指定日誌檔內容,供 AI 進行錯誤分析與診斷(唯讀)

7. ConfigurationDesk & Bus Manager MCP 能力詳解(77 個工具)

此 Server 是四者中規模最大的,提供 77 個工具、11 個資源(Resources)與 15 個提示(Prompts),完整覆蓋 SCALEXIO / MicroAutoBox III 即時應用與 VEOS 虛擬驗證應用的配置與建置流程,以及 Bus Manager 的匯流排通訊配置。以下依官方 tool-map.md 文件分六大群組完整列出全部 77 個工具:

7.1 啟動與生命週期(7 個工具)

工具名稱能力說明
start_configurationdesk啟動或附掛至 ConfigurationDesk 應用程式
stop_configurationdesk儲存變更並關閉應用程式
get_application_status顯示使用中的專案位置、專案與應用
save_project在高影響變更前儲存使用中專案
undo復原最近一次支援的配置變更
redo重做最近一次復原的配置變更
diagnose_connection排除啟動連線問題

7.2 專案與應用管理(14 個工具)

工具名稱能力說明
set_project_root設定使用中的專案位置(Project Root)
create_project建立新專案
open_project列出並開啟現有專案
close_project儲存並關閉使用中專案
remove_project從 ConfigurationDesk 移除專案
list_projects顯示可用專案清單
get_project_path顯示使用中專案資料夾路徑
backup_project建立專案封存檔(備份)
open_project_from_backup從封存檔還原專案
add_application新增並啟用新應用(Application)
activate_application列出並啟用現有應用
remove_application從專案移除應用
list_applications顯示使用中專案內的應用清單
list_configuration在進行變更前顯示完整配置樹

7.3 通訊矩陣與匯流排配置(17 個工具)

工具名稱能力說明
add_communication_matrix載入通訊資料庫檔案(DBC、ARXML 等)
remove_communication_matrix移除已載入的通訊矩陣
list_matrices依叢集(Cluster)與 ECU 顯示已載入的矩陣
find_matrix_elements在階層中定位特定 TX PDU 或訊號
set_matrix_element_property設定訊號初始值等矩陣元素屬性
create_bus_configuration建立新的匯流排配置(Bus Configuration)
remove_bus_configuration移除匯流排配置
list_bus_configurations顯示目前的匯流排配置清單
assign_matrix_to_bus_config將 PDU 指派至匯流排配置
assign_ecu_to_bus_config將 ECU 指派至匯流排配置(模擬/殘餘總線角色)
add_feature_to_bus_element為匯流排元素加入功能特性,如 BusISignalValueAccess(訊號值存取)
remove_bus_config_elements從配置中移除 ECU 或訊號
generate_bus_containers從匯流排配置產生 BSC(Bus Simulation Container)輸出
find_bus_config_elements定位功能埠(Function Ports)等配置元素
assign_bus_config_to_application_process將匯流排配置連結至應用處理程序(Application Process)
set_function_port_property配置功能埠介面屬性
set_bus_config_element_property設定匯流排功能特性的覆寫值(Overwrite Values)

7.4 模型與訊號鏈(12 個工具)

工具名稱能力說明
add_model加入並分析 Simulink 模型檔案(行為模型)
replace_model以另一個模型替換現有模型(保留連接)
remove_model移除已配置的模型
analyze_models分析已載入的模型,為埠配置做準備
create_application_process為 VEOS 應用建立週期性處理程序
list_models顯示已載入的模型與檔案路徑
add_model_to_signal_chain將模型的所有埠曝露至訊號鏈
add_model_port_to_signal_chain曝露單一指定名稱的模型埠
list_model_ports顯示模型可用的埠名稱
list_io_function_block_types顯示支援的類比與數位 I/O 功能塊類型
add_io_function_block將 I/O 功能塊加入配置
connect_function_block_port_to_model_port將 I/O 功能塊埠連接至模型埠

7.5 硬體與匯流排存取(19 個工具)

工具名稱能力說明
add_hardware_platform以 IP 位址註冊實體 SCALEXIO 硬體
import_hardware_topology從檔案匯入硬體拓撲
scan_hardware硬體變更後重新掃描實體平台
remove_hardware從使用中專案移除平台
list_platforms顯示已註冊的實體平台
refresh_platforms檢查已註冊平台的目前狀態
add_hardware_element將支援的硬體元素(板卡)加入拓撲
add_application_processing_unit為 VEOS 工作流程加入處理單元
create_io_function_block建立實體 CAN/匯流排 I/O 功能塊
set_io_function_block_property設定硬體屬性,如鮑率(Baud Rate)
list_io_function_block_properties顯示支援的屬性與可用值
list_bus_access_requests顯示匯流排配置的存取請求
assign_bus_access將匯流排存取請求指派至功能塊
list_assignable_channel_sets顯示可指派的實體通道選項
assign_channel_set將特定實體通道指派至功能塊
auto_assign_channel_set自動選擇符合條件的通道
assign_hardware_automatically自動將硬體資源指派給所有 I/O 功能塊
auto_connect_matching_io_function_blocks_to_model_ports自動連接名稱相符的 I/O 功能塊與模型埠
create_preconfigured_application_process建立模型專用的預配置應用處理程序

7.6 工作視圖與建置(8 個工具)

工具名稱能力說明
create_working_view建立具名工作視圖以組織訊號連接
list_working_views顯示可用的工作視圖
remove_working_view移除單一工作視圖
clear_all_working_views移除所有可拋棄的工作視圖
export_working_view將視圖配置匯出為 XML 檔案
check_conflicts檢查配置衝突(建置前必要步驟)
build_application產生建置輸出(RTA / OSA),不含下載與啟動
get_build_result顯示最新建置結果的目錄路徑

建議操作順序:start_configurationdesk() → 建立或開啟專案 → 依需求套用各功能域工具(模型、硬體、匯流排配置等)→ check_conflicts() → build_application() → close_project() → stop_configurationdesk()。此外 Server 還提供 15 個引導式提示(Prompts),例如殘餘總線配置引導,可讓 AI 依標準流程一步步完成複雜配置。

8. SystemDesk MCP 能力詳解(7 個工具)

SystemDesk MCP 將 SystemDesk 定位為 AI 生成 AUTOSAR 架構的驗證夥伴(Validation Partner):AI 代理產出的 ARXML 架構檔案可直接匯入 SystemDesk 進行標準符合性驗證,形成「生成 → 匯入 → 驗證 → 修正」的閉環。全部 7 個工具如下:

工具名稱 能力說明
start_systemdesk() 啟動 SystemDesk 並建立 COM 連線(必須最先執行)
get_systemdesk_status() 回傳 SystemDesk 目前狀態
create_project(project_path, project_name) 在指定路徑建立新的 SystemDesk 專案
import_autosar_file(file_path) 將 AUTOSAR 檔案匯入目前開啟的專案(目前僅支援 .arxml 格式)
validate_autosar(output_format) 依 AUTOSAR 設計規則驗證目前專案,結果可輸出為 markdown 或 json,便於 AI 解析驗證錯誤並自動修正 ARXML
close_project(save_project=True) 關閉目前開啟的專案(可選擇是否儲存)
close_systemdesk(save_project=True) 關閉 SystemDesk 並釋放 COM 連線

標準工作序列:Start → Create/Open Project → Import AUTOSAR → Validate → Close Project → Close SystemDesk。

9. 實務應用:控制器開發與測試場景

以下從資深 dSPACE 工程實務的角度,說明 MCP Hub 在控制器開發 V 模型各階段的具體應用方式。每個場景都標註了所使用的 MCP Server 與關鍵工具,可直接作為導入時的參考藍圖。

9.1 AUTOSAR 軟體架構開發:AI 生成 + 自動驗證閉環

使用:SystemDesk MCP

傳統上撰寫 SWC(Software Component)的 ARXML 描述檔費時且容易違反 AUTOSAR Schema 規則。導入 MCP 後的迭代流程:

  1. 工程師以自然語言描述需求(例如「建立一個含 Sender-Receiver 介面的馬達控制 SWC,週期 10 ms Runnable」),AI 代理直接生成 ARXML。
  2. AI 呼叫 start_systemdesk() → create_project() → import_autosar_file() 將生成的 ARXML 匯入 SystemDesk。
  3. 呼叫 validate_autosar(output_format="json") 取得結構化驗證報告——JSON 格式讓 AI 能精確解析每一條違規(缺少的 Port Interface 參照、無效的資料型別對應等)。
  4. AI 依報告自動修正 ARXML,重新匯入驗證,直到零錯誤——整個迭代無需人工開啟 SystemDesk GUI。
  5. 同樣的流程也適用於供應商交付物驗收:收到 Tier-2 供應商的 ARXML 交付包時,AI 自動批次匯入驗證並產出驗收報告。

9.2 SIL / vECU 虛擬驗證:模擬冒煙測試自動化

使用:VEOS MCP(可搭配 ControlDesk MCP)

控制器軟體每日建置後的虛擬驗證是 Shift-Left 策略的核心,MCP 讓這個流程可以由 AI 代理全程駕駛:

  1. 冒煙測試:AI 呼叫 veos_load 載入最新建置的 OSA(內含 vECU 與環境模型),以 veos_apply_config 設定 stop_time 與 acceleration_factor(加速因子讓回歸模擬跑得比即時更快),再 veos_start 執行。
  2. 失敗自動診斷:模擬初始化失敗時,AI 透過 veos_list_all_available_log_files 與 veos_get_log_file 讀取日誌,判斷是授權問題、模型初始化錯誤還是訊號未連接——這正是過去最耗費資深工程師時間的除錯工作。
  3. 整合檢查(ICD 比對):veos_get_all_signals_and_ports 擷取整個系統的訊號連接矩陣,AI 將其與介面控制文件(ICD)比對,自動找出未連接的埠或錯接的訊號,並以 veos_add_signal_connections / veos_remove_signal_connections 修正。
  4. 閉環量測:搭配 ControlDesk MCP 連接 VEOS 平台(controldesk_platform_connect 會自動啟動 VEOS),即可在虛擬環境中執行與 HIL 完全一致的量測與校調操作。

9.3 HIL 測試準備:從通訊矩陣到可執行即時應用

使用:ConfigurationDesk & Bus Manager MCP

HIL 專案啟動階段最繁重的工作是把 DBC/ARXML、Simulink 模型與 SCALEXIO 硬體「接」起來。AI 代理可執行的完整配置鏈:

  1. 專案建立:create_project() → add_application() 建立即時應用骨架。
  2. 殘餘總線模擬(Restbus Simulation)配置:add_communication_matrix() 匯入整車 DBC/ARXML → create_bus_configuration() → assign_ecu_to_bus_config() 指定哪些 ECU 由 HIL 模擬、哪些是真實待測件 → add_feature_to_bus_element() 為需要測試操作的訊號加上 BusISignalValueAccess(讓測試腳本能覆寫訊號值)→ generate_bus_containers() 產生 BSC。
  3. 植物模型整合:add_model() 載入 Simulink 植物模型 → analyze_models() → add_model_to_signal_chain() 曝露模型埠。
  4. 硬體 I/O 對應:add_hardware_platform() 以 IP 註冊 SCALEXIO → scan_hardware() 掃描實際板卡 → add_io_function_block() 建立類比/數位/CAN I/O 功能塊 → set_io_function_block_property() 設定鮑率等電氣參數 → auto_assign_channel_set() 或 assign_hardware_automatically() 自動配通道 → auto_connect_matching_io_function_blocks_to_model_ports() 依命名規則自動接線。
  5. 建置:check_conflicts() 檢查配置衝突 → build_application() 產生 RTA → get_build_result() 取得產出路徑。

工程效益:這條配置鏈過去需要熟悉 ConfigurationDesk 的工程師手動操作數小時甚至數天;透過 MCP,工程師只需描述「用這份 DBC 建立殘餘總線模擬,BCM 和 GW 由 HIL 模擬,VCU 是待測件」,AI 即可執行全部步驟,且每一步都可透過 save_project() / undo() / redo() 安全回退。export_working_view() 匯出的 XML 還可作為配置審查(Review)的佐證文件。同樣的流程把 add_hardware_platform 換成 add_application_processing_unit 即為 VEOS 虛擬平台建置 OSA,實現 HIL 與 SIL 配置的單一來源。

9.4 HIL 實驗執行:量測、記錄與測試操作自動化

使用:ControlDesk MCP

  1. 實驗準備:controldesk_app_start_or_attach → controldesk_project_open → controldesk_platform_connect 上線平台,並以 controldesk_variable_description_manage 掛載 A2L 變數描述檔。
  2. 量測配置:controldesk_variable_find 依名稱(或模糊搜尋)定位待測訊號 → controldesk_measurement_raster_manage 指定取樣柵格(例如控制迴路訊號用 1 ms、溫度類用 100 ms)→ controldesk_recorder_signal_manage 將訊號加入記錄清單。
  3. 條件觸發記錄:controldesk_measurement_trigger_manage 設定觸發規則(例如「車速 > 100 km/h 且 ABS 介入時開始記錄」),controldesk_recorder_main_start 後記錄器進入 WaitingForTrigger 狀態,事件發生時自動寫入 MF4——特別適合捕捉偶發異常。
  4. 測試激勵:controldesk_variable_write 對工作頁寫入測試值(如注入感測器故障值、改變駕駛需求扭矩),配合 controldesk_variable_read 驗證控制器反應,實現「寫入-等待-驗證」的測試模式。
  5. 操作面板自動生成:AI 依測試規範以 controldesk_layout_manage 建立佈局、controldesk_instrument_manage 放置儀表、controldesk_instrument_signal_manage 連接訊號——「幫我建一個含轉速表、扭矩曲線圖和故障注入開關的除錯面板」一句話完成。
  6. 收尾:controldesk_measurement_stop → controldesk_platform_disconnect → 以 controldesk_project_backup_manage 備份整個實驗專案供追溯。

9.5 控制器參數線上校調

使用:ControlDesk MCP(校調 + 變數 + 記錄域)

  1. controldesk_calibration_start 在所有平台同時啟動線上校調工作階段。
  2. AI 依據量測回饋迭代調整參數:讀取控制誤差(controldesk_variable_read)→ 修改增益/查找表(controldesk_variable_write 寫入 Working Page)→ 以 MF4 記錄驗證步階響應。
  3. controldesk_proposed_calibration_manage 管理建議校調工作階段——AI 提出的參數變更先進入「建議」狀態,由工程師審核後才套用,完全符合校調流程的職責分離要求。
  4. 調校滿意後以 controldesk_calibration_page_manage 執行頁面複製(Working Page → Reference Page),並以 controldesk_variable_data_set_manage 管理資料集,將成果固化。
  5. 典型應用:PID 增益整定、扭矩限制查找表調整、診斷閾值標定——AI 可依「超調量 < 5%、安定時間 < 200 ms」這類量化目標自主迭代。

9.6 匯流排測試:記錄、監控、過濾與回放

使用:ControlDesk MCP(Bus Logging / Monitoring / Replay 域)

  1. 長時間匯流排記錄:controldesk_bus_logger_create 在 CAN/CAN FD 存取點建立記錄器,controldesk_bus_logger_configure 設定輸出路徑、時長與檔案滾動(File Rolling)——耐久測試中連續數天記錄也不會撐爆單一檔案。
  2. 聚焦記錄:controldesk_bus_filter_create + controldesk_bus_filter_configure 以訊息 ID/遮罩設定通過或阻擋規則,只記錄與待測功能相關的診斷訊框或特定 PDU,大幅減少後處理負擔。
  3. 即時監看:controldesk_bus_monitor_create 建立監控器觀察總線活動,controldesk_bus_monitor_save 將緩衝區存檔;分析歷史問題時用 controldesk_bus_monitor_load_data 重新載入檢視。
  4. 現場問題重現(Replay 測試):將路試或客戶現場記錄的總線日誌,以 controldesk_bus_replay_create → controldesk_bus_replay_configure(指定來源日誌與回放模式)→ controldesk_bus_replay_manage 在 HIL 台架上原樣重放給待測 ECU——這是重現「只在特定總線時序下出現」的疑難雜症最有效的手段,AI 可自動批次回放多段日誌並比對 ECU 反應。

9.7 ECU 診斷測試(UDS over ODX)

使用:ControlDesk MCP(ECU Diagnostics 域)

  1. controldesk_ecu_diagnostics_setup 為 Diagnostic2 平台掛載 ODX 診斷資料庫,controldesk_ecu_diagnostics_db_manage 管理多個 ODX 檔案版本。
  2. controldesk_ecu_diagnostics_vehicle_manage 選擇車輛變體、controldesk_ecu_diagnostics_link_manage 配置邏輯鏈路與診斷介面。
  3. 結合故障注入場景:以 controldesk_variable_write 在植物模型中注入感測器故障 → 透過診斷平台確認 ECU 正確設置 DTC → 清除故障後驗證 DTC 老化邏輯——完整的診斷功能驗證循環。

9.8 端到端場景:夜間自動回歸與異常分診

使用:全部四個 MCP Server 協同

夜間回歸流水線

CI 產出新版控制器程式碼後:SystemDesk MCP 驗證架構變更 → ConfigurationDesk MCP 重建 OSA/RTA → VEOS MCP 執行加速模擬回歸 → ControlDesk MCP 連接平台執行量測腳本並產出 MF4 → AI 彙整結果,隔天早上工程師收到的是「已分診的異常清單」而不是原始日誌。

互動式異常分診

測試失敗時,工程師直接問 AI:「昨晚 Run 42 為什麼失敗?」AI 讀取 VEOS 日誌(veos_get_log_file)、查詢 ControlDesk 記錄與觸發狀態(controldesk_recorder_query)、檢視匯流排監控緩衝(controldesk_bus_monitor_query),交叉比對後給出根因假設與重現步驟。

台架遷移與複製

實驗室新增第二套 SCALEXIO 時:scan_hardware() 掃描新機櫃 → AI 比對兩套硬體拓撲差異 → 自動以 assign_channel_set() 重新對應通道 → check_conflicts() 確認無衝突後重建——把最容易出錯的「搬家」工作變成可審查的自動化流程。

知識轉移與新人上手

新進工程師以自然語言請 AI 示範標準流程(每一步工具呼叫都有結構化紀錄),等同於把資深工程師的操作 SOP 內建於工具鏈中,降低對特定人員經驗的依賴。

10. 安全性設計與已知限制

  • Engineers-in-the-Loop: 所有 MCP Server 均設計為工程師主導的工作模式——AI 代理提出的每個動作在虛擬驗證、量測與校調過程中都可由工程師逐一審查與核准,AI 不會繞過既有的工具操作流程。ControlDesk 的建議校調(Proposed Calibration)機制更將「AI 提議、人類核准」直接落實在參數層級。
  • 平台限制: COM 自動化架構限定於 Windows;Server 以 STDIO 本機子行程執行,非網路服務、不支援多使用者。所有操作皆需本機安裝且授權的 dSPACE 產品。
  • COM 阻塞對話框: 若 dSPACE 工具中出現模態對話框(Modal Dialog),COM 呼叫會被阻塞。遇到工具逾時或呼叫失敗時,請先手動關閉對話框再重試;ControlDesk MCP 可透過 controldesk_app_get_logs() 取得診斷日誌。
  • 早期版本: dSPACE MCP Hub 屬於「Early Release」階段,官方已規劃持續擴充工具、改善引導與支援更廣泛的工作流程;導入專案時建議鎖定版本並追蹤 GitHub Releases 更新。SystemDesk MCP 目前僅支援 .arxml 匯入;ControlDesk MCP 的變數查詢在名稱模糊時需透過 resolution_details 選取正確候選。

11. 參考資源