Skip to main content
Glama

describe_capabilities

Discover what a specific controller exposes and learn how to control it, including available systems and command grammar.

Instructions

Discover what this specific controller exposes and how to control it.

Because every installation is configured differently, call this to learn which systems exist, which are controllable, and the exact command grammar of each writable device. Systems with a 'typed_tool' are best driven by that tool (e.g. control_light); the rest are driven by 'control_device' using an advertised command token or label.

Args: system: optional system key to describe just one (e.g. 'lights').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
systemNo
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It implies a read-only discovery action ('Discover what this controller exposes') and discloses that results vary per installation and that some systems are writable vs not. It does not explicitly state side effects, but the tool is clearly a query. It also mentions the 'command grammar' which is behavioral context.

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 well-structured with a clear opening sentence, explanatory paragraphs, and an Args section. It is somewhat verbose but every sentence adds value (purpose, usage context, routing guidance, parameter explanation). Front-loaded with the main purpose and formatted for readability. Not excessively long.

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 discovery tool with an optional single parameter and no output schema, the description covers what the agent needs: what it will learn (systems, controllability, command grammar), how to use that information (routing to typed_tool vs control_device), and the parameter syntax. It does not describe the exact return format, but that is not required given the purpose. It is sufficiently complete for correct invocation.

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 schema describes a single optional parameter 'system' with no description. The tool's description compensates with an 'Args:' section: 'system: optional system key to describe just one (e.g. lights).' This adds meaning beyond the schema, clarifying it is optional, takes a system key, and provides an example. Given the schema coverage is 0%, the description adequately covers the parameter semantics.

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's purpose: 'Discover what this specific controller exposes and how to control it.' It specifies a verb (discover), a resource (this specific controller), and details what is learned: which systems exist, which are controllable, and the command grammar for writable devices. This distinguishes it from siblings like list_devices and get_state.

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 states when to call the tool: 'Because every installation is configured differently, call this to learn which systems exist, which are controllable...' It also provides routing guidance: 'Systems with a typed_tool are best driven by that tool (e.g. control_light); the rest are driven by control_device using an advertised command token or label.' This is an explicit rule for how to act on the results, fulfilling the usage dimension well.

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/joeexafionbot-dev/kova-mcp'

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