MATLAB MCP Core Server

官方

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

你可以用 MATLAB Core MCP 做什麼?

  • 執行 MATLAB 程式碼 — 請您的 AI 評估 MATLAB 程式碼片段,並透過 evaluate_matlab_code 回傳輸出結果。
  • 執行腳本與測試 — 讓您的 AI 執行 .m 或 .p 檔案(包括單元測試),並透過 run_matlab_file 或 run_matlab_test_file 取得結果。
  • 檢查程式碼品質 — 使用 check_matlab_code 請求對 MATLAB 腳本進行靜態分析,以檢查風格、錯誤與最佳實務。
  • 檢查 MATLAB 環境 — 請您的 AI 使用 detect_matlab_toolboxes 列出已安裝的 MATLAB 工具箱與版本詳細資訊。

文件

MATLAB MCP Server

繁體中文 • Español • 日本語 • 한국어 • 简体中文

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

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

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

目錄

設定

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

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

    • 對於 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 server 的說明。例如,有關使用 Claude Code®、Claude Desktop® 和 Visual Studio® Code 中 GitHub Copilot 的說明,請參閱下文。請注意,您可以透過指定選用的 引數 來自訂 server。

Claude Code

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

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

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

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

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

claude mcp remove matlab

Claude Desktop

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

  1. 在 Claude Desktop 中安裝 Filesystem 擴充功能,以允許 Claude 讀取和寫入您系統上的檔案。在 Claude Desktop 中,按一下 設定 > 擴充功能 > 瀏覽擴充功能。搜尋由 Anthropic 開發的 Filesystem 擴充功能,然後按一下 安裝。指定您要允許 MCP server 存取的資料夾,然後將 停用 按鈕切換為 啟用 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 的行為,請瀏覽至 設定 > 擴充功能 > 設定,您可以在其中修改 server 的 引數。

Visual Studio Code 中的 GitHub Copilot

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

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

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

Codex

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

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

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

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"]

引數

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

  • 在您的 AI 應用程式的設定中插入引數(通常是 .json 檔案)。
  • 在啟動 server 時,將引數作為命令列介面 (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。依預設,server 會嘗試尋找系統 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若要在啟動 server 時立即初始化 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 模式下,需要圖形介面的命令(例如 edit、open、open_system、uifigure 和 appdesigner)仍會在您的桌面上開啟 MATLAB 視窗。--matlab-display-mode=nodesktop
matlab-session-mode指定 MCP server 是啟動新的 MATLAB,還是連線至現有的 MATLAB 工作階段(支援 MATLAB R2023a 起)。預設為 auto 模式。

new 模式: MCP server 會啟動新的 MATLAB 工作階段。

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

existing 模式: server 會嘗試連線至現有的 MATLAB 工作階段。請勿將此模式與引數 matlab-root、initial-working-folder 或 matlab-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 啟動 server 時,MCP server 會連線至此 MATLAB。如果您執行多個 MATLAB 工作階段,server 會連線至您最近執行命令 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 server 儲存日誌檔的資料夾。如果未指定,server 會使用您作業系統的預設暫存資料夾。Windows: --log-folder=C:\\Users\\name\\AppData\\Local\\Temp

Linux/macOS: --log-folder=/tmp/my-logs
log-levelMCP server 的日誌層級。有效值依詳細程度遞減排列為 debug、info、warn 和 error。預設為 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 腳本並回傳輸出。該腳本必須是有效的 MATLAB 原始檔(.m)或 P-code 檔案(.p)。如果 MATLAB 原始檔(.m)和 P-code 檔案(.p)位於同一資料夾且名稱相同,MATLAB 會執行 .p 檔案。
    • 輸入:
      • script_path(字串):要執行的 MATLAB 腳本檔案的絕對路徑。必須是有效的 MATLAB 原始檔(.m)或 P-code 檔案(.p)。範例:C:\Users\username\projects\analysis.m 或 /home/user/matlab/simulation.m。
  5. run_matlab_test_file

    • 執行 MATLAB 測試腳本並回傳完整的測試結果。專為遵循 MATLAB 測試框架慣例的 MATLAB 單元測試檔案而設計。
    • 輸入:
      • script_path(字串):MATLAB 測試腳本檔案的絕對路徑。必須是包含 MATLAB 單元測試的有效 MATLAB 原始檔(.m)或 P-code 檔案(.p)。範例: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.