Skip to main content
Glama

Run a Bash script on a macOS endpoint

action1_run_bash_macos
Destructive

Execute Bash scripts on macOS endpoints via Action1, with dry-run preview and confirmation safeguards to automate tasks.

Instructions

Run a Bash script on a macOS endpoint via the run_script template. For OS-aware routing use action1_run_script.

Input Schema

NameRequiredDescriptionDefault
nameNoFriendly action name.
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesEndpoint UUID, or Group ID when target_type='EndpointGroup'.
script_textYesScript source.
target_typeNoEndpoint (default) or EndpointGroup for fan-out.
retry_minutesNoRetry window in minutes when endpoint is offline.
response_formatNoOutput format. Default markdown.
timeout_minutesNoPer-action timeout in minutes (number or digit-string).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.6.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / properties / retry_minutes / $ref
      Removed value: -"#/properties/timeout_minutes"
    • addedInput schema / properties / retry_minutes / anyOf
      Added value: +[
      +  {
      +    "maximum": 10080,
      +    "minimum": 0,
      +    "type": "integer"
      +  },
      +  {
      +    "pattern": "^\\d+$",
      +    "type": "string"
      +  }
      +]
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / additionalProperties
      Previous value: -trueNew value: +{}
  2. First observedv0.5.0

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, non-idempotent, and non-read-only, and the description adds the notable detail that execution goes through the run_script action template. It says nothing further about the dry_run default, the confirm="YES" gate, or offline/retry behavior — all of which are left to the schema for a high-risk mutation tool.

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?

Two short sentences, action-first, with the routing alternative as the second sentence. No filler and nothing buried.

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

Completeness4/5

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

With an output schema, full annotation coverage, and 100% schema parameter documentation, the description only needs to establish purpose and routing, which it does. The one gap is failing to flag that execution is gated by confirm="YES" and defaults to dry_run=true, which an agent should know before calling a destructive tool.

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% and every one of the 10 parameters (including confirm, dry_run, target_type, retry_minutes, timeout_minutes) is documented in the schema. The description mentions no parameters at all, so it adds no meaning beyond the structured fields; baseline 3 applies.

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 (Run), a specific resource (a Bash script), and a specific target constraint (macOS endpoint), and names the sibling it differs from. An agent can distinguish it from action1_run_powershell and action1_run_script without opening any 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?

Explicitly routes OS-aware/unknown-OS cases to action1_run_script, which is the main branching decision for this tool family. It stops short of stating the negative condition (do not call this against Windows/Linux endpoints) explicitly, relying on 'on a macOS endpoint' to imply it.

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

Deploy Server

Other Tools