Back to home@James-web11

dsh-matlab-mcp

No description

Stars
0
Language
PowerShell
Created
Aug 18, 2026
Updated
Aug 30, 2026
GitHub repo

Introduction

dsh-matlab-mcp

DeepSeek Harness (dsh) profile bundle that registers the MathWorks MATLAB/Simulink MCP server into the dsh GUI, so agent sessions get native mcp__matlab__* tools for controlling MATLAB and reading/building/testing Simulink models.

KindTool name (in agent sessions)What it does
MATLABmcp__matlab__evaluate_matlab_codeRun any MATLAB code in the shared session
MATLABmcp__matlab__run_matlab_file / run_matlab_test_fileRun a script / run unit tests
MATLABmcp__matlab__check_matlab_codeStatic Code Analyzer warnings for a .m file
MATLABmcp__matlab__detect_matlab_toolboxesMATLAB version + installed toolboxes
Simulinkmcp__matlab__model_overviewHierarchical model view
Simulinkmcp__matlab__model_readBlock topology + expression notation
Simulinkmcp__matlab__model_editStructural edits / parameter changes
Simulinkmcp__matlab__model_checkStructural validation (unconnected ports, …)
Simulinkmcp__matlab__model_query_paramsRandom access to any block/config parameter
Simulinkmcp__matlab__model_resolve_paramsResolve workspace variables to values
Simulinkmcp__matlab__model_testGherkin-based behavioral tests (needs Simulink Test)

Prerequisites

  1. MATLAB R2021a or later (R2023a+ for the Simulink model_* tools), with Simulink installed.
  2. MATLAB Agentic Toolkit installed — it provides the MCP server binary and the Simulink extension tools. In MATLAB:
    setupAgenticToolkit("install")
    
    (select MATLAB + Simulink toolkits). Manual download is documented in the Simulink Agentic Toolkit getting-started guide.
  3. pnpm (used by dsh plugin): npm install -g pnpm
  4. The dsh launcher on PATH (dsh), or npx (the installer falls back to npx -y @deepseek-ai/dsh).

Install

From this repo (recommended)

git clone https://github.com/<your-account>/dsh-matlab-mcp.git
cd dsh-matlab-mcp
# Windows:
.\install.ps1
# macOS / Linux:
./install.sh

Directly from the git URL (no clone)

dsh plugin --profile web add github:<your-account>/dsh-matlab-mcp

Manually (no pnpm)

Append this to ~/.dsh/profiles/web/cordis.patch.yml (create the file with content [] if missing), then restart the GUI:

- insert:
    - id: mcp-matlab
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: matlab
        transport: stdio
        command: !!js "(process.env.USERPROFILE || process.env.HOME) + '/.matlab/agentic-toolkits/bin/matlab-mcp-server' + (process.platform === 'win32' ? '.exe' : '')"
        args: !!js "['--matlab-session-mode=existing', '--extension-file=' + (process.env.USERPROFILE || process.env.HOME) + '/.matlab/agentic-toolkits/simulink/tools/tools.json']"
        env:
          WINDIR: 'C:\Windows'
        toolCallTimeoutMs: 600000
        failOnStartupError: true

New rows in a patch file must be added with an insert list without an id. A bare id targets an existing entry and fails with entry "xxx" not found.

After install (required every MATLAB session)

  1. Restart the dsh GUI.
  2. Make sure MATLAB is running — the server attaches to a running session (--matlab-session-mode=existing), it does not start MATLAB.
  3. In that MATLAB session, share it with the server once per session:
    addpath('~/.matlab/agentic-toolkits/simulink')   % Windows: use C:\Users\<you>\.matlab\...
    satk_initialize
    

Verify

After a GUI restart, ask the agent:

What version of MATLAB is running? List the installed toolboxes.

It should answer via mcp__matlab__detect_matlab_toolboxes. For Simulink:

Show me an overview of model MyModel.

Troubleshooting

SymptomFix
No mcp__matlab__* tools in the sessionGUI wasn't restarted after install; or failOnStartupError would have logged a loud error — check the GUI host console
Tools exist but calls fail / "not shared"Run addpath('~/.matlab/agentic-toolkits/simulink'); satk_initialize in the running MATLAB session
matlab-mcp-server binary missingInstall the MATLAB Agentic Toolkit (setupAgenticToolkit("install"))
MATLAB version mismatchThe server attaches to whatever MATLAB is running; use the MATLAB you want to control
Tool calls time out on long simulationsIncrease toolCallTimeoutMs (default 600000 = 10 min) in cordis.patch.yml
Simulink fails on WindowsWINDIR env var is injected by this bundle (required on Windows)

Uninstall

dsh plugin --profile web remove dsh-matlab-mcp

Notes

  • This repo contains only configuration — the MCP server itself is the open-source MATLAB MCP Server (Apache-2.0, © The MathWorks, Inc.), and the client plugin is @deepseek-ai/dsh-mcp-client shipped with DeepSeek Harness.
  • The bundle's paths are resolved at config time via !!js expressions, so no per-machine editing is needed (Windows, macOS, Linux).

License

MIT