Sigmatek LASAL MCP Server
Automates the Sigmatek LASAL software suite for PLC and HMI engineering, enabling AI assistants to inspect projects, apply structural changes, compile, download to hardware, and control PLC runtime.
README
Sigmatek LASAL MCP Server
An Model Context Protocol (MCP) server for automating the Sigmatek LASAL software suite. It enables AI coding assistants (like Gemini, Claude, or Cursor) to inspect projects, apply structural CLASS 2 or VISUDesigner HMI changes, compile, download to hardware, read/write live PLC values, and control PLC execution.
[!WARNING] This is NOT an official Sigmatek product. This project is currently in active development, which means bugs and unpredictable behavior are highly likely. Do not use this on actual, active production projects without keeping a secure copy/backup of your files, or utilizing a robust version control system (like Git) to easily revert unwanted changes.
Features
- Project Navigation: Select the active project directory and auto-resolve .lcp and .lvp paths.
- CLASS 2 Automation:
- Inspect project structure (classes, networks, connections, server/client channels).
- Open and close the CLASS 2 IDE.
- Apply structural edits (create/delete/rename networks, add/remove/rename objects, connect/disconnect channels, set init values).
- Read and write class .st source files directly.
- Compile projects and read compiler logs (errors and warnings).
- VISUDesigner Automation:
- Inspect HMI projects (stations, datapoints, text lists, schemes).
- Open and close VISUDesigner.
- Apply changes headlessly (sync datapoints, edit properties, configure schemes, manage media assets, add code modules).
- CSV translation import and export.
- PLC Runtime & Live Connection:
- Configure target online IP addresses.
- Download projects to the target PLC or HMI.
- Read and write live channel values from a running PLC.
- Start, stop, or query the current PLC runtime state.
Prerequisites
- Windows OS (Sigmatek LASAL suite runs exclusively on Windows).
- Node.js (v18 or higher recommended).
- Sigmatek LASAL Suite:
- LASAL CLASS 2 (for PLC engineering).
- VISUDesigner (for HMI design).
Installation & Setup
-
Clone the repository:
git clone <repository-url>
cd Lasal-MCP -
Install dependencies:
npm install -
Build the server:
npm run build
Configuration
Environment Variables
If Sigmatek LASAL is installed in non-standard paths, configure them using the following environment variables:
- LASAL_CLASS2_EXE: Full path to Lasal2.exe (Defaults to C:\Program Files (x86)\Sigmatek\Lasal\Class2\Bin\Lasal2.exe).
- LASAL_VISUDESIGNER_EXE: Full path to VISUDesigner.exe (Defaults to C:\Program Files\Sigmatek\Lasal\VISUDesigner\VISUDesigner.exe).
Connecting to MCP Clients
Claude Desktop
Add the following config to your %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"lasal-mcp": {
"command": "node",
"args": [
"C:/path/to/Lasal-MCP/dist/server.js"
],
"env": {
"LASAL_CLASS2_EXE": "C:\\Program Files (x86)\\Sigmatek\\Lasal\\Class2\\Bin\\Lasal2.exe",
"LASAL_VISUDESIGNER_EXE": "C:\\Program Files\\Sigmatek\\Lasal\\VISUDesigner\\VISUDesigner.exe"
}
}
}
}
Available Tools
| Tool Name | Description |
|---|---|
| select_project | Set the active project root directory path. |
| open_class2 / close_class2 | Open or close the LASAL CLASS 2 IDE. |
| open_visudesigner / close_visudesigner | Open or close the VISUDesigner HMI editor. |
| inspect_project | Get structural details of networks, classes, objects, and connections. |
| inspect_visu_project | Get HMI details of stations, datapoints, schemes, and languages. |
| read_class_source / write_class_source | Read or write raw Structured Text (.st) code for classes. |
| apply_project_changes | Perform structural modifications (creating networks, instantiating classes). |
| apply_visu_changes | Modify HMI elements, CSV translations, media files, and schemes. |
| compile_project | Compile the PLC project. |
| set_target_ip | Set the online target IP address. |
| download_project / download_visu_project | Download PLC runtime or HMI visualisation to hardware. |
| get_plc_state / start_plc / stop_plc | Monitor and control PLC runtime state. |
| read_plc_values / write_plc_values | Query or update live channel values on the PLC. |
| deploy_all | Sequence compilation, PLC download, HMI update, and HMI download in one call. |
Development
-
Run in developer mode (watch mode):
npm run dev -
Use the MCP Inspector to debug and test tools interactively:
npm run inspector
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.