MATLAB Workflow MCP
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
MATLAB Workflow MCP
让 ZCode 驾驶本地 MATLAB / Simulink 的插件 + 仿真评分工作流
一个仓库,两件东西:
组件 | 内容 |
插件 | 常驻 MATLAB/Simulink 会话的 MCP 服务器:作业队列、变量读写、图表导出、checkcode 门禁、Simulink 实时快照 |
工作流 | 拆解 PDF 课件仿真题,逐题走 规划 → 编码 → 门禁 → 运行 → 独立评分 的返工循环 |
📦 安装
前置要求
依赖 | 版本 | 说明 |
MATLAB | R2025b |
|
Python | 3.10 – 3.12 |
|
ZCode | 任意近期版本 | 支持 MCP 插件 + 动态工作流 |
已在 Windows + MATLAB R2025b 验证。插件入口写的是 Windows 写法
.venv/Scripts/python.exe,Linux/macOS 用户请把.zcode-plugin/plugin.json里的命令改为.venv/bin/python。
1. 以 ZCode 插件安装
在 ZCode 中:Plugin Marketplace → Add → Add Plugin Marketplace,粘贴本仓库地址:
https://github.com/HZZ2Z/Zcode_matlab_workflow_mcp.git然后从 dev-matlab-mcp-local 市场安装 MATLAB MCP。
2. 创建 Python 环境(必须)
插件从插件目录内的 .venv 启动服务器,clone 后需先建环境:
cd Zcode_matlab_workflow_mcp
python -m venv .venv
.venv/Scripts/python -m pip install -e .若 matlabengine==25.2.* 无法从 PyPI 解析,安装 MATLAB 自带的引擎包:
.venv/Scripts/python -m pip install "C:/Program Files/MATLAB/R2025b/extern/engines/python"3. 冒烟测试(可选)
需先装 pytest(.venv/Scripts/python -m pip install pytest),会启动真实 MATLAB 会话,约 1 分钟:
.venv/Scripts/python -m pytest tests/test_smoke.py -vRelated MCP server: MATLAB MCP Tool
⚙️ 配置
MATLAB_MCP_WORKDIR(可选):MATLAB 启动目录,插件安装时默认指向当前工程目录。若此前在
mcpServers里手动配过同名服务器,删除它以免重复注册。首次调用工具需 10–20 s 预热(服务器启动时已在后台预热引擎),之后会话常驻。
安装工作流
把 workflows/matlab-sim.dwf.ts 复制到 ZCode 工作流目录(如 ~/.zcode/workflows/),或直接把文件内容保存为自己的工作流。
工作流依赖 pdf-courseware skill 做拆题渲染,已随插件分发(
skills/pdf-courseware/),装好插件即可用;pdfTool参数留空会按 skill 说明自动定位。
🏗️ 工作流架构(matlab-sim)
输入一份 PDF 课件,工作流把其中的例题/习题逐题转成 MATLAB/Simulink 仿真产物(.m 脚本 + .slx 模型 + PNG 图),并由独立评分员按分数验收,不过线就带着具体评语返工。
flowchart LR
A["📄 PDF 课件"] --> B["统筹员<br/>建档 · 渲染页面 PNG"]
B --> C["读题员 ×N<br/>每段 ≤12 页并行<br/>公式以页面图像为准"]
C --> D["整合员<br/>跨段去重合并"]
D --> E{{"分批推进<br/>batch 题 / 批"}}
E --> F["规划员<br/>Simulink / 脚本途径<br/>公式推导 · 图表计划"]
F --> G["编码员<br/>自包含 sim.m<br/>(Simulink 途径则搭模)"]
G --> H["门禁员<br/>lint_script 语法门禁"]
H -- 语法错误 --> G
H -- 通过 --> I["执行员<br/>清场 → 运行 → 导图<br/>收集关键变量"]
I -- 运行失败 --> F
I --> J["评分员(独立)<br/>跑通 40 · 公式 40 · 图表 20"]
J -- "总分 ≥ threshold<br/>且公式档 ≥ formulaFloor" --> K["✅ 过线收产物"]
J -- 未过线且轮数未用尽 --> F三层防作弊设计:
拆题:文本层公式是乱码,读题员一律从渲染出的页面图像抄录;
门禁:每版脚本先过
lint_script(仅语法错误拦截,两次重试不烧返工轮),干净才许运行;评分:评分员没有参与规划编码,理论值自己推导、仿真值自己用
get_variable重新取数核对,不采信任何人的转述。
角色一览
角色 | 职责 |
统筹员 | 建产物目录、渲染课件、切分读题段 |
读题员 ×N | 并行扫描页段,逐题抄录题面与公式 |
整合员 | 合并各段候选题,跨页/重复题去重 |
规划员 | 选 Simulink 或脚本途径,推导公式与图表计划 |
编码员 | 写自包含 |
门禁员 |
|
执行员 | 清场、运行、导图、收集变量,一轮完成即报 |
评分员 | 独立打分 40+40+20,给出具体数字证据与返工意见 |
评分标准
档位 | 满分 | 要求 |
代码能跑通 | 40 | lint 干净且完整运行 |
结果符合公式预期 | 40 | 评分员自行推导理论值,与仿真值数字对比 |
图表可读 | 20 | 标题、轴标签、单位、图例齐全 |
参数
参数 | 默认 | 说明 |
| 必填 | PDF 课件绝对路径 |
| 2 | 同时推进的题数 |
| 85 | 过线总分下限 |
| 32 | 公式预期档最低分 |
| 5 | 每题最大返工轮数 |
|
| 产物根目录(自动建带时间戳子目录) |
| 留空自动定位 |
|
📁 仓库结构
Zcode_matlab_workflow_mcp/
├── .zcode-plugin/plugin.json # 插件清单(MCP server 入口)
├── marketplace.json # 本地/远程市场目录
├── skills/
│ ├── matlab/ # MATLAB MCP 使用 skill
│ └── pdf-courseware/ # 拆题渲染工具(matlab-sim 工作流依赖)
├── src/matlab_mcp/ # MCP 服务器(engine.py 会话/队列, server.py 工具注册)
├── workflows/ # 动态工作流
│ └── matlab-sim.dwf.ts # 课件仿真评分流水线
├── tests/test_smoke.py # 真实 MATLAB 冒烟测试
└── pyproject.toml执行通道走 mcp__matlab__ 插件工具(常驻会话 + FIFO 作业队列,多 agent 并发安全);产物默认存桌面 matlab-sim 目录。任意 MATLAB 代码都可经此执行——只在你信任的 MATLAB 环境和提示下使用。
License
MIT © HZZ2Z
This server cannot be deployed
Maintenance
Related MCP Connectors
Build Apps and run code in 30 languages — sandboxed, with persistent sessions for agent loops.
Build, run and analyse block-diagram simulations: PID, Bode, FFT, optimisation and code export.
Cloud PLC simulator: validate and step-run LAD/SCL programs, run scenarios, return PASS/FAIL.
Cloud Linux VMs for your agent: run code, Docker, files and HTTPS previews in a Sandboxer microVM.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAllows execution of MATLAB code from Python using the MATLAB Engine API, enabling a shared MATLAB session across multiple requests for seamless integration with Claude Desktop.20MIT
- AlicenseNot gradedqualityDmaintenanceEnables interactive MATLAB development by allowing users to execute scripts and specific code sections, manage workspace variables, and capture generated plots. It integrates with the MATLAB Python Engine to provide persistent execution context for MCP-compatible clients.19BSD 3-Clause
- AlicenseAqualityDmaintenanceMCP server that connects any AI agent to MATLAB — execute code, async jobs, interactive Plotly plots, custom tools, and monitoring dashboard2034 PyPI4MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control MATLAB Simulink models through natural language, providing tools for model creation, block management, wiring, simulation, and more via a local MCP backend.4MIT