﻿---
title: "连接 MATLAB MCP Server"
summary: "使用本地 matlab-mcp-server 二进制的绝对路径建立 stdio 连接。Windows 环境需通过 env_vars 转发 WINDIR。"
category: mcp
level: starter
surfaces: [cli, app, ide]
tags: ["MCP", "MATLAB", "stdio", "Windows"]
canonical: /tips/matlab-mcp-stdio/
---

# 连接 MATLAB MCP Server

使用本地 matlab-mcp-server 二进制的绝对路径建立 stdio 连接。Windows 环境需通过 env_vars 转发 WINDIR。

MathWorks 给 MATLAB MCP Server 写了 Codex 专节，源仓是 `matlab/matlab-mcp-server`。先装 MATLAB R2021a 或更新，并让它在 PATH 里。再从 [Releases](https://github.com/matlab/matlab-mcp-server/releases/latest) 下对应平台的二进制，给可执行权限。这是**本机 stdio**，不是远程 URL。

Linux / macOS 示例把二进制放在 `/home/acme/Downloads/matlab-mcp-server`：

```bash
chmod +x /home/acme/Downloads/matlab-mcp-server
codex mcp add matlab -- /home/acme/Downloads/matlab-mcp-server
```

钉 MATLAB 根目录和工作目录时，参数写在 `--` 后面。`--matlab-root` **不要**带 `/bin`：

```bash
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 解释为转义字符：

```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、命令是绝对路径。

## 来源

- [matlab/matlab-mcp-server](https://github.com/matlab/matlab-mcp-server)
- [matlab-mcp-server#32](https://github.com/matlab/matlab-mcp-server/issues/32)
- [MATLAB Answers · WINDIR](https://www.mathworks.com/matlabcentral/answers/2183464-why-does-matlab-r2025b-crash-when-opening-simulink-through-matlab-mcp-core-server-on-windows-with-co)
