Skip to main content
Glama

run_workflow

Destructive

Execute an OpenBaud device workflow to run steps in order on one session, override command defaults, skip remaining steps on failure, attempt finally steps, and return ok/skipped results.

Instructions

Execute a workflow from devices//workflows/: its steps run in order on one session (step params override command defaults); the first failing step skips the rest, then every finally step is attempted regardless. Returns {ok, steps, finally, skipped}; ok=false is an error carrying the full result JSON. Workflow risk is the maximum of its commands' risk — danger requires acknowledge_risk=true. Session resolution is the same as run_command (session_id, port, or profile selector).

Input Schema

NameRequiredDescriptionDefault
portNoOptional when session_id is given or the device profile has a selector
deviceYes
workflowYes
session_idNo
acknowledge_riskNo
max_inline_bytesNoResult JSONs longer than this many bytes are written in full to .openbaud/out/ and returned as a summary carrying a full_result path — keeps huge payloads out of your context. Raise it to force large results inline.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare destructiveHint=true and openWorldHint=true, but the description adds far more: ordered execution, first-failure skips remaining steps, every `finally` step is still attempted, the exact return shape {ok, steps, finally, skipped}, ok=false meaning an error carrying the full result JSON, risk being the max of constituent commands, and the acknowledge_risk gate. This is well beyond annotation coverage.

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?

Execution semantics, failure handling, return shape, and risk gating are front-loaded in a tight sequence with no filler. It is a dense single block, and the session-resolution clause is appended rather than integrated, but every sentence carries information an agent needs.

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, multi-step executor with no output schema, the description supplies the return shape, the error convention, the finally-step guarantee, and the risk-acknowledgment requirement. Nothing essential to correct invocation is missing.

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 only 33%, so the description must compensate, and it does for the risky params: acknowledge_risk semantics (danger requires true) and session resolution via session_id, port, or device profile selector. It implies device and workflow meaning via the path 'devices/<device>/workflows/', though it doesn't explicitly define the workflow identifier format.

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 and resource — execute a workflow located at devices/<device>/workflows/ — and immediately distinguishes the behavior from a plain command run by describing ordered steps on one session. An agent can tell what this does without opening the schema.

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?

Gives clear conditions: workflows are execution units whose step params override command defaults, and danger-level workflows require acknowledge_risk=true. It also anchors session resolution to run_command (session_id, port, or profile selector), which is actionable routing guidance. It never explicitly says when to prefer run_command or a single command over a workflow, so it falls short of a 5.

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