Skip to main content
Glama

Sapper Cli

sapper_cli

Run bundled Sapper CLI commands verbatim as an escape hatch when dedicated tools lack a needed operation, with control over arguments, working directory, store path, background mode, and timeout.

Instructions

Run any bundled sapper CLI command verbatim (escape hatch).

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": {
      "args": "<args>"
    },
    "name": "sapper_cli"
  }
}

Input Schema

NameRequiredDescriptionDefault
cwdNo
argsYesargv after `sapper`, e.g. ["status"] or ["fact", "found sqli", "-k", "vuln"]
storeNoprepends --store <path> when set
backgroundNolaunch in a PTY session, returns session_id
exec_timeoutNosync-mode cap in seconds

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. 'Verbatim' does usefully signal unvalidated pass-through execution, but nothing discloses the risk profile: whether arbitrary commands can mutate state, what permissions the bundled CLI requires, or how failure/error output is surfaced. For an arbitrary-command execution tool with zero annotation coverage, that is a meaningful gap.

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?

A single front-loaded sentence with no padding, and the escape-hatch framing lands immediately. It is efficient rather than verbose, though the extreme brevity leaves the parenthetical doing more work than a short clause would.

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 tool is complex for its size – five parameters, PTY background sessions, sync timeouts, and pass-through argv – with no annotations. An output schema exists, so return values need not be described, but the one-line description does nothing to guide an agent choosing between this and the 30+ discrete siblings.

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 80%, so the schema already documents args, store, background, and exec_timeout; the description adds nothing on top. The one undocumented parameter (cwd) is also unexplained in the description, so no compensation occurs. Baseline 3 applies given the high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Run') and resource ('any bundled `sapper` CLI command') and frames its role as a generic escape hatch. That distinguishes it in spirit from the discrete siblings (sapper_status, sapper_fact, sapper_claim, etc.), though it never names one, so an agent gets no concrete routing example.

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

Usage Guidelines3/5

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

The parenthetical '(escape hatch)' implies the condition for use – when no dedicated tool covers what you need – but this is inference, not an explicit instruction. There is no statement of when NOT to use it (e.g. prefer sapper_status over `sapper status`) and no prerequisites or caveats.

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