System · MODEL CONTEXT PROTOCOL

Faucet94 super win cli mcp server

Super Windows CLI Server, Fixed this "https://www.mcpmarket.com/server/super-windows-cli" as it is a mess to run on windows.

WHAT IT CONNECTS

What Faucet94 super win cli mcp server gives an AI Agent

  • Complete access to Windows shell environments (PowerShell, CMD, Git Bash - configurable).
  • Unrestricted command execution (configurable via `config.json`).
  • Full file system access (configurable via `config.json`).
  • SYSTEM-level service installation via NSSM for persistence and auto-recovery.
  • Automatic service recovery features provided by NSSM.
  • Network binding controls (intended, but primarily managed at the network/firewall level).
  • Disabled PowerShell telemetry for enhanced privacy.
  • Process reuse for performance (for shells).
  • Extended timeouts for long-running operations (configurable).
  • **Node.js:** Version 18.0.0 or later. Download from [nodejs.org](https://nodejs.org/). (Includes npm).
  • **NSSM (Non-Sucking Service Manager):** Required for reliable service installation. Download the latest version from [nssm.cc](https://nssm.cc/download).
  • **Clone or Download:**
  • Clone this repository: `git clone <repository-url>`
  • Or download the source code `.zip` and extract it to a suitable location (e.g., `C:\Servers\SuperWinCLIServer`). Avoid user profile folders.
  • **Place NSSM:**
  • Download NSSM from [nssm.cc](https://nssm.cc/download).
  • Extract the zip file.
  • Copy the `nssm.exe` file from the appropriate architecture folder (`win32` or `win64`) into the **root directory** of this project (the same folder as `install-service.ps1`).
  • **Install Dependencies & Build:**
  • Open a terminal (PowerShell or CMD) in the project's root directory.
  • Run: `npm install`
  • This command installs necessary Node.js packages and automatically runs `npm run build` to compile the TypeScript code into the `dist` folder.
  • **Configure `config.json`:**
  • **Copy:** Make a copy of `config.sample.json` and name it `config.json` in the project's root directory.
  • **Edit:** Open `config.json` and **carefully review and modify** the settings:
  • `security.allowedPaths`: **CRITICAL!** Change this from the sample paths to the *actual* directories the server needs access to. For security, be as specific as possible. Start with the project directory itself if unsure (e.g., `"C:\\Servers\\SuperWinCLIServer"` - remember double backslashes `\\`). The service runs as SYSTEM, so paths must be valid for that account.
  • `security.blockedCommands` / `blockedArguments`: Review the default lists. Add or remove commands/arguments based on your security policy.
  • `shells`: Enable/disable shells (PowerShell, CMD, Git Bash) and verify the `command` path (especially for Git Bash).
  • `ssh`: Configure if you intend to use the SSH execution feature (disabled by default).
  • **Save** the `config.json` file.
  • **Run Installation Script:**
  • Open **PowerShell as Administrator**.
  • Navigate to the project's root directory (`cd C:\Servers\SuperWinCLIServer`).
  • Execute the installation script: `.\install-service.ps1`
  • This script uses NSSM to install and configure the `MCPServer` service to run `node.exe dist/index.js` as `LocalSystem`, starting automatically.
  • **Verify Service Status:**
  • In the same administrative PowerShell window, run: `Get-Service MCPServer`
  • The status should be `Running`. If it's `Stopped`, check the NSSM logs or Windows Event Viewer (Application and System logs) for errors.
  • **`security`**:
  • `maxCommandLength`: Max characters allowed in a command string.
  • `blockedCommands`: Array of command names (without extension) to block (case-insensitive).
  • `blockedArguments`: Array of exact arguments to block (case-insensitive).
  • `allowedPaths`: **Crucial setting.** Array of absolute paths. If `restrictWorkingDirectory` is true, commands can only be executed if their working directory starts with one of these paths. Paths are compared case-insensitively after normalization. Use double backslashes (e.g., `"C:\\Tools\\Scripts"`).
  • `restrictWorkingDirectory`: Boolean. If true, enforce the `allowedPaths` check for the working directory. Highly recommended to keep `true`.
  • `logCommands`: Boolean. If true, executed commands and their output (truncated) are stored in memory (up to `maxHistorySize`).
  • `maxHistorySize`: Max number of commands to keep in the in-memory history.
  • `commandTimeout`: Seconds before a running command is killed automatically.
  • `enableInjectionProtection`: Boolean. If true, attempts to block shell operators (`&`, `|`, `;`, etc. defined per shell) in commands.
  • **`shells`**: Configure available local shells (powershell, cmd, gitbash).
  • `enabled`: Boolean. Allow use of this shell.
  • `command`: Path to the shell executable.
  • `args`: Array of default arguments passed to the shell before the user's command.
  • `blockedOperators`: Array of strings/characters to block within commands for this specific shell (used if `enableInjectionProtection` is true).
  • **`ssh`**: Configure remote command execution via SSH.
  • `enabled`: Boolean. Enable the `ssh_execute` and `ssh_disconnect` tools.
  • `connections`: Object containing named connection configurations (host, port, username, password/privateKeyPath).
  • **Configuration Merging:** When `config.json` is loaded, if it contains a `security` or `shells` section, that entire section **replaces** the default configuration for that section. It does *not* merge individual fields within `security` or `shells`. The `ssh` section is merged more granularly. Ensure your `config.json` includes all necessary fields for these sections if you customize them.
  • **Start:** `Start-Service MCPServer` or `.\nssm.exe start MCPServer`
  • **Stop:** `Stop-Service MCPServer` or `.\nssm.exe stop MCPServer`
  • **Restart:** `Restart-Service MCPServer` or `.\nssm.exe restart MCPServer`
  • **Status:** `Get-Service MCPServer` or `.\nssm.exe status MCPServer`
  • **Edit Configuration (Advanced):** `.\nssm.exe edit MCPServer` (Opens the NSSM GUI editor)
  • **View Configuration:** `.\nssm.exe dump MCPServer`
  • Open **PowerShell as Administrator**.
  • Navigate to the project's root directory.
  • Execute the uninstallation script: `.\uninstall-service.ps1`
  • This uses NSSM to stop and remove the `MCPServer` service.
  • Ensure you have run `npm install`.
  • Ensure `config.json` exists and is configured.
  • Open a normal terminal (PowerShell/CMD) in the project root.
  • Run: `npm run start`
  • The server will run in the foreground. Press `Ctrl + C` to stop it.

SECURITY

An MCP listing is not a security review

An MCP server may receive model context, credentials, local files, or permission to call external systems. Review its code, requested environment variables, network behavior, package provenance, and maintenance status before connecting it to an agent.