Skip to main content
Glama

call_command

Runs a SiLA 2 command on a configured server and returns its responses, waiting for observable commands to finish or time out; use it to operate instruments, including actions that may move hardware.

Instructions

Run a SiLA 2 command and return its responses. MAY MOVE HARDWARE.

parameters maps parameter identifiers to values, e.g. {"BucketNumber": 1}. An observable command is waited for until it finishes or timeout_s passes; its intermediate responses are collected and returned. On failure, ok is false and error holds the SiLA error (defined execution error identifier and message). feature is needed only when two features of the server share the command name.

Input Schema

NameRequiredDescriptionDefault
serverYes
commandYes
featureNo
timeout_sNo
parametersNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations at all, the description carries the full burden and largely meets it: it warns of hardware movement, explains that observable commands are awaited until completion or timeout_s, that intermediate responses are collected, and that failures surface as ok=false with a SiLA error identifier and message. It does not disclose permission/auth requirements, whether a running command can be cancelled, or idempotency, which keeps it off a 5.

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

Conciseness5/5

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

The safety warning is front-loaded in the first line, followed by a compact block covering parameters, observable-command lifecycle, and error shape. Every sentence adds information; there is no filler or repetition of the schema.

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?

For a 5-parameter mutating tool with no annotations, the description supplies the risk profile, async/observable semantics, timeout behavior, and error contract, which is substantial coverage. An output schema exists so return-format explanation is not required, but the lack of any note on permissions or command cancellation leaves a small gap on a hardware-affecting operation.

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?

Schema description coverage is 0%, so the description must compensate and it does for the hardest parameter: `parameters` is explained as an identifier→value map with a concrete example, `feature` gets a precise disambiguation rule, and `timeout_s` is tied to observable-command waiting. Only `server` (connection name vs. address) and `command` (identifier format) remain undefined beyond their names.

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?

States a specific verb and resource ("Run a SiLA 2 command and return its responses") and immediately distinguishes itself from the read-only siblings (list_servers, describe_server, get_property) by being the invocation path. There is no ambiguity about what the tool does.

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 opening "MAY MOVE HARDWARE" gives an explicit risk condition, and "`feature` is needed only when two features of the server share the command name" states a precise condition for the optional parameter. It stops short of an explicit when-to-use-vs-siblings or when-not-to-use rule, but the context is clear enough for correct selection.

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