Skip to main content
Glama

device_request

Read-onlyIdempotent

Query approved read-only CyberBrick device status, configuration, board info, Wi-Fi MAC, firmware version, and project/checksum details; unsupported methods and commands are refused.

Instructions

Call a read-only window.app.local method: isInLoader, getDeviceById, or sendGetMessage with a read-only B0 command (DEVICE_STATUS, GET_DEVICE_CONFIG, GET_BOARD_INFO, GET_BOARD_TYPE, GET_DEVICE_WIFI_MAC, SYSTEM_VERSION, MPY_PROJECT_INFO, MPY_CHECKSUM_INFO). Any other method or command is refused.

Input Schema

NameRequiredDescriptionDefault
argsNoJSON-serializable arguments.
methodYesMethod name on window.app.local, e.g. getDeviceById.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds meaningful behavioral context by listing the exact allowed methods and commands and stating that other inputs are refused. It does not describe auth requirements or return format, but the allowlist/refusal behavior is substantial added value.

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 a single dense sentence with the core action front-loaded and no wasted prose. The parenthetical lists are long but necessary to define the allowlist, though they make the sentence less scannable.

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 tool has only two parameters, full schema description coverage, and rich annotations covering safety. The description supplies the crucial allowlist and refusal rule, which is enough for correct invocation. The main remaining gap is that it does not explain how B0 commands should be passed within args or when to prefer specialized sibling tools.

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 100%, so the baseline is 3. The description goes beyond the schema by enumerating valid method names and B0 command identifiers, which effectively supplies an allowlist that the schema does not declare as an enum. It still does not explain how the args array should be structured for sendGetMessage or how commands map into arguments.

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 states a specific verb and resource: call a read-only window.app.local method. It also enumerates the permitted methods and B0 commands, so an agent can understand the tool's scope. However, it does not explicitly distinguish this generic escape hatch from specialized sibling tools such as board_info, device_status, or device_config_get.

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?

The description gives constraints for use: only the listed methods and commands are allowed, and anything else is refused. It does not say when to use this tool versus the many device-specific sibling tools, nor does it give explicit routing guidance for common read operations.

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