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.
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:
- Copies the skill to
~\.shared-skills\simulink-toolbox - Creates junction links for Claude Code (
~\.claude\skills\) and Codex (~\.codex\skills\) - Wires the hooks in
~\.claude\settings.jsonand~\.codex\hooks.json - 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.