WinCtl for VS Code
io.github.sitharaj88/winctl
Windows desktop control for AI agents: screen, UI Automation, input, processes, files, shell.
client:VS Code
transport:stdio
runtime:npm
Install WinCtl in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "winctl-profile",
"description": "WINCTL_PROFILE",
"password": true
},
{
"type": "promptString",
"id": "winctl-tiers",
"description": "WINCTL_TIERS",
"password": true
},
{
"type": "promptString",
"id": "winctl-allowed-paths",
"description": "WINCTL_ALLOWED_PATHS",
"password": true
},
{
"type": "promptString",
"id": "winctl-confirm-destructive",
"description": "WINCTL_CONFIRM_DESTRUCTIVE",
"password": true
},
{
"type": "promptString",
"id": "winctl-audit-log",
"description": "WINCTL_AUDIT_LOG",
"password": true
},
{
"type": "promptString",
"id": "winctl-max-image-width",
"description": "WINCTL_MAX_IMAGE_WIDTH",
"password": true
}
],
"servers": {
"winctl": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@sitharaj88/winctl"
],
"env": {
"WINCTL_PROFILE": "${input:winctl-profile}",
"WINCTL_TIERS": "${input:winctl-tiers}",
"WINCTL_ALLOWED_PATHS": "${input:winctl-allowed-paths}",
"WINCTL_CONFIRM_DESTRUCTIVE": "${input:winctl-confirm-destructive}",
"WINCTL_AUDIT_LOG": "${input:winctl-audit-log}",
"WINCTL_MAX_IMAGE_WIDTH": "${input:winctl-max-image-width}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs