Skip to main content
Glama
apiwat59
by apiwat59

Sa App

sa_app

Navigate and control the PXE200 spectrum analyzer application menu for File, Mode, and System; guarded actions require confirm=true, and File/Exit is blocked.

Instructions

Application menu (File / Mode / System). File/Exit is blocked; Power On State, Setting Mode, Fan/Display/Device need confirm=true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoTitle-menu path, e.g. 'File/Save State', 'Mode/Harmonics', 'System/Theme/Light', 'System/About'; 'list' = show the menu treelist
confirmNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does disclose two important traits: a blocked path (File/Exit) and a confirmation gate on destructive-sounding items. It omits the mutation profile entirely (this drives an instrument GUI, so state likely changes), what confirm=true actually authorizes, and any error behavior. Partial but valuable disclosure.

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?

A single compact sentence, front-loaded with the resource and its branches, then the guardrails. Nothing is padded or repeated. It is terse enough that a little more detail would have been welcome, but no sentence is wasted.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the blocked-path and confirm rules cover the main invocation hazards. What is missing is the mutation profile and relationship to sibling menu tools, which matters for a tool that manipulates an instrument UI with zero annotation coverage.

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 coverage is only 50% — 'path' is richly documented with examples, 'confirm' has no description at all. The description compensates by tying confirm=true to specific named paths (Power On State, Setting Mode, Fan/Display/Device), giving the undocumented boolean concrete meaning. That is real added value over the schema.

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

Purpose3/5

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

The description names the resource ('Application menu') and enumerates its top-level branches (File / Mode / System), which gives an agent real content to work with. However it states no verb (navigate? open? select?), and against siblings like sa_menu, sa_dialog, sa_file and sa_controls the boundary is left for the agent to infer. Purpose is identifiable but not sharply distinguished.

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

Usage Guidelines3/5

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

It supplies genuinely useful conditional guidance: 'File/Exit is blocked' and 'Power On State, Setting Mode, Fan/Display/Device need confirm=true'. That tells the agent when a call will fail and when to set a flag, which is more than most menu tools offer. It still says nothing about when to prefer this tool over sa_menu or sa_press, so usage is implied rather than routed.

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