get_rule_modes
List all enforcement-mode overrides configured for the authenticated customer. Requires an account (Dev+).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
List all enforcement-mode overrides configured for the authenticated customer. Requires an account (Dev+).
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions the account requirement (Dev+), which is useful, but it does not explicitly state that this is a read-only operation or describe any side effects, error handling, or return behavior. The verb 'List' implies non-destructive behavior, but the safety profile is not fully disclosed.
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, tightly worded sentence that immediately states the tool's purpose and requirement. There is no redundant information or filler; every word adds value.
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 tool's simplicity (no params, no output schema), the description sufficiently covers what the tool does, for whom, and the access requirement. It does not describe the expected return format, but for a simple listing operation this is not a critical gap. The context is complete enough for an agent to select and invoke the tool correctly.
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 tool has zero parameters, and the schema coverage is 100% (empty schema). Per the baseline for 0 params, the description need not explain parameters, and it adds no ambiguity. This is adequate.
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 the specific verb 'List' with a clear resource ('enforcement-mode overrides') and context ('for the authenticated customer'), which clearly differentiates it from sibling tools like get_rules or list_custom_rules. It precisely indicates the tool's scope and function.
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 provides a clear context (listing overrides) and a prerequisite ('Requires an account (Dev+)'), but it does not explicitly state when to use this tool versus alternatives like set_rule_mode or reset_rule_mode. The usage is implied rather than explicitly guided.
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.
Most tools have clearly distinct purposes (e.g., CRUD for custom rules, mode management, presets, validation). However, get_rules, list_custom_rules, and get_rule_modes could be confused since all return rule-related info, though descriptions differentiate their focus.
All tool names follow a consistent verb_noun snake_case pattern (e.g., add_custom_rule, get_audit_log, delete_custom_rule). Even multi-word names like ship_confidence_check maintain the pattern, with no mixing of conventions.
16 tools is slightly above the typical 3–15 range but appropriate for the rule enforcement domain, covering custom rules, presets, modes, audit, and validation. However, three planned-but-unimplemented tools add clutter and could be confusing.
Core operations are present: full CRUD for custom rules, preset application, mode overrides, validation, and audit log. However, three tools are non-functional (NOT_IMPLEMENTED), and there is no way to remove a bypass or manage constitutional rules, leaving some noticeable gaps.