Skip to main content
Glama

Agent Control — Action Gate

Ask a human before acting

ask_human

Same as check_action (Ask). Stop and ask before a consequential non-money action. Returns go, stop, or wait plus approval_id. Poll get_approval. Timeout is stop. Does not forward Slack or CRM. Use slack.post or crm.write to enforce. Email isn't supported yet.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action_type": "<action_type>",
      "summary": "<summary>",
      "preview": "<preview>"
    },
    "name": "ask_human"
  }
}

Input Schema

NameRequiredDescriptionDefault
riskNo
targetNo
previewYes
summaryYes
action_typeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior5/5

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

With annotations only indicating readOnly=false and destructive=false, the description adds substantial behavioral context: the tool returns go/stop/wait plus approval_id, the agent must poll get_approval, timeouts are treated as stop, and Slack/CRM forwarding is not handled. This is exactly the kind of operational detail an agent needs beyond the annotations.

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?

The description is compact and front-loads the core stop-and-ask behavior, return values, and timeout rule. Some fragments are terse to the point of ambiguity, such as 'Same as check_action (Ask)' and 'Use slack.post or crm.write to enforce,' but overall it avoids waste.

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

Completeness2/5

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

The description covers return values and polling behavior despite there being no output schema, which is helpful. However, with 5 parameters at 0% schema coverage, the description leaves parameter meaning entirely unexplained, which is a significant completeness gap for an approval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 5 parameters and 0% description coverage, and the tool description does not explain action_type, summary, preview, risk, or target at all. Since the schema provides no parameter semantics and the description does not compensate, required inputs remain undefined.

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?

The description states a specific action: stop and ask a human before a consequential non-money action. It also clarifies the return values (go, stop, wait, approval_id) and distinguishes scope from Slack/CRM enforcement and unsupported email, giving the agent a clear purpose.

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

Usage Guidelines4/5

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

The description gives clear when-to-use guidance: before consequential non-money actions, with timeout treated as stop. It also names affected alternatives (slack.post, crm.write) and an unsupported case (email), though it does not fully contrast ask_human against check_action beyond saying it is the same as check_action (Ask).

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