Skip to main content

matlab-agentic-toolkit

Connect AI agents to MATLAB with MCP tools and curated skills for engineering and scientific workflows

Jump to install

Source facts

Repository
reason-machines/ai-agent-skills
Last source activity
May 31, 2026 at 06:51
Detected SKILL.md language
English
Stars
1
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
matlab-agentic-toolkit
description
Connect AI agents to MATLAB with MCP tools and curated skills for engineering and scientific workflows
triggers
["set up MATLAB for AI agents","configure MATLAB MCP server","install MATLAB agentic toolkit","connect agent to MATLAB","use MATLAB with AI coding assistant","run MATLAB code through agent","configure MATLAB skills for agent","troubleshoot MATLAB MCP connection"]
# MATLAB Agentic Toolkit > Skill by [ara.so](https://ara.so) — AI Agent Skills collection. The MATLAB Agentic Toolkit enables AI coding agents to work with MATLAB by providing the Model Context Protocol (MCP) server and curated skills. This toolkit gives agents the knowledge and context to write idiomatic MATLAB code, run tests, diagnose errors, and follow best practices without hallucinating functions or missing features. ## What It Does - **MCP Server Integration**: Automatically installs and configures the MATLAB MCP Core Server to connect your AI agent to MATLAB - **Curated Skills**: Provides domain-specific expertise across automotive, signal processing, computer vision, robotics, and more - **Code Execution**: Run MATLAB code, execute tests, perform static analysis, and build apps through MCP tools - **Best Practices**: Guides agents through MATLAB workflows, conventions, and idiomatic patterns ## Installation ### Prerequisites - MATLAB R2020b or later - Git - AI coding agent (Claude Code, GitHub Copilot, OpenAI Codex, Gemini CLI, or Sourcegraph Amp) ### Basic Installation Clone the repository: ```bash git clone https://github.com/matlab/matlab-agentic-toolkit.git cd matlab-agentic-toolkit ``` Ask your AI agent to set up the toolkit: ``` Set up the MATLAB Agentic Toolkit ``` The agent will: 1. Locate your MATLAB installation(s) 2. Download the MATLAB MCP Core Server 3. Write global agent configuration 4. Register all skills Start a new session after setup completes. ### Skills-Only Installation (Claude Code) If you already have the MATLAB MCP Core Server installed: ```bash claude plugin marketplace add "https://github.com/matlab/matlab-agentic-toolkit" claude plugin install matlab-core@matlab-agentic-toolkit ``` This adds skills without modifying your existing MCP configuration. ### Alternative MATLAB-Based Installer For users who want both MATLAB and Simulink toolkits or need advanced configuration: 1. Download `agenticToolkitInstaller.mltbx` from the [Simulink Agentic Toolkit releases](https://github.com/matlab/simulink-agentic-toolkit/releases) 2. Open the file in MATLAB to install 3. Run in MATLAB: ```matlab setupAgenticToolkit ``` This installer supports: - Installing both MATLAB and Simulink toolkits - Connecting to existing MATLAB sessions (`--matlab-session-mode=existing`) - Project-specific configuration (not just global) - Zero token consumption during setup ## MCP Tools After installation, your agent can use these MCP tools to interact with MATLAB: ### evaluate_matlab_code Execute MATLAB code and return command window output: ``` Run this MATLAB code: x = linspace(0, 2*pi, 100); y = sin(x); plot(x, y); ``` The agent will use `evaluate_matlab_code` to execute and return results. ### run_matlab_file Execute a MATLAB script or function file: ``` Run the file analyze_data.m with the current data ``` ### run_matlab_test_file Execute MATLAB tests via `runtests` with structured results: ``` Run tests in test_signal_processing.m and show the results ``` ### check_matlab_code Perform static analysis using Code Analyzer: ``` Check this MATLAB code for issues: function out = calc(x) out = x^2 end ``` ### detect_matlab_toolboxes List installed MATLAB version and available toolboxes: ``` What version of MATLAB is running? List the installed toolboxes. ``` ## MCP Resources The server provides these resources for context: - **matlab_coding_guidelines**: MATLAB coding standards and best practices - **plain_text_live_code_guidelines**: Format rules for MATLAB Live Scripts ## Available Skills Skills provide domain-specific expertise to your agent. The toolkit includes: ### Core Skills **MATLAB Core** — Foundational MATLAB programming, syntax, and workflows - Array operations and indexing - Function definitions and anonymous functions - Control flow and error handling - Workspace management **MATLAB Data Import and Analysis** — Data loading, preprocessing, and analysis - Reading from files (CSV, Excel, JSON, images) - Data cleaning and transformation - Statistical analysis and visualization - Table and timetable operations **MATLAB Software Development** — Professional development practices - Object-oriented programming - Unit testing with matlab.unittest - Code organization and packaging - Version control integration **MATLAB App Building** — Creating interactive applications - App Designer workflows - UI components and callbacks - Deployment options ### Domain-Specific Skills **Automotive** — Automotive engineering workflows - CAN/LIN communication - Vehicle modeling - Calibration and testing **Computational Biology** — Bioinformatics and systems biology - Sequence analysis - Pathway modeling - Microarray data analysis **Image Processing and Computer Vision** — Image analysis and vision algorithms - Image filtering and enhancement - Object detection and tracking - Camera calibration - Deep learning for vision **Robotics and Autonomous Systems** — Robotics development - ROS integration - Path planning - Sensor fusion - Simulation with Gazebo **Signal Processing** — Digital signal analysis - Filter design - Spectral analysis - Wavelet transforms - Time-frequency analysis **Wireless Communications** — Communication system design - Modulation and coding - MIMO systems - 5G NR workflows - Channel modeling **RF and Mixed Signal** — RF circuit design and analysis - S-parameter analysis - Amplifier design - PLL design **Test and Measurement** — Instrument control and data acquisition - Instrument communication (VISA, GPIB) - Data acquisition workflows - Automated testing **Reporting and Database Access** — Report generation and database connectivity - MATLAB Report Generator - Database Toolbox workflows - Custom report templates ## Common Usage Patterns ### Running MATLAB Code Ask your agent to execute code directly: ``` Create a matrix A with random values and compute its eigenvalues ``` Agent uses `evaluate_matlab_code`: ```matlab A = rand(5, 5); eigenvalues = eig(A); disp(eigenvalues); ``` ### Creating and Testing Functions ``` Write a function to calculate the moving average of a signal, then create tests for it ``` Agent creates `movingAverage.m`: ```matlab function y = movingAverage(x, windowSize) % MOVINGAVERAGE Compute moving average of input signal % y = movingAverage(x, windowSize) returns the moving average % of x using a window of size windowSize arguments x (:,1) double windowSize (1,1) double {mustBePositive, mustBeInteger} end b = ones(1, windowSize) / windowSize; y = filter(b, 1, x); end ``` And test file `test_movingAverage.m`: ```matlab classdef test_movingAverage < matlab.unittest.TestCase methods(Test) function testBasicOperation(testCase) x = [1 2 3 4 5]'; y = movingAverage(x, 3); testCase.verifyEqual(length(y), length(x)); end function testConstantSignal(testCase) x = ones(10, 1) * 5; y = movingAverage(x, 3); % After initial transient, output should equal input testCase.verifyEqual(y(3:end), x(3:end), 'AbsTol', 1e-10); end end end ``` Then runs tests: `run_matlab_test_file('test_movingAverage.m')` ### Data Analysis Workflow ``` Load data.csv, clean it, and create a visualization showing trends over time ``` Agent creates complete workflow: ```matlab % Import data data = readtable('data.csv'); % Clean data - remove rows with missing values cleanData = rmmissing(data); % Convert to timetable if date column exists if ismember('Date', cleanData.Properties.VariableNames) cleanData.Date = datetime(cleanData.Date); tt = table2timetable(cleanData); % Plot time series figure; stackedplot(tt); title('Data Trends Over Time'); else % Create standard plot figure; plot(cleanData.Variables); legend(cleanData.Properties.VariableNames); title('Data Trends'); end ``` ### Building a Simple App ``` Create an app that allows users to upload an image and apply filters ``` Agent creates App Designer code or programmatic UI: ```matlab function imageFilterApp % Create figure and components fig = uifigure('Name', 'Image Filter App'); g = uigridlayout(fig, [3 2]); % Load button btnLoad = uibutton(g, 'Text', 'Load Image', ... 'ButtonPushedFcn', @loadImage); btnLoad.Layout.Row = 1; btnLoad.Layout.Column = 1; % Filter dropdown dd = uidropdown(g, 'Items', {'None', 'Gaussian', 'Median', 'Edge'}); dd.Layout.Row = 1; dd.Layout.Column = 2; dd.ValueChangedFcn = @applyFilter; % Image axes ax = uiaxes(g); ax.Layout.Row = [2 3]; ax.Layout.Column = [1 2]; img = []; function loadImage(~, ~) [file, path] = uigetfile({'*.jpg;*.png;*.bmp', 'Image Files'}); if file img = imread(fullfile(path, file)); imshow(img, 'Parent', ax); end end function applyFilter(~, ~) if isempty(img) return; end filtered = img; switch dd.Value case 'Gaussian' filtered = imgaussfilt(img, 2); case 'Median' filtered = medfilt3(img); case 'Edge' if size(img, 3) == 3 gray = rgb2gray(img); else gray = img; end filtered = edge(gray, 'Canny'); end imshow(filtered, 'Parent', ax); end end ``` ## Configuration ### Global vs. Project Configuration By default, the toolkit configures your agent globally. To use project-specific configuration with the MATLAB-based installer: ```matlab setupAgenticToolkit('Scope', 'project') ``` ### Connecting to Existing MATLAB Session To connect the MCP server to an already-running MATLAB session: ```matlab setupAgenticToolkit('SessionMode', 'existing') ``` Or manually configure the MCP server with `--matlab-session-mode=existing` flag. ### Verifying Installation Ask your agent: ``` What version of MATLAB is running? List the installed toolboxes. ``` Expected output shows MATLAB version and all installed toolboxes. ## Troubleshooting ### MCP Server Not Responding 1. Check MATLAB is installed and accessible: ```bash matlab -batch "disp(version)" ``` 2. Verify MCP server configuration in your agent's config file 3. Restart your agent session 4. Check MCP server logs (location varies by agent) ### Skills Not Available If skills aren't loading: 1. Verify installation completed successfully 2. For Claude Code, check plugins: ```bash claude plugin list ``` 3. Reinstall skills-only if needed 4. Start a new agent session ### Code Execution Errors When `evaluate_matlab_code` fails: 1. Ask agent to use `check_matlab_code` first for syntax validation 2. Verify MATLAB path includes required toolboxes 3. Check for workspace variable conflicts 4. Review MATLAB command window output for detailed errors ### Permission Issues On Windows, if installation fails with permission errors: - Run your terminal/agent as administrator - Ensure MATLAB installation directory is accessible On macOS/Linux: - Check file permissions: `ls -la ~/.config/` (or agent-specific config location) - Ensure MATLAB can be executed: `which matlab` ### Toolbox Detection Issues If `detect_matlab_toolboxes` returns incomplete results: ```matlab % Run in MATLAB directly to verify ver ``` Compare output with agent results. Missing toolboxes may need licensing or installation. ## Security Considerations **Always review tool calls before execution**. The MCP server executes code with full MATLAB privileges: 1. Validate all `evaluate_matlab_code` calls before approval 2. Review file operations (`run_matlab_file`, `save`, `load`) 3. Check network operations (database connections, web requests) 4. Keep humans in the loop for critical operations 5. Use read-only mode when analyzing untrusted code **Licensing**: MCP servers must comply with MathWorks Software License Agreement and cannot be shared by multiple users. Contact MathWorks for multi-user deployments. ## Environment Variables The toolkit respects these environment variables: - `MATLAB_ROOT`: Override MATLAB installation path detection - `MCP_SERVER_LOG_LEVEL`: Set logging verbosity (debug, info, warn, error) Reference in configuration: ```bash export MATLAB_ROOT=/Applications/MATLAB_R2024b.app ``` ## Further Resources - [Configuration and Troubleshooting Guide](https://github.com/matlab/matlab-agentic-toolkit/blob/main/Configuration_and_Troubleshooting.md) - [Skills Catalog](https://github.com/matlab/matlab-agentic-toolkit/tree/main/skills-catalog) - [MATLAB MCP Core Server](https://github.com/matlab/matlab-mcp-core-server) - [MCP Specification](https://modelcontextprotocol.io/specification/2025-06-18/server/tools) - [MathWorks Agentic AI Campaign](https://www.mathworks.com/campaigns/offers/next/agentic-ai-with-matlab.html)
View on GitHub