Skip to content
nathwn12Public

About

Control the Windows desktop from any MCP client: screenshot, window, input, cursor — Rust.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

puppet icon

puppet

Screenshot, list, and drive Windows windows over MCP stdio without stealing focus, moving the pointer, or writing the clipboard.

Install

Needs Windows 10/11 x64 with Node 22.14 or newer. Add the server to the OpenCode config, then save; OpenCode reloads config on save, no restart:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "puppet": {
        "type": "local",
        "command": ["cmd", "/c", "npx", "-y", "puppet-mcp@latest"]
      }
    }
  }
}

Confirm the launcher and its pin:

npx -y puppet-mcp@latest --doctor

The first real call provisions the pinned server binary from the tagged GitHub Release, sha256-verified before and after extraction.

Usage

Ask the agent to list the visible windows. Expected output: one entry per window with hwnd, pid, exe, title, and rects.

The server runs at its own integrity level. Input aimed at an elevated window is refused with a typed error instead of failing silently.

Configuration

Every tool, option, and environment variable: docs/GUIDE.md.

Development

cargo check --locked
cargo test --locked

cargo fmt --all --check and cargo clippy --all-targets --locked -- -D warnings are the static gate.

Status

Active — maintained, issues welcome.

Links

nathwn12

Built by nathwn12 · All projects

About

Control the Windows desktop from any MCP client: screenshot, window, input, cursor — Rust.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages