Skip to main content
Glama

observe

Read-only

Read UI element names, types, and center coordinates from a window without screenshots, including open menus, dropdown values, and offscreen items for reliable element selection.

Instructions

读出窗口里的界面元素(名称、类型、中心坐标),不经过截图。开关带开/关,下拉框带当前值和是否展开,重名的控件标出所属分组;打开着的菜单和下拉选项也会列出(popup=true)。滚动区域里还没滚到的项也会列出(offscreen=true,没有坐标):用 id 点击或 find 点击时会先自动滚动到它。filter 按文字过滤,多个词用 | 隔开。

Input Schema

NameRequiredDescriptionDefault
limitNo
filterNo
regionNo
sourceNoauto:先读界面树,读不到(游戏、自绘界面)再用文字识别
windowNo窗口标题或应用名的一部分,或 windows 返回的 hwnd;不填就是前台窗口

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description adds substantial behavior beyond that — toggles report on/off state, dropdowns report current value and expanded state, duplicate-named controls are tagged with their group, offscreen items appear without coordinates, and clicking by id auto-scrolls first. This is exactly the kind of semantics an agent needs before deciding to observe-then-click.

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?

Front-loads what the tool returns, then layers behavior details in a compact single paragraph with semicolon-separated clauses. Dense but every clause carries information; it would read better as a short bullet list given the number of distinct behaviors.

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?

No output schema exists, so the description carries the burden of describing return content, and it does so well (fields, state attributes, coordinate presence/absence). Remaining gaps are `limit`/`region` semantics and ordering/pagination, which matter less for a zero-required-parameter read tool.

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

Parameters3/5

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

Schema coverage is only 40%, and the description compensates for `filter` by explaining its semantics (text filtering, multiple terms separated by `|`). However `limit` and `region` are documented in neither the schema nor the description, leaving two of five parameters opaque.

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 — reading out UI elements (name, type, center coordinates) in a window — and immediately distinguishes itself from the sibling `screenshot` with "不经过截图". An agent knows exactly what it gets back without opening the schema.

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?

Gives concrete situational guidance: `source=auto` reads the UI tree first and falls back to OCR for games/self-drawn UIs, `popup=true` surfaces open menus, `offscreen=true` surfaces unscrolled items. It stops short of explicitly saying when to prefer `screenshot` or `find` instead, so the alternative-selection rule is implied rather than stated.

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