Shell MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Host/IP to bind for HTTP transports | 127.0.0.1 |
| PORT | No | HTTP port for SSE / Streamable HTTP transports | 3000 |
| DEBUG | No | Enables detailed logging | false |
| AUDIT_LOG | No | Logs all tool calls to logs/audit.log | false |
| TRANSPORT | No | Transport type: stdio, sse, or streamable-http | stdio |
| ALLOW_SUDO | No | When true, allows sudo prefixed commands | false |
| MCP_ENDPOINT | No | Endpoint path for Streamable HTTP transport | /mcp |
| SANDBOX_MODE | No | When true, blocks risky commands (network, process control, etc.) | false |
| SUDO_PASSWORD | No | Password for sudo -S (never logged) | |
| COMMAND_TIMEOUT | No | Maximum time (ms) for commands to run | 30000 |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| execA | Execute a shell command on the host system and return its output. Runs the command in a non-interactive shell and captures both stdout and stderr. The response includes the exit code, a timed-out flag, and the full stdout/stderr output. Commands are subject to rate limiting (default 60/min) and a configurable execution timeout. Certain destructive patterns (e.g. |
| readFileA | Read the entire contents of a file and return it as UTF-8 text. Use this to inspect configuration files, source code, logs, or any text-based file. Returns the raw file content as a single text block. Throws an error if the file does not exist or cannot be read. Paths targeting sensitive system directories (e.g. /etc/shadow, /proc/, /dev/) are blocked. |
| writeFileA | Write text content to a file, creating it if it does not exist or overwriting it if it does. The file is written atomically as UTF-8. Use this to create new files, update configuration, save generated code, or persist any text data. Parent directories must already exist. Returns a confirmation message with the resolved file path on success. Paths targeting sensitive system directories (e.g. /etc/shadow, /proc/, /dev/) are blocked. |
| deleteFileA | Permanently delete a single file from the filesystem. This operation is irreversible. Only regular files can be deleted — use the |
| listDirA | List the contents of a directory with metadata for each entry. Returns a formatted table with columns: Type (d=directory, l=symlink, -=file), Size (bytes), Modified (ISO datetime), and Name. Use this to explore the filesystem, discover files, or verify directory structure. Does not recurse into subdirectories — call again on child directories for deeper exploration. Paths targeting sensitive system directories (e.g. /proc/, /sys/, /dev/) are blocked. |
| getSystemInfoA | Retrieve comprehensive system information about the host machine. Returns a structured text report containing: OS platform, type, and release version; CPU model, speed (MHz), and core count; total, free, and used memory with percentage; disk usage (via |
| listProcessesA | List running processes on the host system using |
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 7 tools
Each tool has a clear, distinct purpose: file operations (delete, read, write), directory listing, process listing, system info retrieval, and arbitrary command execution. There is no overlap in functionality.
Tool names follow a consistent verb+noun camelCase pattern (e.g., deleteFile, readFile, writeFile, listDir, listProcesses, getSystemInfo). The only outlier, 'exec', is a common and concise abbreviation that fits the pattern of action-oriented names.
Seven tools is well-scoped for a shell MCP server. It covers essential operations (file manipulation, directory browsing, system info, process management, and command execution) without being overwhelming or sparse.
The tool set covers core file operations (create, read, delete), directory listing, system information, process listing, and general command execution. Minor gaps like file moving or directory creation can be handled via the 'exec' tool, so the surface is nearly complete for typical shell workflows.