Skip to main content
Glama

Approve an aictrl workflow step

approve_workflow_step
Destructive

Approve or reject the manual quality gate currently pausing a workflow run, bound to the exact expected code revision (and optionally the approval digest of the reviewed outputs). Every decision records an approval receipt that downstream nodes can read; rejection cancels the run. Only the run owner or an organization admin may decide.

Input Schema

NameRequiredDescriptionDefault
noteNoOptional gate-decision audit note.
run_idYesWorkflow run ID returned by start_workflow or list_workflow_runs.
decisionYesExplicit gate decision.
expected_gateNoThe gate being decided, from get_workflow_run requiredAction (afterWave, gateIndex). A decision for a gate the run is no longer paused on is rejected with gate_changed.
expected_digestNoOptional approvalDigest shown by get_workflow_run requiredAction. Binds the decision to the exact upstream outputs reviewed; a stale digest is rejected with digest_mismatch.
organization_idYesAICtrl organization ID returned by list_organizations.
expected_revisionYesExact 40-character Git revision shown by get_workflow_run.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / run_id / description
      Previous value: -"Workflow run ID returned by start_workflow."New value: +"Workflow run ID returned by start_workflow or list_workflow_runs."
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, it discloses consequential behavior: rejection cancels the run, every decision writes a downstream-readable approval receipt, and the decision is bound to an exact revision and optional digest. It also states the permission requirement, giving the agent context the annotations do not provide.

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?

Three dense sentences, front-loaded with the core action and followed by consequences and authorization. No sentence is redundant and the ordering is useful for an agent deciding whether to call it.

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?

For a destructive mutation with no output schema and a fully documented input schema, the description covers what the tool does, its side effects, the authorization boundary, and the binding constraints. An agent has enough context to invoke it correctly without needing extra prose.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds semantic meaning to expected_revision and expected_digest by explaining that the decision is bound to the exact reviewed code and outputs. It does not add much beyond the schema for the remaining parameters, keeping it short of a 5.

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 precise verb pair (approve or reject) and a specific resource: the manual quality gate pausing a workflow run. It is immediately distinguishable from sibling reads like get_workflow_run and from cancel_workflow_run.

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?

It makes clear this applies only to a run currently paused at a manual gate and states the authorization condition (run owner or org admin). It does not explicitly tell the agent to fetch requiredAction via get_workflow_run first or contrast itself with cancel_workflow_run, though the schema descriptions point to get_workflow_run.

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.