Skip to main content
Glama

find

Search for UI elements by visible text query. Returns ranked element IDs to click, type, or read across desktop apps on Linux, macOS, and Windows.

Instructions

Search for UI elements by name.

Finds elements matching a text query, ranked by match quality.
Returns element IDs that you can use with click, set_value, etc.

Use the FULL visible text for best results (e.g. "Send Message"
not just "Send").

Args:
    query: Text to search for (e.g. "Send Message", "Submit", "Search").
    app: Scope to this application (e.g. "Firefox", "Slack").
    window_id: Scope to this window.
    role: Only match this role (e.g. "button", "text_field", "link").
    states: Only match elements with ALL these states (e.g. ["enabled", "visible"]).
    max_results: Maximum matches to return.
    fields: Which fields to search -- ["name"], ["name", "value"], or ["name", "value", "description"].
    source: "full" (default, merged native+web), "ax" (CDP accessibility tree only), "native" (platform only), or "dom" (live DOM).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes
appNo
window_idNo
roleNo
statesNo
max_resultsNo
fieldsNo
sourceNofull

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

With no annotations, the description fully bears the transparency burden. It explains the matching behavior (ranked by match quality), return value (element IDs), and scoping parameters like app, window_id, role, states, fields, and source. It is clear that it is a non-destructive read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a brief intro, a usage tip, and a clear parameter list. Every sentence adds value without redundancy. It is appropriately sized for the complexity of the tool.

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 description covers input parameters comprehensively and gives a high-level overview of output (element IDs). It mentions ranking and max_results but could be slightly more detailed about the output structure (though an output schema exists). Overall, it is complete for a search tool.

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

Parameters5/5

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

Input schema has 0% description coverage, but the description provides an 'Args:' section that explains all 8 parameters with purpose and example values (e.g., query, app, source options). This adds significant meaning beyond the schema's type-only information, fully compensating for the lack of schema descriptions.

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 'Search for UI elements by name' and explains it finds elements matching a text query, ranked by match quality, returning element IDs for use with other tools like click and set_value. This distinguishes it from sibling tools that perform actions on elements.

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?

The description provides explicit usage advice such as using full visible text for best results and offers examples. It explains the return value and scoping parameters but does not explicitly state when not to use this tool or list alternatives. However, the context makes it clear that find is for locating elements before acting on them.

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/Touchpoint-Labs/Touchpoint'

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