MATLAB MCP Core Server

官方

使用 MathWorks® 官方提供的 MATLAB MCP Server,透過 AI 應用程式執行 MATLAB®。

你可以用 MATLAB Core MCP 做什麼?

  • 執行 MATLAB 程式碼 — 要求您的 AI 助理執行 MATLAB 程式碼片段或腳本,並使用 evaluate_matlab_coderun_matlab_file 回傳輸出結果。
  • 分析程式碼品質 — 讓您的助理對 MATLAB 腳本執行靜態分析,以使用 check_matlab_code 找出樣式問題、潛在錯誤及違反最佳實務之處。
  • 執行單元測試 — 要求您的助理執行 MATLAB 測試檔案,並使用 run_matlab_test_file 取得完整的測試結果。
  • 檢查已安裝的工具箱 — 透過 detect_matlab_toolboxes 要求提供已安裝的 MATLAB 工具箱及版本號碼相關資訊。
  • 存取編碼指南 — 要求您的助理參考 matlab_coding_guidelinesplain_text_live_code_guidelines 資源中的 MATLAB 編碼標準及即時腳本格式規則。

文件

MATLAB MCP Server

英文 • 西班牙文日文韓文簡體中文

使用 MathWorks® 官方 MATLAB MCP Server,透過 AI 應用程式執行 MATLAB®。MATLAB MCP Server 可讓您的 AI 應用程式:

  • 啟動和結束 MATLAB。
  • 編寫並執行 MATLAB 程式碼。
  • 評估您的 MATLAB 程式碼的風格與正確性。

為了協助您的代理程式使用 MATLAB 和 Simulink,您可以使用 MATLAB Agentic Toolkit (GitHub)Simulink Agentic Toolkit (GitHub) 中的技能,這些工具也可以為您安裝此 MCP 伺服器。

目錄

設定

  1. 安裝 MATLAB (MathWorks) R2021a 或更新版本,並將其加入系統 PATH。

  2. 此伺服器支援任何使用 Model Context Protocol 的 AI 應用程式。若要為 Claude Desktop 設定 MATLAB MCP Server,請跳到 Claude Desktop 的說明。若要為其他應用程式設定伺服器,請依照以下說明操作:

    • 對於 Windows 或 Linux,下載最新版本。(或者,您可以從原始碼建置:安裝 Go 並使用 go install github.com/matlab/matlab-mcp-server/cmd/matlab-mcp-server@latest 建置二進位檔。)

    • 對於 macOS,請先在終端機中執行以下命令下載最新版本:

      • 對於 Apple 晶片處理器,請執行:
        curl -L -o ~/Downloads/matlab-mcp-server https://github.com/matlab/matlab-mcp-server/releases/latest/download/matlab-mcp-server-macos-arm64
        
      • 對於 Intel 處理器,請執行:
        curl -L -o ~/Downloads/matlab-mcp-server https://github.com/matlab/matlab-mcp-server/releases/latest/download/matlab-mcp-server-macos-x64
        

      然後授予下載的二進位檔執行權限,以便您可以執行 MATLAB MCP Server:

      chmod +x ~/Downloads/matlab-mcp-server
      
  3. 將 MATLAB MCP Server 新增至您的 AI 應用程式。您可以在 AI 應用程式的文件中找到新增 MCP 伺服器的說明。例如,有關使用 Claude Code®、Claude Desktop® 和 Visual Studio® Code 中 GitHub Copilot 的說明,請參閱下文。請注意,您可以透過指定選用的 引數 來自訂伺服器。

Claude Code

在您的終端機中執行以下命令,記得插入您在設定中取得的伺服器二進位檔的完整路徑:

claude mcp add --transport stdio matlab -- /fullpath/to/matlab-mcp-server-binary

您可以透過指定選用的 引數 來自訂伺服器。請注意 Claude Code 選項與伺服器引數之間的 -- 分隔符號:

claude mcp add --transport stdio matlab -- /fullpath/to/matlab-mcp-server-binary --initial-working-folder=/home/username/myproject

有關在 Claude Code 中新增 MCP 伺服器的詳細資訊,請參閱 新增本機 stdio 伺服器 (Claude Code)。若要稍後移除伺服器,請執行:

claude mcp remove matlab

Claude Desktop

您可以使用 MATLAB MCP Server 套件在 Claude Desktop 中安裝 MATLAB MCP Server。

  1. 在 Claude Desktop 中安裝 Filesystem 擴充功能,以允許 Claude 讀取和寫入您系統上的檔案。在 Claude Desktop 中,按一下 設定 > 擴充功能 > 瀏覽擴充功能。搜尋由 Anthropic 開發的 Filesystem 擴充功能,然後按一下 安裝。指定您要允許 MCP 伺服器存取的資料夾,然後將 停用 按鈕切換為 啟用 Filesystem 擴充功能。

  2. 最新版本 頁面下載 MATLAB MCP Server 套件 matlab-mcp-server.mcpb

  3. 若要將 MATLAB MCP Server 套件安裝為桌面擴充功能,請雙擊下載的 matlab-mcp-server.mcpb 檔案,然後在 Claude Desktop 中按一下 安裝。(或者,在 Claude 中導覽至 檔案選單 > 設定 > 擴充功能 > 進階設定 > 安裝擴充功能,然後選取 matlab-mcp-server.mcpb 檔案。按一下 安裝)。

若要自訂 MATLAB MCP Server 的行為,請導覽至 設定 > 擴充功能 > 設定,您可以在其中修改伺服器的 引數

Visual Studio Code 中的 GitHub Copilot

在您的 VS Code 工作區中,建立名為 .vscode/mcp.json 的檔案。插入以下 JSON,記得指定您在設定中取得的伺服器二進位檔的完整路徑,以及任何 引數。然後儲存檔案。(請注意,在 Windows 上,您的路徑需要額外的反斜線作為跳脫字元)。

{
    "servers": {
        "matlab": {
            "type": "stdio",
            "command": "C:\\fullpath\\to\\matlab-mcp-server-windows-x64.exe",
            "args": []
        }
    }
}

有關在 VS Code 中使用 MCP 伺服器的更多資訊,請參閱 在 VS Code 中新增和管理 MCP 伺服器 (VS Code)

Codex

在您的終端機中執行以下命令,記得插入您在設定中取得的伺服器二進位檔的完整路徑:

codex mcp add matlab -- /fullpath/to/matlab-mcp-server-binary

您可以透過指定選用的 引數 來自訂伺服器。例如:

codex mcp add matlab -- /fullpath/to/matlab-mcp-server-binary --initial-working-folder=/home/username/myproject

[!NOTE] Windows 使用者: Codex 不會轉發 WINDIR 環境變數,而您需要此變數才能執行 MATLAB 和 Simulink(請參閱 #32)。

若要新增此變數,請開啟位於 C:\Users\<username>\.codex\config.toml 的 Codex 設定檔,並將 env_vars = ["WINDIR"] 新增至 [mcp_servers.matlab] 區段:

[mcp_servers.matlab]
command = 'C:\fullpath\to\matlab-mcp-server-windows-x64.exe'
args = []
env_vars = ["WINDIR"]

引數

透過以下方式之一指定引數來自訂伺服器的行為:

  • 在 AI 應用程式的設定中插入引數(通常是 .json 檔案)。
  • 在啟動伺服器時,以命令列介面(CLI)旗標輸入引數。
  • 使用環境變數,可在 CLI 或應用程式的設定中指定。若要從 CLI 旗標推導環境變數名稱,請加上前綴 MW_MCP_SERVER_,轉換為大寫,並將連字號(-)替換為底線(_)。例如,引數 --matlab-root 會變成環境變數 MW_MCP_SERVER_MATLAB_ROOT。如果您同時使用兩者,CLI 旗標優先於環境變數。
引數說明範例
help顯示所有引數的說明資訊。--help
version顯示 MATLAB MCP Server 的版本。--version
matlab-root指定要啟動哪個 MATLAB 的完整路徑。請勿在路徑中包含 /bin。預設情況下,伺服器會嘗試在系統 PATH 上尋找第一個 MATLAB。Windows:--matlab-root=C:\\Program Files\\MATLAB\\R2026a

Linux/macOS:--matlab-root=/home/usr/MATLAB/R2026a

作為環境變數:MW_MCP_SERVER_MATLAB_ROOT=/home/usr/MATLAB/R2026a
initialize-matlab-on-startup若要在一啟動伺服器時就初始化 MATLAB,請將此引數設為 true。預設情況下,MATLAB 只會在第一次呼叫工具時啟動。--initialize-matlab-on-startup=true
initial-working-folder指定 MATLAB 啟動的資料夾。如果您未指定值,MATLAB 會在您的 AI 應用程式第一個 Root (MCP) 的路徑啟動。如果您未定義 root,MATLAB 會在以下位置啟動:
  • Linux:/home/username
  • Windows:C:\Users\username\Documents
  • Mac:/Users/username/Documents
Windows:--initial-working-folder=C:\\Users\\username\\MyProject

Linux/macOS:--initial-working-folder=/Users/username/MyProject
matlab-display-mode指定是否顯示 MATLAB 桌面。使用 desktop 模式(預設)以顯示 MATLAB 桌面。使用 nodesktop 模式以僅從您的 AI 應用程式使用 MATLAB,而不顯示 MATLAB 桌面。請注意,在 nodesktop 模式下,需要圖形介面的命令(例如 editopenopen_systemuifigureappdesigner)仍會在您的桌面上開啟 MATLAB 視窗。--matlab-display-mode=nodesktop
matlab-session-mode指定 MCP 伺服器是啟動新的 MATLAB,還是連線到現有的 MATLAB 工作階段(支援 MATLAB R2023a 起)。預設為 auto 模式。

new 模式: MCP 伺服器啟動新的 MATLAB 工作階段。

auto 模式(預設): 伺服器嘗試連線到現有的 MATLAB 工作階段,您必須依照以下說明為 existing 模式設定該工作階段。如果伺服器找不到現有的 MATLAB 工作階段,它會啟動一個新的工作階段。

existing 模式: 伺服器嘗試連線到現有的 MATLAB 工作階段。請勿將此模式與引數 matlab-rootinitial-working-foldermatlab-display-mode 一起使用。您必須事先依照以下步驟設定 MATLAB 工作階段才能使用此模式:

  1. 如果您是第一次使用 existing 模式,請執行 ./matlab-mcp-server --setup-matlab

    此命令會在 MATLAB 中安裝名為 MATLAB MCP Server Toolbox 的附加功能。您可以使用此表格中的其他引數來自訂此命令。例如,若要指定要用來安裝工具箱的 MATLAB,您可以使用 ./matlab-mcp-server --setup-matlab --matlab-root=/home/usr/MATLAB/R2026a

    對於 Claude Desktop,您必須先依照 設定 中的說明下載 MATLAB MCP Server 二進位檔,然後再執行 ./matlab-mcp-server --setup-matlab

  2. 在執行中的 MATLAB 工作階段的命令視窗中,執行 shareMATLABSession()。當您使用 --matlab-session-mode=existing--matlab-session-mode=auto 啟動伺服器時,MCP 伺服器會連線到此 MATLAB。如果您執行多個 MATLAB 工作階段,伺服器會連線到您最近執行命令 shareMATLABSession() 的 MATLAB 工作階段。

    除了手動執行 shareMATLABSession() 之外,您也可以將此命令新增至您的 MATLAB 啟動指令碼 (MathWorks)
--matlab-session-mode=existing
extension-file若要使用自訂 MCP 工具,請提供定義您工具的 JSON 檔案路徑。您也可以使用多個擴充功能檔案。有關使用自訂工具的詳細資訊,請參閱 將自訂工具與 MATLAB MCP Server 搭配使用

Windows:--extension-file=C:\\Users\\name\\my-tools.json

Linux/macOS:--extension-file=/path/to/my-tools.json

使用多個擴充功能檔案:

Windows:--extension-file=C:\\path\\to\\tools-1.json --extension-file=C:\\path\\to\\tools-2.json

Linux/macOS:--extension-file=/path/to/tools1.json --extension-file=/path/to/tools2.json

使用環境變數:

Windows:MW_MCP_SERVER_EXTENSION_FILE=C:\Users\name\tools1.json;C:\Users\name\tools2.json

Linux/macOS:MW_MCP_SERVER_EXTENSION_FILE=/path/to/tools1.json:/path/to/tools2.json
log-folder指定 MCP 伺服器儲存日誌檔案的資料夾。如果未指定,伺服器會使用您作業系統的預設暫存資料夾。Windows:--log-folder=C:\\Users\\name\\AppData\\Local\\Temp

Linux/macOS:--log-folder=/tmp/my-logs
log-levelMCP 伺服器的日誌層級。有效值依詳細程度遞減排列為 debuginfowarnerror。預設為 info--log-level=debug
disable-telemetry若要停用匿名資料收集,請將此引數設為 true。有關詳細資訊,請參閱 資料收集--disable-telemetry=true

工具

  1. detect_matlab_toolboxes

    • 傳回已安裝 MATLAB 和工具箱的相關資訊,包括版本號碼。
  2. check_matlab_code

    • 對 MATLAB 腳本執行靜態程式碼分析。回傳有關編碼風格、潛在錯誤、已棄用函式、效能問題以及違反最佳實務的警告。這是一項非破壞性、唯讀的操作,有助於在不執行腳本的情況下識別程式碼品質問題。
    • 輸入:
      • script_path(字串):要分析的 MATLAB 腳本檔案的絕對路徑。必須是有效的 .m 檔案。分析期間不會修改該檔案。範例:C:\Users\username\matlab\myFunction.m/home/user/scripts/analysis.m
  3. evaluate_matlab_code

    • 評估一段 MATLAB 程式碼字串並回傳輸出。
    • 輸入:
      • code(字串):要評估的 MATLAB 程式碼。
      • project_path(字串):您專案目錄的絕對路徑。MATLAB 會將此目錄設定為目前的工作資料夾。範例:C:\Users\username\matlab-project/home/user/research
  4. run_matlab_file

    • 執行 MATLAB 腳本並回傳輸出。該腳本必須是有效的 .m file
    • 輸入:
      • script_path(字串):要執行的 MATLAB 腳本檔案的絕對路徑。必須是有效的 .m 檔案。範例:C:\Users\username\projects\analysis.m/home/user/matlab/simulation.m
  5. run_matlab_test_file

    • 執行 MATLAB 測試腳本並回傳完整的測試結果。專為遵循 MATLAB 測試框架慣例的 MATLAB 單元測試檔案而設計。
    • 輸入:
      • script_path(字串):要執行的 MATLAB 測試腳本檔案的絕對路徑。必須是包含 MATLAB 單元測試的有效 .m 檔案。範例:C:\Users\username\tests\testMyFunction.m/home/user/matlab/tests/test_analysis.m

資源

MCP 伺服器提供 資源 (MCP) 來協助您的 AI 應用程式撰寫 MATLAB 程式碼。若要查看使用此資源的說明,請參閱您的 AI 應用程式中說明如何使用資源的文件。

  1. matlab_coding_guidelines

    • 提供全面的 MATLAB 編碼標準,以改善程式碼的可讀性、可維護性和協作性。這些指南涵蓋命名慣例、格式設定、註解、效能最佳化和錯誤處理。
    • URI:guidelines://coding
    • MIME 類型:text/markdown
    • 來源:MATLAB 編碼標準 (GitHub)
  2. plain_text_live_code_guidelines

    • 提供使用純文字 Live Code .m 檔案格式產生即時腳本的規則和指南,適用於版本控制和 AI 輔助開發。請注意,若要執行純文字即時腳本,您需要 MATLAB R2025a 或更新版本。如需詳細資訊,請參閱 Live Code 檔案格式 (MathWorks)
    • URI:guidelines://plain-text-live-code
    • MIME 類型:text/markdown
    • 來源:純文字 Live Code 產生 (GitHub)

資料收集

MATLAB MCP 伺服器可能會收集有關您使用伺服器的完全匿名化資訊,並將其傳送給 MathWorks。此資料收集有助於 MathWorks 改善產品,且預設為啟用。若要退出資料收集,請將引數 --disable-telemetry 設定為 true

安全性考量

使用 MATLAB MCP 伺服器時,您應在執行所有工具呼叫之前徹底審查和驗證。對於重要操作,請務必保持人員參與,並且只有在您確信該呼叫會完全符合您的預期時才繼續進行。如需更多資訊,請參閱 使用者互動模型 (MCP)安全性考量 (MCP)

授權與使用

授權條款可在這個 GitHub 儲存庫中的 LICENSE.md 檔案中取得。

MCP 伺服器僅允許依照 MathWorks 軟體授權協議與 MATLAB 搭配使用,且不得由多位使用者共用。如果您需要支援共用或集中式伺服器使用,請聯絡 MathWorks。

聯絡支援

MathWorks 鼓勵您使用此儲存庫並提供意見回饋。若要請求技術支援或提交增強請求,請建立 GitHub issue 或聯絡 MathWorks 技術支援


版權所有 2025-2026 The MathWorks, Inc.