Skip to main content
Glama

request_approval

Create a human sign-off request for sensitive actions and return immediately with an approval ID, status, and expiry so agents can pause work until a reviewer decides.

Instructions

Open a human sign-off request and return immediately.

action_type is a namespaced lowercase string such as deploy.production, mailbox.send_external, or billing.refund. summary is the one line a reviewer reads first; evidence is the structured context they need to decide (target, amount, exact draft). Returns {approval_id, status, expires_at}. Requires the approvals:request scope.

Input Schema

NameRequiredDescriptionDefault
summaryYes
evidenceNo
action_typeYes
ttl_secondsNo
idempotency_keyNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does reasonably well: it discloses the non-blocking semantics, the required `approvals:request` scope, and the return shape. It omits what happens on expiry, whether duplicate requests are deduplicated, and what ttl_seconds/idempotency_key actually do behaviorally.

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?

Front-loaded with the core action, then a compact parameter gloss and return/scope line. The examples earn their place by fixing the action_type convention. Slightly dense prose in the parameter paragraph, but no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema covers the return values, so restating them is a bonus rather than a requirement. The real gap is that two of five parameters, including the idempotency control that matters for a request tool that can be retried, are left undefined in a tool with zero annotations.

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 coverage is 0%, so the description must compensate. It does well for action_type (namespaced lowercase format with three concrete examples), summary (what the reviewer reads first), and evidence (target, amount, exact draft). But ttl_seconds and idempotency_key — both meaningful for an approval request — get no explanation at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource: 'Open a human sign-off request' plus a key behavioral modifier, 'return immediately'. This implicitly separates it from the blocking sibling wait_for_approval, though the sibling is never named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'return immediately' hints that this is the fire-and-forget path and that something like wait_for_approval exists for blocking, but the agent must infer that routing. No explicit when-to-use or when-not-to-use statement, and no mention of prerequisites beyond the scope.

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