Skip to main content
Glama

Deny a held action

fleet__deny
DestructiveIdempotent

Turn down a change that is waiting for approval, with a required reason. Approving is done by a person in Royally under Approvals, never through this connection.

Input Schema

NameRequiredDescriptionDefault
reasonYesNon-empty rationale for the denial (whitespace-only rejected). Recorded on the admin_actions audit row.
execution_idYesThe execution id to deny. Must be in pending_approval state.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is carried structurally. The description confirms the required reason and rules out an approve action via this connection, but never says what denial does to the execution (cancelled vs. re-queued) or whether the denial can be reversed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero redundancy, with the action and the required input stated before the negative guidance. Every clause carries decision-relevant information.

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 two-parameter mutation with full schema coverage, rich annotations and no output schema, the definition is nearly sufficient. The only real gap is the post-condition of a denial, which an agent may want before committing to an irreversible-looking state change.

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?

Schema description coverage is 100%: the schema already documents the non-empty reason, the audit-row recording, the uuid format, and the pending_approval precondition. The description only echoes that a reason is required, adding no new parameter meaning, so the baseline 3 applies.

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?

Specific verb (turn down/deny) plus a precise resource (a change awaiting approval) and a scope qualifier (requires a reason). It also distinguishes itself from the approval path, so an agent knows this is the rejection-side tool, not a decision hub.

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?

Explicitly states the use case (a change in the pending-approval queue) and the exclusion: approving happens by a person in Royally under Approvals, never through this connection. That eliminates the main mis-selection risk for a decision tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources