Skip to main content
Glama
Svel26

Sigmatek LASAL MCP Server

by Svel26

deploy_solution

Destructive

Generate a .lutc update file from a LASAL solution and execute it with MachineManager to deploy multi-station downloads, OS updates, file transfers, and runtime commands.

Instructions

Multi-station deploy via MachineManager: generates a .lutc update file from the solution (class2/screen/visu downloads, OS updates, file transfers, run/boot, channel writes, CLI commands) and executes it with MachineManager.exe /update. This is the official flow for pushing LASAL SCREEN projects together with CLASS 2 to the same panel. Use dry_run to review the generated .lutc first. The newest MachineManager per-run log is returned with the result. Supports async: true — the call then returns immediately with a jobId and you MUST poll check_job_status until it reports status completed/failed (the result is delivered there).

Input Schema

NameRequiredDescriptionDefault
asyncNoRun in the background: returns { status: 'pending', jobId } — poll with check_job_status. Default false.
dry_runNoGenerate and return the .lutc without executing MachineManager (plan review).
lsm_pathNoPath to the .lsm solution. Omit to use the selected project.
stationsYesOrdered per-station deploy steps. Instructions are emitted per station in field order: class2 → screen → visu → run → write → cli → packages → os → boot → files.
utc_pathNoWhere to write the generated .lutc update file (default: MCP scratch directory).
timeout_sNoTimeout override for the whole update run.
machine_nrNoMachine number used in the update log, e.g. "042". Default "000".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.2

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and openWorldHint=true, so the safety profile is covered; the description adds material behavior beyond that — it generates a .lutc plan file, shells out to an external executable, returns the newest per-run log, and imposes a strict polling contract for async runs. It does not describe what state is overwritten on target stations or whether a run can be aborted/rolled back, which is the remaining gap for a destructive tool.

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 core action is front-loaded in the first sentence, and the following sentences each carry distinct information (dry_run review, log return, async contract). The parenthetical enumeration of step types makes the first sentence heavy, but nothing is redundant.

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?

With no output schema, the description takes on return-value disclosure and does it well: it names the log returned, the dry_run preview artifact, and the jobId/status shape for async runs, plus the required polling loop. It omits prerequisites (target reachability, permissions) and the blast radius of the deploy, which would round out a destructive multi-station operation.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description only elaborates on dry_run and async; the semantics of lsm_path, utc_path, timeout_s, machine_nr and the entire nested stations schema are left to the schema. It adds no formatting or constraint detail beyond what is already documented.

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

Purpose4/5

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

The description names a specific verb (multi-station deploy), the exact mechanism (MachineManager.exe /update) and the artifact produced (.lutc), and it scopes the tool to the LASAL SCREEN + CLASS 2 combination. It stops short of differentiating from the sibling deploy_all, which an agent could plausibly confuse it with.

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?

It gives actionable guidance ("Use dry_run to review the generated .lutc first") and states the mandatory async workflow (set async:true, then MUST poll check_job_status until completed/failed), naming the sibling to poll. It never states when not to use this tool or how it relates to deploy_all.

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