MCP Shell Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level (e.g., debug, info, warn, error). | |
| EXECUTOR_URL | No | URL for remote executor. | |
| BACKOFFICE_PORT | No | Port for backoffice server. | |
| EXECUTION_BACKEND | No | Execution backend type. | |
| BACKOFFICE_ENABLED | No | Backoffice server enabled flag. | |
| MCP_DISABLED_TOOLS | No | Comma-separated list of tool names to disable. | |
| MCP_SHELL_ELICITATION | No | Enable user intent elicitation for complex scenarios (for enhanced modes). | |
| MCP_SHELL_LLM_API_KEY | No | API key for LLM-based safety evaluation (optional, falls back to MCP sampling). | |
| MCP_SHELL_LLM_TIMEOUT | No | Timeout for LLM evaluation in seconds (default: 30). | 30 |
| MCP_SHELL_MAX_MEMORY_MB | No | Default maximum memory usage in MB. | |
| MCP_SHELL_SECURITY_MODE | No | Set the default security mode (permissive, restrictive, enhanced, enhanced-fast, or custom). | |
| MCP_SHELL_DEFAULT_WORKDIR | No | Set the default working directory for all command executions. | |
| MCP_SHELL_ALLOWED_WORKDIRS | No | Comma-separated list of allowed working directories. | |
| MCP_SHELL_MAX_EXECUTION_TIME | No | Default maximum execution time in seconds. |
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 | {} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| shell_executeA | Execute shell commands with bounded output retention. When output_id is present, read_execution_output returns the retained output; output_truncated=true means data beyond max_output_size was not retained. Supports adaptive execution mode and input_output_id pipeline operations. NOTE: This is MCP Shell Server tool - do NOT use VS Code internal run_in_terminal parameters like "explanation" or "isBackground". |
| process_get_executionA | Retrieve detailed information about a specific command execution, including status, output, execution time, and any errors. Use the execution_id returned from shell_execute. |
| shell_set_default_workdirC | Set the default working directory for command execution |
| list_execution_outputsA | List all output files generated by command executions, including stdout, stderr, and log files. Supports filtering by execution ID, output type, or filename pattern. |
| read_execution_outputA | Read retained output from a command execution. The output_id does not bypass max_output_size; output_truncated=true means additional data was discarded to protect server memory. |
| delete_execution_outputsA | Delete one or more output files by their output_ids. Requires explicit confirmation flag to prevent accidental deletion. Useful for cleanup after processing results. |
| get_cleanup_suggestionsB | Get automatic cleanup suggestions for output file management. Analyzes current directory size and file age to recommend cleanup candidates. Helps manage disk usage by identifying old or large files. |
| perform_auto_cleanupA | Perform automatic cleanup of old output files based on age and retention policies. Supports dry-run preview and preserves a configurable number of recent files. |
| terminal_operateB | Unified host-terminal operations: create sessions, send input, and get output with automatic position tracking. Creation and input are unavailable in restrictive sandbox mode. |
| terminal_listC | List active terminal sessions |
| terminal_get_infoC | Get terminal detailed information |
| terminal_closeC | Close terminal session |
| command_history_queryA | Universal command history query tool with pagination, search, individual reference, and analytics capabilities. Supports: entry references via execution_id (avoiding duplication with process_get_execution), analytics (stats/patterns/top_commands), paginated search with date filtering. Use this for all command history operations. |
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 13 tools
Most tools have clear, distinct purposes: shell_execute runs commands, process_get_execution retrieves execution details, and the various output/cleanup tools each handle different aspects. Some overlap exists between shell_execute and terminal_operate, and among cleanup-related tools, but descriptions clarify the boundaries.
Naming follows a general pattern with verbs like list, read, delete, get, close, and terminal_ prefix for terminal tools, but there are inconsistencies such as shell_execute vs process_get_execution, shell_set_default_workdir, and perform_auto_cleanup. The mixed styles (e.g., verb_noun vs noun_verb_noun) are readable but not uniform.
13 tools is well-scoped for a shell server covering execution, process info, output management, cleanup, terminal sessions, and history. Each tool contributes to the core domain without excessive redundancy.
The tool surface covers the main lifecycle: execute commands, retrieve status, manage outputs, cleanup, and query history. Minor gaps include lack of a forceful process termination tool and no direct way to modify or cancel a running execution, but most workflows are supported.