Skip to main content
Glama

charlotte_find

Search for elements on a webpage by text, role, type, CSS selector, or spatial proximity. Returns element IDs for interaction tools.

Instructions

Search for elements matching criteria. Filters interactive elements by text, role, type, or spatial proximity. Use the selector parameter to find DOM elements by CSS selector — this reaches elements not in the accessibility tree (custom widgets, non-semantic divs). Selector results return Charlotte element IDs usable with click, hover, drag, etc.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNoText content to search for (case-insensitive substring match)
roleNoARIA role filter
typeNoInteractive element type filter (button, link, text_input, select, checkbox, etc.)
nearNoElement ID — find elements spatially near this one (within ~200px)
withinNoElement ID — find elements geometrically contained within this one's bounds
selectorNoCSS selector to query the DOM directly. Returns elements that may not be in the accessibility tree. Results include Charlotte element IDs for use with interaction tools.
Behavior3/5

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

No annotations are provided, so the description carries full burden. It mentions that selector results return Charlotte element IDs usable with interaction tools, but does not disclose other behavioral traits like rate limits, permission needs, or whether the operation is read-only. It is adequate but not detailed.

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?

Two sentences, no fluff. First sentence introduces the tool, second provides specific usage guidance for the selector parameter. All information is front-loaded and essential.

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 tool has 6 optional parameters and no output schema, the description covers the main search purpose and highlights the selector's special use. It implies results are element IDs, but does not specify return structure (list, count). Slightly incomplete but largely sufficient.

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 100%, so all parameters have descriptions. The description adds extra context for selector (reaches non-accessibility tree elements) and near/within (spatial proximity, ~200px), but does not significantly enhance understanding beyond the schema. Baseline 3 is appropriate.

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 the tool searches for DOM elements by criteria, lists filter types (text, role, type, spatial proximity), and highlights the CSS selector feature for non-accessibility tree elements. It distinguishes from sibling action tools like click, type, etc.

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 explains when to use the selector parameter (for custom widgets or non-semantic divs) but does not explicitly state when not to use other filters or provide alternatives. This is implicit but could be more explicit.

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/TickTockBent/charlotte'

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