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 |
Capabilities
Features and capabilities supported by this server
| 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 | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/luciVuc/shell-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server