simulink-mcp

simulink-mcp

Give AI agents structured access to Simulink models via the MATLAB Engine for Python, enabling model lifecycle management, parameter queries, diagnostics, and more.

Category
Visit Server

README

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

install.ps1 handles this automatically. To install manually:

# 1. Install the server as a global CLI command (no path dependency)
pip install -e C:\path\to\simulink-mcp

# 2. Install matlabengine — version must match your MATLAB release
pip install matlabengine==25.2   # R2025b
pip install matlabengine==24.2   # R2024b

After pip install -e, the simulink-mcp command is available system-wide. You can clone the repo anywhere and move it later without breaking Claude Desktop.

Claude Desktop config

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

{
  "mcpServers": {
    "simulink-tools": {
      "command": "simulink-mcp",
      "env": {
        "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 Current directory Directory to search for .slx model files
SLX_HELPERS_PATH Bundled matlab/ Override path to the MATLAB helper scripts

33 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

Health check

simulink_ping


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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured