Skip to main content
Glama
Svel26

Sigmatek LASAL MCP Server

by Svel26

lars_runtime

Manage local LARS simulation instances for PLC and HMI stations: create, start, stop, remove, and clean up workspaces, and switch station targets between simulator and real hardware.

Instructions

Manage local LARS (LASAL Runtime System) simulation instances. LARS runs one program per instance — use one workspace per station (PLC + HMI) so both run simultaneously on separate ports. Actions: list (auto-cleans stale workspaces), setup (create workspaces for all stations), start (auto-creates the workspace if the station is known but unconfigured), stop, remove, gc (lazy cleanup of unreferenced workspaces), set_station_target (point a station's .lss at its LARS instance), restore (revert .lss to the real target. After set_station_target, build_project/control_plc/plc_values/deploy_all operate on the LARS instance automatically.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoLARS workspace name (e.g. 'VisuPalletizer_PLC'). Required for start/stop/remove/set_station_target/restore when station is omitted.
actionYes'list' shows all configured LARS workspaces and their state (auto-cleans stale ones). 'setup' creates/updates LARS workspaces for the selected project's stations (or one station/lcp. 'start' launches a LARS instance (auto-creates the workspace first if the station is known but unconfigured), 'stop' terminates it, 'remove' deletes its workspace config. 'gc' runs lazy garbage collection: deletes auto-created workspaces that are not running and no longer referenced by any station .lss or published DataService stations.json. 'set_station_target' points a station's .lss at its LARS instance (127.0.0.1:<port>); 'restore' reverts to the saved real target. 'target_pc' switches an ARM-compiled .lcp to the PC (x86) compile target LARS requires (restore via 'restore').
dry_runNoWith action 'gc': report what would be removed without deleting anything. Default false.
stationNoStation name from the solution (e.g. 'PLC', 'HMI', 'Local'). Picks the matching workspace. Mutually exclusive with name.
lcp_pathNoAbsolute path to a .lcp to create a workspace for (setup only, when no station name is usable).
min_age_hNoWith action 'gc': only delete workspaces unreferenced for at least this many hours (overrides LASAL_MCP_LARS_GC_MIN_AGE_H; 0 = immediately.
project_dirNoSolution directory to auto-detect stations from (setup/list only. Defaults to the selected project.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly discloses side effects and destructive behaviors: list auto-cleans stale workspaces, start auto-creates workspaces, remove deletes workspace configs, gc deletes unreferenced workspaces (with a dry_run option to preview), set_station_target modifies .lss files, and target_pc switches compile targets. Even though no annotations are provided, the description carries the full burden and does so thoroughly, including the lazy cleanup behavior and the fact that changes alter station configuration.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but information-dense, with a clear structure: an overall purpose sentence, a key architectural note (one workspace per station), and a colon-separated action list. Each sentence earns its place, though the repetition of action names in the initial summary and the action enum description is slightly redundant. It's not overly verbose for the complexity of the tool, but a more compact phrasing could improve clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's role within the broader ecosystem (e.g., interaction with build_project and deploy_all after set_station_target, the port separation between PLC and HMI). It also explains the purpose of the less obvious actions like target_pc and restore. There is no output schema, so return values are not specified, but the description is sufficient for an agent to understand when and why to call this tool and what side effects to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides descriptions for all seven parameters (100% coverage), so the baseline is 3. The tool description adds extra meaning beyond the schema: it explains the action parameter's semantics in detail (e.g., the auto-clean behavior of list, the auto-create behavior of start, and the lazy criteria for gc). This enrichment of parameter meaning, especially for action with its eight enum values, justifies a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: managing local LARS simulation instances, with a specific note about one workspace per station (PLC + HMI) running on separate ports. The list of actions (list, setup, start, stop, remove, gc, etc.) immediately distinguishes this from sibling tools like control_plc or hmi_runtime, which focus on other aspects of the runtime environment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides usage context for each action (e.g., 'start' auto-creates the workspace if unconfigured, 'gc' runs lazy garbage collection with specific retention rules). It also explains a cross-tool interaction: after set_station_target, build_project/control_plc/plc_values/deploy_all operate on the LARS instance. While it doesn't explicitly contrast with every sibling, the action semantics and the note about when to use this tool relative to others are clear enough for an agent to decide when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.