Skip to main content
Glama

Ask a human for approval

ask_approval

Request human approval on the phone before irreversible or costly actions; the call blocks until they answer, so a timeout is never read as consent.

Instructions

Ask the human who owns this machine to approve or deny something, on their phone, and wait for the answer. Use this BEFORE anything irreversible or expensive: deploying, deleting data, spending money, sending mail to real people, force-pushing, touching production. Returns APPROVED, DENIED, or NO ANSWER. Proceed only on APPROVED — a denial and a timeout both mean stop.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detailsNoContext that helps them decide — what changes, how much it costs, what breaks if it goes wrong.
questionYesThe question, as the person will read it on a lock screen. Be specific: 'Drop and recreate the users table on staging?' beats 'Proceed?'.
timeout_secondsNoHow long to wait for an answer. Defaults to 120.
require_biometricNoDemand a fingerprint or face before the approval counts. Denying never requires one; refusing should always be cheap.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.7/5.0
Behavior5/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 so well: it discloses that the call blocks pending a human answer, enumerates the three outcome states (APPROVED, DENIED, NO ANSWER), and specifies the safe default that denial and timeout are both stop conditions. These are the behavioral facts an agent must know before invoking it.

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?

Four tight sentences, front-loaded with purpose and mechanism, then triggers, then return values, then the action rule. No filler; every sentence changes how an agent would call or interpret the tool.

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

Completeness5/5

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

Although there is no output schema, the description supplies the return contract itself (three outcome states plus the rule that only APPROVED permits proceeding). Combined with the complete input schema, nothing needed to call this tool correctly is missing.

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%, so the schema already documents question, details, timeout_seconds, and require_biometric thoroughly (including length limits and defaults). The description adds the phone/lock-screen framing but no parameter-level meaning beyond the schema, so the baseline 3 is appropriate.

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?

States a specific verb+resource (ask the human owner to approve or deny) plus the distinguishing mechanism: it goes to their phone and blocks waiting for an answer. The blocking/waiting semantics cleanly separate it from the fire-and-forget 'send_notification' sibling without needing to name it.

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?

Gives an explicit trigger list (deploying, deleting data, spending money, sending mail to real people, force-pushing, touching production) and an explicit decision policy for the result: proceed only on APPROVED, since denial and timeout both mean stop. This is exactly the when-to-use and how-to-act guidance an agent needs.

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