shell-0
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_DEBUG | No | Set to 'true' for stderr debug logging. | |
| FS_AUDIT_ROOT | No | Move the audit logs somewhere other than ./data. | |
| EXEC_AUDIT_ROOT | No | Move the audit logs somewhere other than ./data. | |
| FS_AUDIT_MAX_MB | No | Audit size cap before pruning (default: 50). | 50 |
| OUTPUT_MAX_CHARS | No | Hard cap on a single tool result before it gets truncated (default: 15000). | 15000 |
| EXEC_AUDIT_MAX_MB | No | Audit size cap before pruning (default: 50). | 50 |
| PYTHON_EXEC_TIMEOUT | No | python_exec timeout in seconds (default: 30). | 30 |
| SHELL0_AUDIT_DISABLE | No | Set to '1' to turn the audit off (default: on). | 0 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| python_execA | Execute Python code with full system access. Returns {success, output, result, error}. Use for: data processing, file operations, API calls, system automation, any Python task. Prefer over js_exec unless JS-specific features needed. UNLOCKED: all imports (os, subprocess, requests, pathlib), file I/O, network access. Persistent state via module-level variables across calls. Limits: 30s timeout (PYTHON_EXEC_TIMEOUT env), 100k chars, 2k lines, 20k AST nodes. |
| fsA | Full shell filesystem access (UNSANDBOXED, 50MB read limit). Use for all file operations. Doesn't encounter race conditions with file watchers. grep contains all the functionality of bash + powershell filesystem search. Auto-fixes code fences and smart quotes on write. Actions: read, write, edit, delete, copy, move, mkdir, rmdir, list, tree, search, grep, stat, diff, hash, touch, head, tail, duplicates. edit: [{old_text, new_text}]. grep: regex search in directories. diff: compare files/strings. hash: SHA256/MD5 checksums. duplicates: find duplicate files by hash. |
| terminalA | Execute shell commands. Returns {success, output, exit_code, duration_seconds}. Use for: git, npm, pip, system commands, anything requiring shell. UNRESTRICTED - full privileges, no sandboxing. Windows: cmd.exe, Unix: bash. Timeout: 120s default, 600s max. Background: run_in_background=true returns task_id. Use bg_status/bg_kill/bg_list to manage. For file ops prefer fs; for Python prefer python_exec. |
| js_execA | Execute JavaScript code in a full Node.js environment. Returns an object with keys: success (bool), output (combined stdout/stderr), stdout, stderr, exitCode, and outputTruncated (bool if output exceeded 100KB). Use this tool when: (1) manipulating JSON data where JavaScript's native handling is cleaner than Python, (2) testing algorithms where JS syntax is preferred, (3) using npm packages not available in Python, (4) working with Node.js-specific APIs. Do NOT use this tool when: (1) generating visualizations - Node.js has no DOM, canvas, or browser APIs (use python_exec with matplotlib instead), (2) the task is equally achievable in Python (prefer python_exec for consistency). The tool provides persistent state across calls via a |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Tools are generally distinct but have overlapping capabilities: terminal can run scripts that js_exec and python_exec handle, and fs operations can be done via terminal as well. Descriptions provide guidance, but an agent might still be uncertain about which tool to use for mixed tasks.
Naming is inconsistent: 'fs' and 'terminal' are noun-based, while 'js_exec' and 'python_exec' follow a language+verb pattern. This mix makes the set less predictable.
4 tools is appropriate for a general-purpose shell server, covering files, two scripting languages, and raw command execution. It is slightly on the lower side but not insufficient.
The tool surface covers the core domain of shell operations: file management, code execution, and system commands. Missing features like persistent state sharing across executors or advanced process control are minor gaps.