Skip to main content
Glama
davidi0x
by davidi0x

aegis_run

Run shell commands in an isolated sandbox copy of your project, blocking home directory, credential and network access by default. Returns exit code, output, changed files and blocked operations for review.

Instructions

Run a shell command inside the Aegis sandbox on a fresh copy of the project. The command cannot read the home directory or credentials, cannot write outside the copy and has no network unless the profile allows it. Returns exit code, output, changed files and blocked operations. Changes stay in the copy until aegis_apply.

Input Schema

NameRequiredDescriptionDefault
commandYesShell command, e.g. 'npm test' or 'python script.py'.
profileNoAegis profile name from .aegis/profiles (default: 'default', the strict base: no home dir, no credentials, no network).
projectNoAbsolute path of the project directory (default: server's cwd).
timeoutNoSeconds (default 600).
allow_hostsNoExtra hosts this run may reach (e.g. ['registry.npmjs.org']).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only give openWorldHint=false, so the description carries the burden and does it well: no home directory or credential reads, no writes outside the copy, no network unless the profile permits, and changes are non-destructive until aegis_apply. It also discloses the return payload (exit code, output, changed files, blocked operations), which is exactly the behavioral context an agent needs before invoking.

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?

Three tight sentences, front-loaded with the what and immediately followed by the safety constraints and the return shape. Every sentence carries distinct information with no repetition of the schema.

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?

With no output schema and only openWorldHint in annotations, the description supplies the missing pieces: isolation guarantees, mutation staging via aegis_apply, and the structure of the result. An agent can decide to call it and interpret the response without further tools.

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 100%, so a baseline of 3 is guaranteed; the description adds real value by explaining that the profile governs network access and that defaults are the strictest profile, giving meaning to the profile parameter beyond its schema text. It does not add much for timeout, project, or allow_hosts, keeping it out of the top score.

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 (run a shell command) plus the crucial scope modifier: inside the Aegis sandbox on a fresh *copy* of the project. That framing immediately separates it from the sibling inspection tools (aegis_probe, aegis_scan) and the mutation tools (aegis_apply).

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?

Clearly conveys the operating context (isolated execution) and the follow-up path: changes stay in the copy until aegis_apply, which routes the agent to the right sibling after running. It does not explicitly say when to prefer aegis_probe/aegis_scan over this tool or when not to use it, so it stops short of full alternative routing.

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