Skip to main content
Glama

Run shell

shell_run

Run a shell command on your own machine and get back what it wrote. A real shell in a container: pipes, redirection and && all work, the working directory is /work and files there persist between calls. Use it to build, test, run scripts and move files about. A non-zero exit code comes back in the response rather than as an error, so read the output — a failing build is an answer

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dirNoDirectory to run it in, under /work. Defaults to /work
commandYesA shell command to run, e.g. 'go test ./... 2>&1 | tail -40'
timeoutNoSeconds to allow, up to the instance's maximum. Defaults to 120

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations beyond the title, the description carries full transparency burden. It discloses that it runs in a container, supports pipes/redirection/&&, working directory /work with persistence, and that non-zero exit codes are returned as data not errors. This is rich, accurate behavioral context.

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?

Four sentences, front-loaded with the core action and environment, then use cases and exit-code behavior. No filler, every sentence contributes valuable information. Excellent structure.

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?

For a tool without output schema, it explains return behavior (what it wrote, non-zero exit code in response), environment constraints, and typical usage. It is complete enough for an agent to call it correctly without missing critical expectations.

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 coverage is 100% and each parameter already has a helpful description, including an example command. The description adds some context (working dir persistence), but the schema already documents dir and timeout defaults. Baseline 3 is appropriate since the schema does the heavy lifting.

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 states a specific verb ('run a shell command on your own machine') and resource, and distinguishes it from shell_list/read/write siblings. It also lists concrete use cases (build, test, run scripts, move files), so an agent can tell exactly what this tool does.

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 on when to use it ('Use it to build, test, run scripts and move files about') and highlights the environment (container, /work). It does not explicitly mention when not to use it or point to alternatives, but the purpose is distinct enough from the shell_* siblings that the guidance is adequate.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation5/5

Every tool is prefixed with a clear domain (e.g., apps_, blog_, transit_), and the suffix identifies a distinct action or resource. Overlapping tools like archive_search and news_search are explicitly differentiated in their descriptions.

Naming Consistency4/5

All tools consistently use a domain_prefix_suffix pattern, but the suffix is sometimes a verb (create, list, search) and sometimes a noun (inbox, status, address). This minor mixing prevents a perfect score but remains predictable and readable.

Tool Count2/5

With 113 tools, the count is far beyond the typical well-scoped range, even for a broad personal assistant. While each tool is distinct and serves a purpose, the sheer number is overwhelming and could be better organized into separate domain-specific servers.

Completeness4/5

Each domain has near-complete lifecycle coverage, including CRUD and search where relevant, with only minor gaps such as missing apps_delete or events_update. The wide range of covered domains itself demonstrates strong completeness for a general assistant.