Skip to main content
Glama

glass_capabilities

Read-only

Check which GUI operations (input, multi-touch, clipboard, accessibility, window controls) are currently supported on a backend, what's degraded, and what setup is needed to unblock them, so you can avoid unsupported errors before acting.

Instructions

Report which operations (input, multi-touch, clipboard, accessibility, window move/resize) can be performed right now on a backend, and any setup a blocked one needs — so you can check before acting instead of hitting an Unsupported error. Each operation reports a live status (supported, degraded — works now at reduced fidelity, note says what's lost; requires_setup — a setup step is missing, note says what; or unsupported — this backend never does it) plus the tools it gates, so a degraded or blocked operation names exactly which tool calls to expect trouble from. Pass backend to query a specific backend by name; omit for the active one. Static — no session required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
backendNoWhich backend to report: `x11`, `wayland`, `windows`, `macos`, `android`, or `ios`. Omit for the active/default backend (`GLASS_BACKEND`, else the host default). A valid name for a backend not built into this binary reports `available: false`.
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description doesn't need to repeat that. It adds valuable behavioral context: the tool is static (no session required), reports live status with specific enum values, and explains what each status implies (e.g., degraded means reduced fidelity, requires_setup means a setup step is missing). This goes beyond the annotations by detailing the response semantics.

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 dense but well-structured, front-loading the purpose and then explaining the status values and parameter usage. It's a bit long but every sentence adds value, explaining the status enum and the `tools` field. The structure is logical: purpose, status explanation, parameter guidance.

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?

For a read-only capability check tool with a single optional parameter and no output schema, the description is quite complete. It explains the status values, what they mean, and how to use the parameter. The only minor gap is that it doesn't explicitly state the return format beyond the status and tools fields, but given the tool's simplicity and the annotations, this is 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?

The schema already provides 100% coverage of the `backend` parameter, including valid values and the behavior for omitted vs. invalid names. The description adds a brief note about omitting for the active backend, but the schema already covers this. Since schema coverage is high, the baseline of 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 reports which operations can be performed on a backend, listing specific operations (input, multi-touch, clipboard, accessibility, window move/resize) and the purpose (check before acting to avoid Unsupported errors). It distinguishes itself from siblings by focusing on capability reporting rather than performing actions.

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?

The description explicitly says to use this tool to check capabilities before acting, and explains the status values and what they mean for subsequent tool calls. It also specifies when to pass the `backend` parameter and when to omit it, providing clear guidance on usage.

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/fixed-width/glass'

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