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

Faucet94 super win cli mcp server 为 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

MCP 收录不等于安全审核

MCP 服务器可能获得模型上下文、凭据、本地文件或调用外部系统的权限。连接 Agent 前,请检查代码、环境变量、网络行为、软件包来源与维护状态。