Sigmatek LASAL MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LASAL_CLASS2_EXE | No | Full path to Lasal2.exe (Defaults to C:\Program Files (x86)\Sigmatek\Lasal\Class2\Bin\Lasal2.exe) | C:\Program Files (x86)\Sigmatek\Lasal\Class2\Bin\Lasal2.exe |
| LASAL_VISUDESIGNER_EXE | No | Full path to VISUDesigner.exe (Defaults to C:\Program Files\Sigmatek\Lasal\VISUDesigner\VISUDesigner.exe) | C:\Program Files\Sigmatek\Lasal\VISUDesigner\VISUDesigner.exe |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| select_projectA | Set the active LASAL project by its full path. All subsequent tools will operate on this project. |
| open_visudesignerA | Open VISUDesigner with a station from the active project. Omit lcp_path to see available stations. |
| close_visudesignerA | Close VISUDesigner (kills the process). |
| open_class2B | Open LASAL CLASS 2 with the active project's .lsm file. |
| close_class2A | Close LASAL CLASS 2 (kills the process). |
| inspect_projectA | Parse a LASAL CLASS 2 project (.lcp) and return a complete structural inventory: all classes with their Server/Client channels, all networks with their objects and connections. Use this before making any changes to understand what exists and how things are connected. |
| inspect_visu_projectA | Read a VISUDesigner (.lvp) project's current state from disk: stations (connection targets), datapoints (HMI-visible PLC values with types), languages, text list names, and schemes. Use this before apply_visu_changes to understand what already exists. |
| read_class_sourceA | Return the full source of a CLASS 2 class (.st file). Use this to read method implementations, variable declarations, and logic before modifying a class. |
| write_class_sourceA | Write the full source of a CLASS 2 class back to its .st file (and optionally its .h header). Use this after read_class_source to apply code changes — method bodies, variable declarations, logic — directly to the file. The IDE must be closed; use close_class2 first if needed. Content must be latin1-compatible. |
| set_target_ipA | Change the online connection target for a station in the project's .lss file. Surgically updates only the TCPIP element, preserving all other file content. Use before compile_project / download_project when targeting a different device. |
| apply_project_changesA | Apply structural changes to a LASAL CLASS 2 project. Channel operations (add/remove/rename_server, add/remove/rename_client) edit .st files directly and cascade to all .lcn network files automatically. Network operations (create/delete/rename_network, add/remove/rename_object, create/delete_connection, set_init_value, delete_class) run via Lasal2.exe batch script. The IDE is killed before any changes are made. |
| compile_projectA | Compile the active LASAL CLASS 2 project. Kills any open CLASS 2 instance first. Returns compiler errors and warnings from the log. |
| download_projectA | Download the compiled CLASS 2 project to a PLC over the Sigmatek online protocol (TCP port 1954). Uses the project's saved connection if none is specified. |
| get_plc_stateA | Query the runtime state of a PLC (e.g. Running, Stopped, Offline). Uses the project's saved connection if none is specified. |
| read_plc_valuesA | Read live channel values from a running PLC. Opens a connection, reads all requested channels, then closes the connection. Each channel is specified as 'ObjectName.ChannelName'. |
| write_plc_valuesA | Write values to channels on a running PLC. Opens a connection, writes all values, then closes the connection. Each channel is specified as 'ObjectName.ChannelName'. |
| start_plcB | Start the running project on the PLC. Uses the project's saved connection if none is specified. |
| stop_plcA | Stop the running project on the PLC. Uses the project's saved connection if none is specified. |
| apply_visu_changesA | Apply changes to a VISUDesigner (.lvp) project using the headless VISUDesigner API. Kills any running VISUDesigner first, runs the operations as a Python 3.12 script, then saves and closes. Supports: update_all_stations, update_station (single station by number), publish, text list/text management (add/remove/change/set_revisions), CSV import/export for translations, datapoint/datatype property editing, scheme management (add/remove/configure entries), media items (images, video, audio, docs, fonts), code modules, and HMI download. Run 'update_all_stations' or 'update_station' after CLASS 2 channel changes to sync datapoints into the VISUDesigner project. |
| download_visu_projectA | Download a VISUDesigner (.lvp) project to an HMI device. Does not save the project — use apply_visu_changes with a 'download' operation if you need to make changes and deploy in one step. |
| deploy_allA | Run the full deploy pipeline in one call: compile CLASS 2 → download to PLC → update VISUDesigner stations → optionally download visu to HMI. Each step is skipped if its flag is false. Stops immediately on any failure and reports which step failed. Use after making CLASS 2 or VISUDesigner changes to push everything to the target hardware. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Svel26/Lasal-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server