连接 MATLAB MCP Server
使用本地 matlab-mcp-server 二进制的绝对路径建立 stdio 连接。Windows 环境需通过 env_vars 转发 WINDIR。
MathWorks 给 MATLAB MCP Server 写了 Codex 专节,源仓是 matlab/matlab-mcp-server。先装 MATLAB R2021a 或更新,并让它在 PATH 里。再从 Releases 下对应平台的二进制,给可执行权限。这是本机 stdio,不是远程 URL。
Linux / macOS 示例把二进制放在 /home/acme/Downloads/matlab-mcp-server:
chmod +x /home/acme/Downloads/matlab-mcp-server
codex mcp add matlab -- /home/acme/Downloads/matlab-mcp-server
钉 MATLAB 根目录和工作目录时,参数写在 -- 后面。--matlab-root 不要带 /bin:
codex mcp add matlab -- /home/acme/Downloads/matlab-mcp-server --matlab-root=/home/acme/MATLAB/R2026a --initial-working-folder=/home/acme/myproject
用户层表名是 matlab。这是本地 stdio 服务,无需 OAuth 登录。
Windows 配置需注意:Codex 起 stdio 子进程时不转发 WINDIR,Simulink 初始化可能无法正常启动(matlab/matlab-mcp-server#32)。mcp add 不会写 env_vars,要自己改 C:\Users\acme\.codex\config.toml。路径用单引号,避免反斜杠被 TOML 解释为转义字符:
[mcp_servers.matlab]
command = 'C:\Users\acme\Downloads\matlab-mcp-server-windows-x64.exe'
args = []
env_vars = ["WINDIR"]
enabled = true
MathWorks Answers 把同一张表写成 matlab-core,不要抄。官方 README 是 matlab。env_vars 是从 Codex 进程透传变量名,不要写成 [mcp_servers.matlab.env] 里的字面量,也不要把 WINDIR=C:\\Windows 用 --env 写进配置。
CLI 旗标也能改成环境变量:给旗标加上 MW_MCP_SERVER_ 前缀、改大写、连字符变下划线。例如 --matlab-root 对应 MW_MCP_SERVER_MATLAB_ROOT。同时写时,CLI 旗标优先。
接到已有 MATLAB 会话(R2023a 起)才用 --matlab-session-mode=existing 或默认的 auto。第一次先跑二进制的 --setup-matlab 装 MATLAB MCP Server Toolbox,再在 MATLAB 命令窗口执行 shareMATLABSession()。existing 不要和 matlab-root / initial-working-folder / matlab-display-mode 一起用。
默认会向 MathWorks 打匿名用量;不想要就加 --disable-telemetry=true。要桌面 GUI 时,无显示环境再透传 DISPLAY / WAYLAND_DISPLAY,见 stdio 显示器那条。网页 Cloud 读不到这台本机二进制。
能跑任意 MATLAB 代码,保持工具批准。许可证不允许把这台 MCP 共享给多人。配置后重新打开会话。用 codex mcp get matlab 看传输是 stdio、命令是绝对路径。