Skip to main content
Glama
extentos

extentos

getDisplayState

Read the current simulated glasses display to retrieve the rendered UI tree and selectable node IDs, so you can verify layout and target interactions.

Instructions

Read what's currently rendered on the simulated glasses DISPLAY (track 5 — the native glasses.display.* capability). Returns the DisplayNode tree the app most recently rendered via glasses.display.show { column { text(); button(...) } } (or shown: false after glasses.display.clear() / before any show), the flat list of selectable node ids (button ids + clickable container ids), the node count, and the root kind. This is how the agent verifies what's on the glasses screen without pixels, and discovers which ids it can drive with injectInput. Source is the live in-memory hub snapshot (the latest show frame), so it's exact + immediate — no event-log redaction. Pairs with injectInput to close the agent-driven E2E loop for display flows: createSimulatorSession → (app calls display.show) → getDisplayState (read the tree + ids) → injectInput({ action: 'select', targetId }) → the dev's onClick runs → getDisplayState again to see the re-render. USE to confirm a display rendered, read its structure, or find selectable ids before injectInput. DON'T USE for the display event history (use getEventLog(filter: 'display')) or non-display session state (use getSimulatorStatus).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
Behavior4/5

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

No annotations provided, so the description carries full burden. It discloses that it returns DisplayNode tree, selectable node ids, node count, root kind, and explains the source is live in-memory hub snapshot, exact and immediate. This is thorough for a read-only operation, though it could mention what happens if session does not exist or if display has never been shown.

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 detailed and well-structured, with clear sections covering purpose, output, source, and usage flow. It is somewhat long but every sentence adds value. Could be slightly more concise, but overall efficient.

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?

Given the complexity (no output schema, one parameter), the description covers output (DisplayNode tree, selectable ids, etc.), usage context, and pairing with injectInput. It lacks parameter description but is otherwise complete for the agent to use correctly.

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

Parameters2/5

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

The input schema has one required parameter (sessionId) with 0% schema description coverage. The description does not explain what sessionId is or how to obtain it. Given the lack of coverage, the description should at least describe the parameter's purpose, but it does not.

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 clearly states it reads the currently rendered display on simulated glasses, specifying the track (track 5) and native capability. It distinguishes from siblings by mentioning pairs with injectInput and not for event history (getEventLog) or non-display state (getSimulatorStatus).

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

Usage Guidelines5/5

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

Explicit guidance on when to use: to confirm a display rendered, read structure, or find selectable ids before injectInput. Also clearly states what not to use for: display event history (use getEventLog) or non-display session state (use getSimulatorStatus). Provides a usage flow with createSimulatorSession, getDisplayState, injectInput, getDisplayState again.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/extentos/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server