Windows

Provides secure Windows CLI access, SFTP, WSL path support, and SSH operations for MCP clients.
  • 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).

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
Windows MCP Server - quanticsoul4772/mcp-server-win-cli | VeilStrat