Skip to main content
Glama
wya5217799

simulink-mcp

by wya5217799

simulink-mcp

Simulink MCP tools + Claude/Codex skill — give AI agents structured access to Simulink models via the MATLAB Engine for Python.

What's inside

Component

Path

What it does

MCP Server

server/

30 FastMCP tools: model lifecycle, parameters, diagnostics, runtime, capture

MATLAB Helpers

matlab/

32 .m scripts that implement each tool on the MATLAB side

Claude/Codex Skill

skill/

Routing guide (SKILL.md, map.md, patterns) + hooks that steer AI toward MCP tools


Quick install (Windows, one command)

git clone https://github.com/wlin4480/simulink-mcp
cd simulink-mcp
.\install.ps1

The installer:

  1. Copies the skill to ~\.shared-skills\simulink-toolbox

  2. Creates junction links for Claude Code (~\.claude\skills\) and Codex (~\.codex\skills\)

  3. Wires the hooks in ~\.claude\settings.json and ~\.codex\hooks.json

  4. Prints the MCP server config snippet to paste into Claude Desktop


MCP server setup

Prerequisites

  • MATLAB R2022b or later with the Simulink toolbox

  • Python 3.10+

Install

pip install fastmcp
pip install matlabengine==<YEAR><a|b>   # match your MATLAB release
# e.g. R2025b -> matlabengine==25.2

Claude Desktop config

Add to %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "simulink-tools": {
      "command": "python",
      "args": ["C:\\path\\to\\simulink-mcp\\server\\server.py"],
      "env": {
        "PYTHONPATH": "C:\\path\\to\\simulink-mcp",
        "SLX_WORKSPACE": "C:\\path\\to\\your\\models"
      }
    }
  }
}

Restart Claude Desktop. The server cold-starts in ~20 s on first tool call.

Environment variables

Variable

Default

Description

SLX_WORKSPACE

Repo root

Directory to search for .slx model files

SLX_HELPERS_PATH

../matlab/

Override path to the MATLAB helper scripts


30 MCP tools

Model lifecycle

simulink_load_model · simulink_create_model · simulink_close_model · simulink_loaded_models · simulink_model_status · simulink_save_model

Structure & discovery

simulink_get_block_tree · simulink_explore_block · simulink_describe_block_ports · simulink_trace_port_connections · simulink_library_lookup

Parameters

simulink_query_params · simulink_set_block_params · simulink_patch_and_verify

Build & wiring

simulink_add_block · simulink_add_subsystem · simulink_connect_ports · simulink_delete_block

Diagnostics

simulink_compile_diagnostics · simulink_step_diagnostics · simulink_solver_audit

Advanced

simulink_block_workspace_dependency · simulink_powerlib_net_query

Script execution

simulink_run_script · simulink_run_script_async · simulink_poll_script

Visual capture

simulink_screenshot · simulink_capture_figure

Runtime

simulink_workspace_set · simulink_run_window · simulink_runtime_reset · simulink_signal_snapshot


Skill: Claude Code + Codex

The skill/ directory is the simulink-toolbox skill — loaded by Claude Code and Codex to route Simulink-related tasks to MCP tools instead of shell MATLAB calls.

After install.ps1, invoke with /simulink-toolbox in Claude Code, or any Simulink-related prompt triggers it automatically via hooks.

Hooks

Platform

File

Effect

Claude Code

hooks/claude/user-prompt-submit.sh

Injects routing reminder on Simulink keywords

Claude Code

hooks/claude/pre-tool-use.sh

Blocks Bash calls that invoke MATLAB directly

Codex

hooks/codex/codex_simulink_hook.py

Same + warns on find_system inside run_script

Patterns

Pattern

When to use

patterns/build-and-verify.md

Building a new model from scratch

patterns/debug-existing-model.md

Diagnosing errors in an existing model

patterns/trace-connectivity.md

Tracing signal paths and port connections

patterns/param-sweep.md

Long-running parameter sweeps


Project structure

simulink-mcp/
├── install.ps1              # One-click installer (Windows)
├── requirements.txt
├── server/
│   ├── server.py            # FastMCP entry point
│   ├── simulink_tools.py    # All 30 tool implementations
│   ├── matlab_session.py    # MATLAB Engine session manager
│   └── exceptions.py
├── matlab/
│   └── slx_*.m              # 32 MATLAB helper scripts
└── skill/
    ├── SKILL.md             # Skill entry point
    ├── map.md               # Intent → tool routing table
    ├── INVARIANTS.md        # Design constraints
    ├── index.json           # Tool inventory
    ├── patterns/            # Step-by-step task patterns
    └── hooks/               # Claude + Codex hooks

License

MIT

F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wya5217799/simulink-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server