Skip to main content
Glama

binds

Lists Hyprland keybindings with combo, action, and description, enabling you to identify and invoke desktop workflows via use_bind.

Instructions

The user's own Hyprland keybinds: combo, action, arg, and a description when the config provides one. This is how the desktop's owner drives it: to perform one of these workflows, call use_bind with the combo (it runs the bound action). An action of lua means the bind is a closure in a Lua Hyprland config, which nothing can run from outside: read its description and do the same thing with hypr or launch. NOTE: the keyboard tool canNOT trigger these compositor binds (synthetic keys reach apps, not Hyprland's bind matcher), so do not try to press them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.11.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that this is a read-only listing of binds, that `lua` actions are closures that cannot be run externally, and that synthetic keys from the `keyboard` tool will not trigger compositor binds. It does not explicitly state that the tool returns a list, but the output schema exists and the description's framing as 'the user's own keybinds' implies a listing. The behavioral caveats about `lua` and `keyboard` are valuable beyond what any schema would show.

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 a single dense paragraph that front-loads the core purpose and then adds routing guidance. Every sentence earns its place: the first defines the resource, the second explains how to use it, the third handles the `lua` edge case, and the fourth warns against the `keyboard` tool. It is slightly long but not bloated, and the structure is logical. A small formatting improvement (separating the warning) would make it a 5.

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 that this is a zero-parameter listing tool with an output schema, the description covers the essential context: what the data is, how to act on it, and what not to do. It does not describe the exact return format, but the output schema exists and the description's mention of fields (combo, action, arg, description) aligns with that. The edge case of `lua` actions is handled. The only minor gap is not explicitly stating that the tool returns a list of all binds, but that is inferable.

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

Parameters4/5

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

The tool has zero parameters, so the schema is trivially complete (100% coverage). The description adds context about what the returned data means (combo, action, arg, description) and how to use it, which is more than a baseline 4 would require. Since there are no parameters to document, the description's job is to explain the data model and usage, which it does.

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 that this tool exposes the user's own Hyprland keybinds (combo, action, arg, description) and explicitly frames it as a read-only listing of the desktop owner's workflows. It distinguishes itself from siblings by explaining that these are compositor-level binds that the `keyboard` tool cannot trigger, and it names `use_bind` as the way to execute them. The verb 'binds' is a noun here, but the description makes the resource and its role unambiguous.

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 gives explicit when-to-use guidance: to perform one of these workflows, call `use_bind` with the combo. It also provides a when-not-to-use exclusion: the `keyboard` tool cannot trigger these binds, so do not try to press them. It even handles the `lua` action edge case, telling the agent to read the description and use `hypr` or `launch` instead. This is exemplary routing behavior.

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