That is what makes it usable for real analysis: a plot is the answer to most MATLAB questions, and here it lands in the conversation instead of in a window you have to go look at. The Python version is the constraint to check first — 3.11, because the MATLAB Engine does not support anything newer.
A server that talks to a local MATLAB install through the MATLAB Engine, saving scripts to disk and executing them.
- create_matlab_script writes a new .m script into the matlab_scripts directory
- create_matlab_function writes a function file, with the definition validated
- execute_matlab_script runs a script and returns its output text, the figures it generated, and the workspace variables — arguments can be passed in
- call_matlab_function calls a function with arguments and returns its output and any figures
- Scripts persist on disk under matlab_scripts, so a script written in one session is still there in the next
A local MATLAB install — MATLAB R2024a or a compatible version — and Python 3.11, since the MATLAB Engine does not support 3.12 or 3.13. uv manages the environment; MATLAB_PATH points at the installation and defaults to /Applications/MATLAB_R2024a.app. The Engine installs itself on first run from that path.
One command — uvx matlab-mcp
