Skip to main content
Glama

Check the QNX host environment

environment_check
Read-onlyIdempotent

Run prerequisite checks for QNX SDP tooling, QEMU/KVM, SSH, DHCP, target allowlists, and workspace confinement, then apply fixes so builds and target access work on a new machine.

Instructions

Prerequisite checks with fixes: QNX SDP environment, qcc, mkqnximage, gdb, KVM access, QEMU, ssh/scp, SSH key, DHCP lease file, target allowlist, targets directory, workspace confinement. Run it first on a new machine.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "environment_check"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.1/5.0
Behavior3/5

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

The annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the description only has to add what the annotations do not. It contributes the checklist scope, but the phrase 'with fixes' is ambiguous: it never says whether fixes are applied to the machine or only reported, which matters given that readOnlyHint=true. It also says nothing about what happens when a check fails (an error versus a report) or about re-running after remediation.

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?

It is one dense, front-loaded sentence: the action goes first, followed by the checklist and then the trigger condition. The long enumeration of checks is informative rather than padding, though it reads as a comma-spliced list where a short lead-in such as 'checks/fixes:' would scan faster.

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 parameters, full schema coverage, rich annotations, and an output schema that carries the return values, the description needs only to state the scope and the trigger, both of which it does. The one real gap is failure behavior and whether the 'fixes' are executed, which for a prerequisite gate an agent should know.

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 tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool is a 4. The enumerated checklist does implicitly define the scope of what the single call evaluates, which is a small plus.

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 names a specific verb-and-resource pair, 'prerequisite checks' on the 'QNX host environment', then enumerates exactly what is validated (QNX SDP, qcc, mkqnximage, gdb, KVM, QEMU, ssh/scp, SSH key, DHCP lease file, allowlist, targets directory, workspace confinement). That enumeration clearly distinguishes it from the sibling tools, which all act on targets, builds, runs, or files rather than on the host setup itself.

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?

'Run it first on a new machine' gives one clear trigger condition and even a suggested ordering. There is no explicit when-not-to-use guidance (such as skipping it when a build has already succeeded) and no mention of alternatives, so it falls short of a 5, but the primary usage signal is unambiguous.

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