Sandbox
@matlab/simulink-agentic-toolkit

MCP tools and skills for Simulink agents

This toolkit connects an agent to Simulink through the MATLAB MCP Server and adds Model-Based Design skills for common Simulink work. The agent can inspect models, edit them, run checks and tests, and use guided practices from the skills catalog. It also includes automated setup for supported agents and manual steps for others.

1,073 stars102 forksHTMLUpdated 7d ago
Who it's for

Builders who want an agent to understand, edit, and test Simulink models instead of treating them like generic code.

What it delivers

You can have an agent work on Simulink models with the right tools and domain knowledge instead of guessing.

What it does

Simulink MCP tools

Provides tools such as `model_overview`, `model_read`, `model_edit`, `model_check`, `model_test`, and parameter query tools for Simulink work.

Model-Based Design skills

Ships skill groups for model-based design core, system engineering, verification and test, simulation, modeling, control systems, environment fundamentals, signal processing, and code generation.

Automated MATLAB setup

Uses `setupAgenticToolkit("install")` to install the MATLAB MCP Server, configure the agent, and register skills.

Manual setup path

Supports manual MCP server setup with `./matlab-mcp-server --setup-matlab` and `satk_initialize` for a running MATLAB session.

Toolbox knowledge bases

Includes knowledge bases for many MathWorks toolboxes and a way to register custom libraries with `satk.Configuration.setCustomLibraries(...)`.

Plugin and agent configuration

Includes plugin and agent files for supported platforms such as Claude Code, Copilot, Codex, Gemini CLI, and Amp.

How to get it

  1. 1Install the MATLAB MCP Server Toolbox by running
    ./matlab-mcp-server --setup-matlab
  2. 2Clone the Simulink Agentic Toolkit repository, then add toolkit flags to your agent's…
    --matlab-session-mode=existing
    --extension-file=/path/to/simulink-agentic-toolkit/tools/tools.json
  3. 3For platforms that discover skills from ~/.agents/skills/, create symlinks
    mkdir -p ~/.agents/skills
    for group in model-based-design-core model-based-system-engineering verification-validation-and-test simulink-simulation simulink-modeling control-systems simulink-environment-fundamentals signal-processing code-generation; do
      for skill in /path/to/simulink-agentic-toolkit/skills-catalog/$group/*/; do
        ln -s "$skill" ~/.agents/skills/$(basename "$skill")
      done
    done

README

Simulink Agentic Toolkit

The Simulink® Agentic Toolkit allows you to use AI agents with Simulink by giving your AI agent the knowledge and context to read, build, edit, and test Simulink® models using Model-Based Design best practices. It connects agents to Simulink through the MATLAB MCP Server, giving them the ability (tools) and the knowledge (skills) to work with Simulink models effectively. Use this toolkit to provide trusted Simulink capabilities to your agent. This toolkit prevents your AI coding agent from hallucinating, missing new features, and wasting time with extra steps that experienced Simulink users would skip.

The toolkit provides:

  • MCP tools for reading, editing, querying, testing, and checking Simulink models
  • Agent skills encoding Model-Based Design best practices for model building, simulation, plant specification, testing, requirements, project management, and architecture modeling
  • Automated setup using a MATLAB® function that installs the MATLAB MCP Server, configures your agent, and registers skills
  • Supports Claude Code, Copilot, Codex, Amp, and Gemini CLI

To use AI agents with MATLAB, install the MATLAB Agentic Toolkit. Use the automated setup option to install both the toolkits in one step.

How the Simulink Agentic Toolkit Works

┌───────────┐       ┌───────────┐       ┌──────────┐
│ AI Agent  │◄─MCP─►│MCP Server │◄─────►│ MATLAB / │
│ (Claude,  │       │ (MATLAB   │       │ Simulink │
│  Codex,   │       │ MCP Core) │       └──────────┘
│  Copilot) │       └───────────┘
└───────────┘
      ▲
      │ reads
┌─────┴─────┐
│  Skills   │
│ (MBD best │
│ practices)│
└───────────┘

Your agent reads skills for domain knowledge, then calls MCP tools to interact with MATLAB and Simulink. The MATLAB MCP Server bridges the connection (downloaded during setup).

Requirements

  • MATLAB R2023a or later with Simulink
  • A supported AI coding agent (see Supported Platforms)
  • Simulink Test (optional) — required only for the model_test tool
  • Some skills require additional toolboxes (e.g., System Composer, Simscape, Stateflow). Check the requires-products field in each skill's manifest.yaml under skills-catalog/ for additional requirements.

Supported Platforms

The Simulink Agentic Toolkit works with any AI coding agent that supports skills and MCP. The automated setup has been verified on the platforms listed below. Performance may vary with other coding agents.

PlatformSetup
Claude CodeAutomated
GitHub CopilotAutomated
OpenAI CodexAutomated
Gemini CLIAutomated
Sourcegraph AmpAutomated

Get Started with the Simulink Agentic Toolkit

These steps show you how to use the Simulink Agentic Toolkit to install the MATLAB MCP Server and add skills to your agent.

Note: For detailed instructions on configuration options for this toolkit, platform-specific notes, verification steps, and troubleshooting, see Configuration and Troubleshooting.

Install Simulink Agentic Toolkit (Automated Setup)

You can use the Agentic Toolkit installer to set up the Simulink Agentic Toolkit. The installer:

  • Supports both the MATLAB and Simulink Agentic Toolkits.
  • Supports connecting to an existing MATLAB session (--matlab-session-mode="auto" or "existing").
  • Provides the option to configure your agent for individual projects or globally.

Follow these steps to set up the Simulink Agentic Toolkit.

  1. Download agenticToolkitInstaller.mltbx.

  2. Open the downloaded file to install the installer add-on. If the Add-On Manager fails to launch (common on headless machines, corporate proxies/antivirus, or older MATLAB versions — you may see this error ERR_CERT_AUTHORITY_INVALID or "Unable to open the requested feature"), install programmatically instead:

    matlab.addons.toolbox.installToolbox("agenticToolkitInstaller.mltbx")
    
  3. After installing, in MATLAB, run:

    setupAgenticToolkit("install")
    

To uninstall the toolkit, run setupAgenticToolkit("uninstall").

Existing users: If you previously set up the toolkit using the agent-driven workflow, you must uninstall that custom installation and global configuration setup. See Migrating from a Previous Installation.

Alternative Manual Installation Workflow

If you prefer to manage your own MATLAB MCP server installation and agent configuration, or if you are using an agent that is not listed under Supported Platforms, you can set up the toolkit manually, following these steps.

  1. Download the latest MATLAB MCP server from the MCP server release.

  2. Install the MATLAB MCP Server Toolbox by running:

    ./matlab-mcp-server --setup-matlab
    

    Note: If you downloaded the binary manually from GitHub releases, the asset name includes a platform suffix that depends on the release version:

    PlatformNew asset nameLegacy asset name (pre-6/18)
    Linux x86_64matlab-mcp-server-linux-x64matlab-mcp-core-server-glnxa64
    macOS arm64matlab-mcp-server-macos-arm64matlab-mcp-core-server-maca64
    macOS x86_64matlab-mcp-server-macos-x64matlab-mcp-core-server-maci64
    Windows x86_64matlab-mcp-server-windows-x64.exematlab-mcp-core-server-win64.exe

    Rename the downloaded file to matlab-mcp-server (or matlab-mcp-server.exe on Windows) and place it in ~/.matlab/agentic-toolkits/bin/. The automated setup handles this automatically.

  3. Connect the MATLAB MCP Server to a running MATLAB session. In the command window of the running MATLAB session, run shareMATLABSession().

  4. Clone the Simulink Agentic Toolkit repository, then add toolkit flags to your agent's MCP server configuration:

    --matlab-session-mode=existing
    --extension-file=/path/to/simulink-agentic-toolkit/tools/tools.json
    
  5. Register skills by pointing your agent's skill or prompt directory at each non-empty group under skills-catalog/model-based-design-core/, model-based-system-engineering/, verification-validation-and-test/, simulink-simulation/, simulink-modeling/, control-systems/, simulink-environment-fundamentals/, signal-processing/, and code-generation/. Each skill is a self-contained SKILL.md with a manifest.yaml.

    For platforms that discover skills from ~/.agents/skills/, create symlinks:

    mkdir -p ~/.agents/skills
    for group in model-based-design-core model-based-system-engineering verification-validation-and-test simulink-simulation simulink-modeling control-systems simulink-environment-fundamentals signal-processing code-generation; do
      for skill in /path/to/simulink-agentic-toolkit/skills-catalog/$group/*/; do
        ln -s "$skill" ~/.agents/skills/$(basename "$skill")
      done
    done
    

MATLAB Setup

The MATLAB MCP Server connects to a running MATLAB session. For each session, add the Simulink Agentic Toolkit to the path and initialize it.

On Linux and macOS, use:

addpath("~/.matlab/agentic-toolkits/simulink")
satk_initialize

On Windows, use:

addpath(fullfile(getenv('USERPROFILE'), '.matlab', 'agentic-toolkits', 'simulink'))
satk_initialize

This does three things:

  1. Adds the toolkit's tool directories to the MATLAB path
  2. Calls shareMATLABSession so that the MATLAB MCP server can connect to running MATLAB session
  3. Runs validate_installation to check that everything is configured correctly

If you installed the MCP server binary to a non-default location (e.g., a network share), pass its path explicitly:

satk_initialize(MCPServerPath="//server/share/bin/matlab-mcp-server")

Note: satk_initialize must run once per MATLAB session. To run it automatically in future sessions, add the block below to your startup.m.

Finding or creating your startup.m:

  1. List existing startup files:
    which('startup', '-all')
    
  2. If any are listed, edit the first entry — MATLAB runs the one it finds first on the path.
  3. If none are listed, create one under userpath:
    edit(fullfile(userpath, 'startup.m'))
    
    If that errors because userpath has multiple folders, run userpath, copy the first folder, and use it explicitly: edit(fullfile('<thatFolder>', 'startup.m')).

Add this block to startup.m:

% Initialize the Simulink Agentic Toolkit (adjust version/path as needed)
if contains(version, 'R2026a')
    if ispc
        addpath(fullfile(getenv('USERPROFILE'), '.matlab', 'agentic-toolkits', 'simulink'))
    else
        addpath("~/.matlab/agentic-toolkits/simulink")
    end
    satk_initialize
end

Verify

Check that your agent has loaded skills or plugins on its path (e.g., Claude Code's /skills command), confirm the Simulink Agentic Toolkit skills are listed. Open any Simulink model — your own, or a shipped example.

openExample('simulink_general/sldemo_househeatExample')

This opens the shipped example model sldemo_househeat. Ask your agent:

Describe the structure of the currently open model.

Library Configuration

Toolbox Libraries

Use satk.Configuration.setLibrary to activate pre-built knowledge bases for installed MathWorks toolboxes:

satk.Configuration.setLibrary('all')                                          % Activate all installed toolbox KBs
satk.Configuration.setLibrary({'Aerospace Blockset', 'Simscape'})  % Activate specific toolboxes by name
satk.Configuration.setLibrary('none')                                         % Deactivate all toolbox KBs

Custom Libraries

To use your own custom Simulink block libraries with the toolkit, register them in MATLAB once:

satk.Configuration.setCustomLibraries("C:\path\to\customLibs")

This declares your custom libraries. On the next model-building task or on invocation of the 'setup-custom-libraries' skill, the agent indexes the libraries into a knowledge base (~3–5 min to complete) storing it in MATLAB's preference directory (prefdir) enabling usage of custom blocks alongside built-in ones.

Clearing Configuration

To remove all library configuration:

satk.Configuration.clearConfig()

Update Simulink Agentic Toolkit

To update the toolkit, download the latest installer add-on by clicking agenticToolkitInstaller.mltbx. Open the downloaded file with MATLAB, and run this command in MATLAB:

setupAgenticToolkit("update")

This updates the skills, configurations, and MCP server binary for both the MATLAB and Simulink Agentic Toolkits.

MCP Tools

After you install the Simulink Agentic Toolkit, your agent can use the following tools.

ToolWhat your agent can do
model_overviewExplore model architecture. Review subsystem hierarchy, interfaces, and how major components connect
model_readUnderstand model behavior. Inspect blocks, algorithmic expressions, signal flow, and parameter values
model_editBuild and modify models. Add blocks, wire signals, create subsystems, and configure parameters as needed
model_checkValidate model structure. Detect unconnected ports, dangling lines, and Edit-Time Checks on States and Subcharts
model_read_diagnosticsRead diagnostics. Retrieve errors, warnings, and info messages from the Diagnostic Viewer after compilation, simulation, or code generation
model_testVerify requirements. Run human-readable Gherkin tests with automatic harness generation (requires Simulink Test)
model_query_paramsInspect any parameter. Query block settings, signal properties, solver config, and logging flags
model_resolve_paramsGet actual values. Resolve workspace variables like Kp to their numeric values across all scopes
model_scanFind something specific, fast. Regex-search the saved .slx file on disk for a block name, parameter value, or string without loading the model

Agent Skills

After you install the Simulink Agentic Toolkit, your agent can use the skills in the following groups. To see lists of available skills, see skills catalog.

Skill GroupDescription
Model-Based Design CoreCore Model-Based Design (MBD) skills for building, testing, and specifying Simulink models
Model-Based System EngineeringModel-Based System Engineering skills for System Composer architecture models
Verification, Validation, and TestAuthor custom Model Advisor checks, run compliance reviews against industry standards (MISRA, MAB, ISO 26262, DO-178C, etc.), fix SLDV incompatibilities, and explain missing coverage
Simulink SimulationSkills for constructing simulation input datasets and configuring simulation workflows
Simulink ModelingConfigure and integrate C/C++ code into Simulink models via C Function blocks
Control SystemsControl system design and analysis skills for Simulink models
Simulink Environment FundamentalsCore Simulink environment capabilities, including discovering shipped example models
Signal ProcessingFrame-based streaming DSP models in Simulink using DSP System Toolbox
Code GenerationPrepare Simulink models for production code generation, including single-precision conversion, optimizing generated embedded code, configuring Embedded Coder deployment settings, and customizing A2L calibration files

Security Considerations

When using the Simulink Agentic Toolkit and MATLAB MCP Server, you should thoroughly review and validate all tool calls before you run them. Always keep a human in the loop for important actions and only proceed once you are confident the call will do exactly what you expect. For more information, see User Interaction Model (MCP) and Security Considerations (MCP).

Licensing and Usage

The license is available in the LICENSE.md file in this GitHub repository.

MCP servers are only permitted to be used with MATLAB and Simulink in accordance with the MathWorks Software License Agreement, and must not be shared by multiple users. Contact MathWorks if you need to support shared or centralized server use.

Research Preview: Agentic Task Explorer

The Agentic Task Explorer provides curated, multi-step tasks that show what agents can do with Simulink — model understanding, creation, modification, testing, bug fixing, and verification. Each task includes Simulink models and supporting files, ready to go.

slAgenticTaskExplorer

Select a task from the interactive UI. The explorer stages it into an isolated workspace with all required files, then opens your coding agent. Each task presents step-by-step prompts — copy each prompt into your coding agent and watch it work.

This is a research preview. Behavior and interfaces might change.


Report Bugs

If you encounter a bug, use the filing-bug-reports skill to generate a report before opening a GitHub issue. Ask your agent:

File a bug report for this issue

The skill automatically captures environment details, reproduction steps, and error output. Run the skill in the same session where the bug occurred, because it uses conversation context to reconstruct what happened. Then open a bug report and paste the generated report.


Support and Contributions

MathWorks encourages you to use this repository and provide feedback. To request technical support or submit an enhancement request, create a GitHub issue or contact technical support. For MATLAB MCP Server issues, see the MATLAB MCP Server repository.

Pull requests are not enabled on this repository. See CONTRIBUTING.md for details.

Copyright 2025-2026 The MathWorks, Inc.

Files in the repo

Repository payload19 top-level entries
  • .claude-plugin
  • .github
  • docs
  • research-previews
  • skills-catalog
  • toolbox-kb
  • tools
  • AGENTS.md
  • Configuration_and_Troubleshooting.md
  • CONTRIBUTING.md
  • LICENSE.md
  • manifest.yaml
  • Migrate-from-Previous-Installation.md
  • README.md
  • satk_initialize.p
  • satk-libraries.json
  • SECURITY.md
  • validate_installation.p
  • VERSION

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k
t8y2/dbxConnectors

20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。

19k