Skip to main content
Glama
guardvibe

guardvibe

by goklab

check_command

Analyze shell commands for security risks before execution, returning an allow/ask/deny verdict with blast radius, safer alternatives, and context-aware risk assessment.

Instructions

Analyze a shell command for security risks before execution. Returns allow/ask/deny verdict with blast radius, safer alternatives, and context-aware risk assessment. Detects: destructive ops, git history rewrites, secret exposure, data exfiltration, deploy triggers, privilege escalation, database drops.

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": {
      "command": "<command>"
    },
    "name": "check_command"
  }
}

Input Schema

NameRequiredDescriptionDefault
cwdNoCurrent working directory.
branchNoCurrent git branch (for branch-specific risk)
formatNoOutput formatjson
commandYesShell command to analyze

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.66.0
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the return contract (allow/ask/deny verdict, blast radius, safer alternatives) and enumerates the risk categories detected. The one notable gap is that it never explicitly states the command is not executed by this tool, leaving the agent to infer that from 'analyze'.

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 sentences, both dense with information, front-loaded with the purpose and verdict semantics followed by detection categories. No filler and no repetition of the tool name.

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?

There is no output schema, so the description must explain returns, and it does by naming the verdict scale and the accompanying payload fields. It is nearly complete for a moderately simple 4-param tool; only the non-execution guarantee and the meaning of the 'ask' verdict for the caller are left implicit.

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%, so the schema already documents command, cwd, branch, and format, making 3 the baseline. 'Context-aware risk assessment' hints that branch and cwd affect the verdict, but the description adds no format or syntax guidance beyond the schema.

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 leads with a specific verb and resource ('Analyze a shell command for security risks') and names the timing constraint ('before execution'). This clearly separates it from siblings like check_code, check_project, or scan_staged, which operate on files or repos rather than a single command string.

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?

'Before execution' tells the agent exactly where this tool sits in a workflow, which is real usage guidance. It stops short of naming alternatives or stating when not to use it (e.g. to use check_code instead for source files), so it is clear context without exclusions.

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