Windows desktop control for AI agents: screen, UI Automation, input, processes, files, shell.
registry version 1.0.2
npm
npx -y @sitharaj88/winctlnpm
npx -y @sitharaj88/winctl@1.0.2mcpb
https://github.com/sitharaj88/winctl/releases/download/v1.0.2/winctl.mcpb
Pick your client — the config below is generated for this server (local stdio). Copy respects the “Pin version” switch above.
claude_desktop_config.json
{
"mcpServers": {
"winctl": {
"command": "npx",
"args": [
"-y",
"@sitharaj88/winctl"
]
}
}
}{
"mcpServers": {
"winctl": {
"command": "npx",
"args": [
"-y",
"@sitharaj88/winctl@1.0.2"
]
}
}
}Format verified against the official Claude Desktop docs ↗.
terminal
claude mcp add winctl -- npx -y @sitharaj88/winctl
claude mcp add winctl -- npx -y @sitharaj88/winctl@1.0.2
Format verified against the official Claude Code docs ↗.
.cursor/mcp.json
{
"mcpServers": {
"winctl": {
"command": "npx",
"args": [
"-y",
"@sitharaj88/winctl"
]
}
}
}{
"mcpServers": {
"winctl": {
"command": "npx",
"args": [
"-y",
"@sitharaj88/winctl@1.0.2"
]
}
}
}Format verified against the official Cursor docs ↗.
.vscode/mcp.json
{
"servers": {
"winctl": {
"command": "npx",
"args": [
"-y",
"@sitharaj88/winctl"
]
}
}
}{
"servers": {
"winctl": {
"command": "npx",
"args": [
"-y",
"@sitharaj88/winctl@1.0.2"
]
}
}
}Format verified against the official VS Code docs ↗.
mcp_config.json
{
"mcpServers": {
"winctl": {
"command": "npx",
"args": [
"-y",
"@sitharaj88/winctl"
]
}
}
}{
"mcpServers": {
"winctl": {
"command": "npx",
"args": [
"-y",
"@sitharaj88/winctl@1.0.2"
]
}
}
}Format verified against the official Windsurf docs ↗.
Defined in the server's official registry manifest. Required secrets are shown as <YOUR_…> placeholders in the configs above.
WINCTL_PROFILE — Permission profile: readonly (observation only), standard (adds desktop interaction and file access), or full (adds process control and shell execution). Defaults to standard.WINCTL_TIERS — Comma-separated capability tiers, overriding the profile. Any of: observe, interact, filesystem, manage, shell.WINCTL_ALLOWED_PATHS — Semicolon-separated folders that file tools may access. Empty means the whole filesystem except protected Windows system directories.WINCTL_CONFIRM_DESTRUCTIVE — Set to false to skip user confirmation prompts for destructive actions. Defaults to true.WINCTL_AUDIT_LOG — Path to the JSONL audit log. Defaults to %LOCALAPPDATA%\winctl\audit.jsonl.WINCTL_MAX_IMAGE_WIDTH — Screenshots are downscaled to at most this width in pixels. Defaults to 1600.最近更新于 102 天前 · MIT license
WinCtl Full Windows desktop access for Claude and other MCP clients See the screen, read and drive real application UIs, manage windows and processes, work wi…
Summary from the project README — github.com/sitharaj88/winctl
Distributed as npm, mcpb, listed under Developer Tools. Review our MCP security guide before granting access to real data.
WinCtl Full Windows desktop access for Claude and other MCP clients See the screen, read and drive real application UIs, manage windows and processes, work wi
Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.
The MCP server itself is free to install. The source is public on https://github.com/sitharaj88/winctl. Any third-party service it calls may require its own API key and account.
Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.
Publish this server? Link back with a badge on your README or site — copy either snippet.
Markdown
[](https://mcpnav.net/server/winctl/)
HTML
<a href="https://mcpnav.net/server/winctl/"><img src="https://mcpnav.net/badge/winctl.svg" alt="Listed on MCPNav" height="20"></a>