list_modes
List failure modes, optionally filtered to a single category by category ID.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional category ID to filter by, e.g. 'factuality'. Omit to list all modes. |
List failure modes, optionally filtered to a single category by category ID.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional category ID to filter by, e.g. 'factuality'. Omit to list all modes. |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
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 discloses the tool's core behavior (listing and optional filtering) but does not mention return format, ordering, pagination, or any side effects. For a simple read-only list, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the verb and resource, then adds the optional filter. There is zero redundancy and every word contributes to understanding the tool's functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple single-parameter tool, the description plus schema fully specify what it does and how to invoke it. Without an output schema, it could briefly mention the return structure, but 'List failure modes' sufficiently implies a list. It lacks explicit mention of related tools, but this is not essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage: the 'category' parameter includes a clear description and an example ('factuality'), plus behavior on omission. The description's mention of category ID adds no additional semantic value, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('failure modes'), and clarifies optional filtering by category ID. This clearly distinguishes it from siblings like get_failure_mode (single item), list_categories (different resource), and search_failure_modes (search behavior).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the primary use case (listing modes, optionally filtered) and the 'omit to list all modes' guidance clarifies the parameter behavior. However, it does not explicitly mention when to prefer this over sibling search_failure_modes or get_failure_mode, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool serves a distinct purpose: retrieving a single failure mode, listing categories, listing modes with optional filtering, and searching by keyword. There is no overlap or ambiguity between them.
All tool names follow a consistent verb_noun pattern using snake_case: get_failure_mode, list_categories, list_modes, search_failure_modes. The verb clearly indicates the action, and nouns are descriptive.
With only 4 tools, the set is tightly scoped for a read-only taxonomy querying server. Each tool earns its place, covering retrieval, listing, filtering, and search without unnecessary bloat.
The surface covers the core read operations needed for a taxonomy: single record retrieval, categorical listing, and text search. Only minor gaps exist, such as no direct 'get category' tool, but list_categories suffices.