Super Windows CLI MCP Server
Enables execution of Git commands through Git Bash, allowing repository operations like cloning, committing, and pushing directly from the MCP server.
Supports Node.js environment for running the server, with version 18.0.0+ required as a prerequisite for operation.
Provides complete access to Windows shell environments including PowerShell and CMD, enabling execution of system commands with SYSTEM-level privileges.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Super Windows CLI MCP Server show me all running processes with high CPU usage"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Super Windows CLI MCP Server
An enhanced fork of the Windows CLI MCP Server providing unrestricted system access to Windows environments via a command-line interface (MCP).
Based on: win-cli-mcp-server by SimonB97.
⚠️ CRITICAL SECURITY WARNING ⚠️
This server is designed to run with SYSTEM-level privileges on Windows. This grants it complete and unrestricted access to the entire operating system, including all files, processes, and configuration settings.
DO NOT install or run this server unless you fully understand the implications of granting SYSTEM-level access.
ONLY use this server in highly trusted environments where you have full control over network access.
NETWORK SECURITY IS PARAMOUNT: Since application-level restrictions are minimal by design, rely heavily on firewalls, network segmentation, and strict access control lists (ACLs) to protect the machine running this server.
REVIEW THE CONFIGURATION CAREFULLY: Pay close attention to
allowedPaths,blockedCommands, and other security settings inconfig.json. A misconfiguration can easily expose your system.
Use this software responsibly and at your own risk. The maintainers assume no liability for misuse or security breaches resulting from its use.
Related MCP server: Windows CLI MCP Server
Features
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).
Prerequisites
Before you begin, ensure you have the following installed:
Node.js: Version 18.0.0 or later. Download from nodejs.org. (Includes npm).
NSSM (Non-Sucking Service Manager): Required for reliable service installation. Download the latest version from nssm.cc.
Installation (Using NSSM - Recommended)
This method installs the server as a persistent Windows service that runs with SYSTEM privileges and starts automatically.
Clone or Download:
Clone this repository:
git clone <repository-url>Or download the source code
.zipand extract it to a suitable location (e.g.,C:\Servers\SuperWinCLIServer). Avoid user profile folders.
Place NSSM:
Download NSSM from nssm.cc.
Extract the zip file.
Copy the
nssm.exefile from the appropriate architecture folder (win32orwin64) into the root directory of this project (the same folder asinstall-service.ps1).
Install Dependencies & Build:
Open a terminal (PowerShell or CMD) in the project's root directory.
Run:
npm installThis command installs necessary Node.js packages and automatically runs
npm run buildto compile the TypeScript code into thedistfolder.
Configure
config.json:Copy: Make a copy of
config.sample.jsonand name itconfig.jsonin the project's root directory.Edit: Open
config.jsonand 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 thecommandpath (especially for Git Bash).ssh: Configure if you intend to use the SSH execution feature (disabled by default).
Save the
config.jsonfile.
Run Installation Script:
Open PowerShell as Administrator.
Navigate to the project's root directory (
cd C:\Servers\SuperWinCLIServer).Execute the installation script:
.\install-service.ps1This script uses NSSM to install and configure the
MCPServerservice to runnode.exe dist/index.jsasLocalSystem, starting automatically.
Verify Service Status:
In the same administrative PowerShell window, run:
Get-Service MCPServerThe status should be
Running. If it'sStopped, check the NSSM logs or Windows Event Viewer (Application and System logs) for errors.
Configuration (config.json) Details
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. IfrestrictWorkingDirectoryis 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 theallowedPathscheck for the working directory. Highly recommended to keeptrue.logCommands: Boolean. If true, executed commands and their output (truncated) are stored in memory (up tomaxHistorySize).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 ifenableInjectionProtectionis true).
ssh: Configure remote command execution via SSH.enabled: Boolean. Enable thessh_executeandssh_disconnecttools.connections: Object containing named connection configurations (host, port, username, password/privateKeyPath).
Configuration Merging: When
config.jsonis loaded, if it contains asecurityorshellssection, that entire section replaces the default configuration for that section. It does not merge individual fields withinsecurityorshells. Thesshsection is merged more granularly. Ensure yourconfig.jsonincludes all necessary fields for these sections if you customize them.
Service Management (NSSM)
Once installed via install-service.ps1, you can manage the service using standard Windows tools or NSSM commands from an administrative PowerShell/CMD in the project directory:
Start:
Start-Service MCPServeror.\nssm.exe start MCPServerStop:
Stop-Service MCPServeror.\nssm.exe stop MCPServerRestart:
Restart-Service MCPServeror.\nssm.exe restart MCPServerStatus:
Get-Service MCPServeror.\nssm.exe status MCPServerEdit Configuration (Advanced):
.\nssm.exe edit MCPServer(Opens the NSSM GUI editor)View Configuration:
.\nssm.exe dump MCPServer
Uninstallation (NSSM)
Open PowerShell as Administrator.
Navigate to the project's root directory.
Execute the uninstallation script:
.\uninstall-service.ps1This uses NSSM to stop and remove the
MCPServerservice.
Alternative Execution (Manual/Debug)
You can run the server directly without installing it as a service for testing or debugging purposes:
Ensure you have run
npm install.Ensure
config.jsonexists and is configured.Open a normal terminal (PowerShell/CMD) in the project root.
Run:
npm run startThe server will run in the foreground. Press
Ctrl + Cto stop it.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Available Tools
4 toolsexecute_commandB
Execute a command in the specified shell (powershell, cmd, or gitbash)
Example usage (PowerShell):
{
"shell": "powershell",
"command": "Get-Process | Select-Object -First 5",
"workingDir": "C:\Users\username"
}Example usage (CMD):
{
"shell": "cmd",
"command": "dir /b",
"workingDir": "C:\Projects"
}Example usage (Git Bash):
{
"shell": "gitbash",
"command": "ls -la",
"workingDir": "/c/Users/username"
}Inputs: command (required), shell (required), workingDir.
get_command_historyA
Get the history of executed commands
Example usage:
{
"limit": 5
}Example response:
[
{
"command": "Get-Process",
"output": "...",
"timestamp": "2024-03-20T10:30:00Z",
"exitCode": 0
}
]Inputs: limit.
ssh_disconnectA
Disconnect from an SSH server
Example usage:
{
"connectionId": "raspberry-pi"
}Use this to cleanly close SSH connections when they're no longer needed.
Inputs: connectionId (required).
ssh_executeA
Execute a command on a remote host via SSH
Example usage:
{
"connectionId": "raspberry-pi",
"command": "uname -a"
}Configuration required in config.json:
{
"ssh": {
"enabled": true,
"connections": {
"raspberry-pi": {
"host": "raspberrypi.local",
"port": 22,
"username": "pi",
"password": "raspberry"
}
}
}
}Inputs: command (required), connectionId (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
The tools have some overlap in purpose that could cause confusion. Both execute_command and ssh_execute run commands, differing only in local vs. remote execution, which might lead to misselection if the agent doesn't carefully note the distinction. However, get_command_history and ssh_disconnect are clearly distinct, and the descriptions help clarify the differences.
The naming follows a consistent verb_noun pattern throughout (e.g., execute_command, get_command_history, ssh_disconnect, ssh_execute), which is predictable and readable. There are minor deviations, such as the use of 'disconnect' versus 'execute' in the SSH tools, but overall, the pattern is maintained.
With 4 tools, the count is borderline for the server's purpose as a 'Super Windows CLI MCP Server'. It feels thin, lacking coverage for common CLI operations like file management, process control, or network utilities, which might be expected in such a domain. However, it's not severely under-scoped.
There are significant gaps in the tool surface for a Windows CLI server. It lacks basic operations like listing files, managing processes, or handling network configurations, and the SSH tools seem like an add-on rather than core functionality. This incompleteness will likely cause agent failures when trying to perform common CLI tasks.
Related MCP Connectors
Securely control computers you explicitly pair through files, terminals, processes, screenshots, desktop UI/input, clipboard, browser automation, diagnostics, and document tools.
Control your authorized Windows computers via OAuth: files, shell, apps, and task status.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Manage remote servers, SSH terminals, files, databases and proxies with scoped access and approvals.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn enhanced Windows CLI MCP server providing unrestricted system access capabilities, designed for trusted environments with full system access requirements.4374 npm7MIT
- AlicenseBqualityFmaintenanceA Model Context Protocol server that provides secure command-line access to Windows systems, allowing MCP clients like Claude Desktop to safely execute commands in PowerShell, CMD, and Git Bash shells with configurable security controls.9374 npm266MIT
- AlicenseAqualityCmaintenanceEnables secure command-line interactions on Windows systems with support for PowerShell, CMD, Git Bash, and WSL shells, providing controlled file access, command execution, and configurable security restrictions.636 npm4MIT
- AlicenseBqualityDmaintenanceEnables secure command-line interactions on Windows systems through PowerShell, CMD, and Git Bash, with support for SSH remote connections, SFTP file transfers, system monitoring, and configurable security controls including command blocking and path restrictions.342MIT