Skip to main content
Glama
cynarax

Ganado Bridge

process_start

Destructive

Execute shell commands on local Mac or authorized SSH aliases, returning a session ID to poll output asynchronously, supporting long-running jobs with configurable timeouts.

Instructions

Execute a shell command as the owner on local Mac or an already authorized SSH alias. CAN MODIFY/DELETE files, access network and invoke installed tools. No command allowlist or hidden approval bypass. Returns a session_id immediately; poll output for completion. timeout_ms=0 allows a long job until explicitly stopped or server exit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cwdNo
shellNo/bin/bash
targetNolocal
commandYes
wait_msNo
timeout_msNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0-preview.0

TDQS

A4.4/5.0
Behavior5/5

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

The description goes well beyond annotations by explicitly warning that it can modify/delete files, access the network, and invoke installed tools. It also discloses that there is no command allowlist or hidden approval bypass, and it explains the asynchronous return/polling model. This is strong behavioral disclosure for a destructive, non-idempotent 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?

Every sentence earns its place: purpose, destructive capability, async behavior, and timeout semantics. The description is front-loaded with the action and uses short, direct sentences without redundancy or filler.

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?

For a complex execution tool with no output schema, the description covers the essential contract: session_id is returned immediately, output requires polling, long jobs need timeout_ms=0, and the operation is unrestricted and potentially destructive. It could be more complete by naming process_read/process_stop as the polling and stopping counterparts, but the sibling list supplies that context.

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 0%, so the description must carry parameter meaning. It directly clarifies command execution, target selection ('local Mac or an already authorized SSH alias'), and timeout_ms=0 behavior. However, it does not explain cwd, wait_ms, or shell semantics beyond what the schema names or defaults imply, leaving meaningful gaps.

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 opens with a specific action and resource: 'Execute a shell command as the owner on local Mac or an already authorized SSH alias.' It clearly identifies this as a process-starting tool and distinguishes it from siblings like process_read, process_stop, and process_list. The additional safety warning and session_id return make the purpose unmistakable.

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 gives clear context for use: local or already authorized SSH targets, and it explains that output should be polled after a session_id is returned. It also notes timeout_ms=0 for long-running jobs, implying process_stop may be needed later. It does not explicitly name alternatives or state when not to use it, so it stops 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.