- Home
- MCP servers
- Windows
Windows
- typescript
1
GitHub Stars
typescript
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"quanticsoul4772-mcp-server-win-cli": {
"command": "npx",
"args": [
"-y",
"@quanticsoul4772/mcp-server-win-cli"
]
}
}
}You run a Windows-based MCP server that securely exposes your command line and remote SSH capabilities to MCP clients. It provides controlled access to PowerShell, CMD, and Git Bash, along with tools for file transfer, system monitoring, and diagnostics, all governed by configurable security rules to keep your system safe.
How to use
You connect to the Windows MCP Server from an MCP client (for example Claude Desktop) by configuring the client to load the MCP server configuration. The server exposes tools and resources that let you execute commands in multiple shells, manage SSH connections, and monitor job status.
Key capabilities include running commands in PowerShell, CMD, or Git Bash, executing commands on remote hosts via SSH, transferring files using SFTP, and inspecting server configuration and status through dedicated resources. You can also run long-running commands as background jobs and retrieve streaming output.
How to install
Prerequisites: you need Node.js and npm (or npx) installed on your Windows machine.
Install the MCP server package via npx and run or initialize a default configuration.
# Install and start the MCP server using npx
npx -y @quanticsoul4772/mcp-server-win-cli
# Initialize a default config file if you want to start from a known baseline
npx @quanticsoul4772/mcp-server-win-cli --init-config ./config.json
Configuration and usage tips
The server uses a JSON configuration file to control security, shells, and SSH connections. You can set which commands are blocked, what working directories are allowed, and how long commands can run.
Usage with Claude Desktop or other MCP clients involves adding an MCP server entry that points to the local npx command and the package you want to run. You can also provide a --config path to use a custom configuration file.
Note that the default configuration is designed to be restrictive for security. You can customize allowed paths, blocked commands, and shell options to fit your environment.
Additional sections
Security considerations: The MCP server enables direct access to your system’s command line and potentially remote SSH connections. Review and restrict allowed paths and SSH connections, enable directory restrictions, and configure command blocks.
Configuration overview: You’ll manage three main areas — security settings (blocked commands, arguments, path restrictions), shell configurations (powershell, cmd, gitbash), and SSH (enablement, timeouts, connections). The sample default shows conservative limits for safety.
Troubleshooting: Use diagnostic tools to inspect security rules, validate commands before running, and read command history to understand exit codes. If you encounter a blocked command, a path not allowed, or an SSH failure, adjust the corresponding settings and restart the MCP server.
Notes: You can access configuration and status via MCP resources such as ssh://{connectionId}, ssh://config, cli://currentdir, cli://config, and cli://background-jobs.
Available tools
execute_command
Run a command in the selected shell (PowerShell, CMD, or Git Bash) and capture stdout, stderr, and exit code.
read_command_history
Retrieve recent command executions with output and exit codes to review history.
start_background_job
Launch a command as a background job with asynchronous execution and streaming output.
get_job_status
Query metadata and status for a running or completed background job.
get_job_output
Stream output from a background job as it executes.
execute_batch
Execute multiple commands sequentially with optional stop-on-error behavior.
ssh_execute
Execute a command on a remote host via an SSH connection profile.
ssh_disconnect
Close an active SSH connection.
create_ssh_connection
Add a new SSH connection profile to the configuration.
read_ssh_connections
List all configured SSH connections.
update_ssh_connection
Modify an existing SSH connection profile.
delete_ssh_connection
Remove an SSH connection profile from the configuration.
read_ssh_pool_status
Get the current health and status of the SSH connection pool.
validate_ssh_connection
Test SSH configuration and connectivity to a remote host.
sftp_upload
Upload a file to a remote host via SFTP.
sftp_download
Download a file from a remote host via SFTP.
sftp_list_directory
List files and directories on a remote host via SFTP.
sftp_delete
Delete a file or directory on a remote host via SFTP.
check_security_config
Inspect security rules for commands, paths, operators, and limits.
test_connection
Validate shell connectivity and basic functionality.
validate_command
Dry-run validation of a command to check for blockages or syntax issues.
explain_exit_code
Provide detailed explanations for exit codes returned by commands.
validate_config
Check the configuration file for syntax and semantic validity.
read_environment_variable
Read a single environment variable with security filtering.
list_environment_variables
List accessible environment variables under current security constraints.
get_config_value
Retrieve a specific configuration value by dot notation path.
reload_config
Validate and preview reloading the configuration.
dns_lookup
Perform DNS lookups (A, AAAA, MX, TXT, NS, CNAME) for hostnames.
test_connectivity
Test network connectivity with protections against SSRF exploits.
read_current_directory
Get the current working directory of the CLI MCP server.
get_cpu_usage
Get CPU usage with a configurable sampling interval.
get_disk_space
Get disk space information for specified drives or all drives.
list_processes
List currently running processes (disabled by default for security).