Files
Jonathan Miller 03e7ea0e69
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
feat: implement v1.0 high-priority tools (14 tools)
Replace template API scaffolding with Windows desktop system tools:

- shell.ts: PowerShell/cmd/bash executor + persistent terminal sessions
- tools/execute.ts: windows_execute (#1)
- tools/process.ts: windows_process_list (#2)
- tools/audio.ts: windows_audio_get, windows_audio_set (#6, #7)
- tools/system.ts: windows_system_info (#18)
- tools/terminal.ts: windows_terminal_start/send/read/list/kill (#35)
- tools/filesystem.ts: windows_file_read/write/edit, windows_search (#36-39)

Removes template API client/config/types (not needed for local OS MCP).

Authored-by: Moko Consulting
2026-05-25 21:03:40 -05:00

15 KiB

mcp_windows — Feature Issues

Issues to create on Gitea once repo is published. Labels: type: feature, priority: normal unless noted otherwise.


Category: Terminal & Process Execution

Issue 1: Tool — windows_execute

Labels: type: feature, priority: high

Execute shell commands (PowerShell, cmd, bash) with intelligent completion detection. Support background execution, timeout, and working directory.

Acceptance criteria:

  • Execute PowerShell commands by default
  • Support shell param: pwsh, cmd, bash
  • Support timeout param (ms)
  • Support cwd (working directory)
  • Support background flag for long-running commands
  • Return stdout, stderr, exit code
  • Detect hung/interactive prompts

Issue 2: Tool — windows_process_list

Labels: type: feature, priority: high

List running processes with PID, name, CPU%, memory usage, window title, and path.

Acceptance criteria:

  • Return all running processes
  • Include: PID, name, CPU%, memory (MB), window title, executable path
  • Support filter param (name substring match)
  • Support sort param (cpu, memory, name)

Issue 3: Tool — windows_process_kill

Labels: type: feature, priority: normal

Terminate a running process by PID or name.

Acceptance criteria:

  • Kill by PID (single or array)
  • Kill by name (with confirmation count)
  • Support force flag for immediate termination
  • Return success/failure per process

Issue 4: Tool — windows_service_list

Labels: type: feature, priority: normal

List Windows services with status, startup type, and description.

Acceptance criteria:

  • Return all services (or filtered by status/name)
  • Include: name, display name, status, startup type, description
  • Support filter param (name match)
  • Support status param (running, stopped, all)

Issue 5: Tool — windows_service_control

Labels: type: feature, priority: normal

Start, stop, restart, or change startup type of Windows services.

Acceptance criteria:

  • Actions: start, stop, restart, enable, disable
  • Support service name or display name
  • Return new service status after action
  • Require elevation indicator for protected services

Category: Audio & Volume Control

Issue 6: Tool — windows_audio_get

Labels: type: feature, priority: high

Get current audio state: master volume level, mute status, default device.

Acceptance criteria:

  • Return master volume (0-100)
  • Return mute state (boolean)
  • Return default playback device name
  • Return list of available audio devices

Issue 7: Tool — windows_audio_set

Labels: type: feature, priority: high

Set audio volume, mute/unmute, or change default audio device.

Acceptance criteria:

  • Set master volume (0-100)
  • Set mute state (true/false/toggle)
  • Set default playback device by name
  • Return new state after change

Issue 8: Tool — windows_audio_app_volumes

Labels: type: feature, priority: normal

Get and set per-application volume levels.

Acceptance criteria:

  • List all apps with active audio sessions
  • Get volume/mute per app
  • Set volume/mute per app
  • Identify apps by name or PID

Category: Display & Monitor

Issue 9: Tool — windows_display_get

Labels: type: feature, priority: normal

Get display configuration: resolution, refresh rate, scaling, multi-monitor layout.

Acceptance criteria:

  • List all connected monitors
  • Per monitor: resolution, refresh rate, scaling %, position, primary flag
  • Include display name/model
  • Report HDR status

Issue 10: Tool — windows_display_set

Labels: type: feature, priority: normal

Change display settings: resolution, refresh rate, scaling, brightness.

Acceptance criteria:

  • Set resolution per monitor
  • Set refresh rate
  • Set brightness (where supported)
  • Set scaling percentage
  • Return new settings after change

Issue 11: Tool — windows_screenshot

Labels: type: feature, priority: normal

Capture screenshot of screen, window, or region.

Acceptance criteria:

  • Capture full screen (specify monitor)
  • Capture specific window by title/PID
  • Capture region (x, y, width, height)
  • Return as base64 or save to file path
  • Support format: png, jpg

Category: Power Management

Issue 12: Tool — windows_power_get

Labels: type: feature, priority: normal

Get power state: battery level, AC/battery, power plan, screen timeout settings.

Acceptance criteria:

  • Battery percentage and charging status
  • Current power plan name
  • Screen/sleep timeout values
  • Estimated time remaining (battery)

Issue 13: Tool — windows_power_action

Labels: type: feature, priority: normal

Execute power actions: sleep, hibernate, lock, shutdown, restart, schedule.

Acceptance criteria:

  • Actions: sleep, hibernate, lock, shutdown, restart, log-off
  • Support delay param (seconds)
  • Support cancel to abort scheduled action
  • Support power plan switch (balanced, performance, power saver)

Category: Window Management

Issue 14: Tool — windows_window_list

Labels: type: feature, priority: normal

List all open windows with title, position, size, state.

Acceptance criteria:

  • List visible windows
  • Include: title, PID, process name, position (x,y), size (w,h), state (minimized/maximized/normal)
  • Support filter by title or process name
  • Include z-order (front to back)

Issue 15: Tool — windows_window_control

Labels: type: feature, priority: normal

Move, resize, minimize, maximize, close, or focus windows.

Acceptance criteria:

  • Actions: minimize, maximize, restore, close, focus, move, resize
  • Identify window by title (substring) or PID
  • Move: set x, y position
  • Resize: set width, height
  • Support topmost flag (always on top)

Category: Clipboard

Issue 16: Tool — windows_clipboard_get

Labels: type: feature, priority: normal

Read clipboard contents (text, file paths, image).

Acceptance criteria:

  • Get text content
  • Get file list (when files are copied)
  • Get image as base64 (when image is copied)
  • Report content type available

Issue 17: Tool — windows_clipboard_set

Labels: type: feature, priority: normal

Set clipboard contents.

Acceptance criteria:

  • Set text content
  • Set file list (for paste-as-files)
  • Set image from base64 or file path
  • Clear clipboard

Category: System Information

Issue 18: Tool — windows_system_info

Labels: type: feature, priority: high

Get comprehensive system information.

Acceptance criteria:

  • OS version, build, edition
  • CPU: model, cores, usage %
  • RAM: total, available, used %
  • Disk: per-drive total, free, usage %
  • Network: adapters, IPs, connection status
  • Uptime
  • Hostname, username, domain

Issue 19: Tool — windows_installed_apps

Labels: type: feature, priority: low

List installed applications.

Acceptance criteria:

  • List apps from registry + Store apps
  • Include: name, version, publisher, install date, size
  • Support filter param
  • Support sort param (name, date, size)

Category: Notifications & UI

Issue 20: Tool — windows_notification_send

Labels: type: feature, priority: normal

Send Windows toast notifications.

Acceptance criteria:

  • Title and body text
  • Support icon (file path)
  • Support action buttons
  • Support expiration time
  • Optional sound

Issue 21: Tool — windows_dialog

Labels: type: feature, priority: low

Show system dialog boxes (message box, input, file picker).

Acceptance criteria:

  • Message box with configurable buttons (OK, Yes/No, etc.)
  • Input dialog (text prompt)
  • File open/save dialog with filters
  • Folder picker
  • Return user selection

Category: Network

Issue 22: Tool — windows_network_info

Labels: type: feature, priority: normal

Get network configuration and status.

Acceptance criteria:

  • List adapters: name, type, status, IP, MAC, speed
  • DNS servers
  • Default gateway
  • Wi-Fi: SSID, signal strength, security
  • Current internet connectivity status

Issue 23: Tool — windows_network_connections

Labels: type: feature, priority: low

List active network connections (like netstat).

Acceptance criteria:

  • List TCP/UDP connections
  • Include: local addr:port, remote addr:port, state, PID, process name
  • Support filter by state, port, process
  • Support listen flag (only listening ports)

Category: File System (Enhanced)

Issue 24: Tool — windows_drives

Labels: type: feature, priority: normal

List drives/volumes with type, label, capacity, free space.

Acceptance criteria:

  • All mounted drives (local, network, removable)
  • Include: letter, label, type, filesystem, total, free, used %
  • Detect USB/removable vs fixed vs network

Labels: type: feature, priority: normal

Search files using Windows Search index (instant results for indexed locations).

Acceptance criteria:

  • Search by name pattern (glob or regex)
  • Search by content (indexed content search)
  • Filter by date range, size, type
  • Use Windows Search index when available
  • Fallback to filesystem walk for non-indexed paths
  • Return: path, size, modified date, type

Issue 26: Tool — windows_recycle_bin

Labels: type: feature, priority: low

Manage the Recycle Bin.

Acceptance criteria:

  • List items (name, original path, size, deleted date)
  • Restore item(s)
  • Empty bin (all or selected)
  • Get bin size/count

Category: Scheduled Tasks

Issue 27: Tool — windows_task_scheduler_list

Labels: type: feature, priority: normal

List Windows Task Scheduler tasks.

Acceptance criteria:

  • List all tasks or filter by folder/name
  • Include: name, status, last run, next run, trigger type
  • Support folder navigation

Issue 28: Tool — windows_task_scheduler_manage

Labels: type: feature, priority: normal

Create, delete, enable, disable, or run scheduled tasks.

Acceptance criteria:

  • Create task: name, command, trigger (time, interval, event), run level
  • Delete task by name
  • Enable/disable task
  • Run task immediately
  • Modify existing task triggers

Category: Registry

Issue 29: Tool — windows_registry_read

Labels: type: feature, priority: low

Read Windows Registry keys and values.

Acceptance criteria:

  • Read value by full path (HKLM, HKCU, etc.)
  • List subkeys of a key
  • List values of a key
  • Return value type (REG_SZ, DWORD, etc.)
  • Support common abbreviations (HKLM, HKCU, HKCR)

Issue 30: Tool — windows_registry_write

Labels: type: feature, priority: low, priority: caution

Write Windows Registry keys and values.

Acceptance criteria:

  • Set value (string, dword, binary, expandsz, multi_sz)
  • Create key
  • Delete value
  • Delete key (with confirmation)
  • Backup key before modification
  • Restricted to HKCU by default (HKLM requires explicit flag)

Category: Environment & Configuration

Issue 31: Tool — windows_env_get

Labels: type: feature, priority: normal

Get environment variables (user, system, process).

Acceptance criteria:

  • Get specific variable by name
  • List all variables (user, system, or both)
  • Show PATH as parsed list
  • Indicate scope (user vs system)

Issue 32: Tool — windows_env_set

Labels: type: feature, priority: normal

Set environment variables persistently (user or system scope).

Acceptance criteria:

  • Set user-scope variable
  • Set system-scope variable (requires elevation)
  • Append/prepend to PATH
  • Remove variable
  • Changes persist across sessions

Category: Startup & Autorun

Issue 33: Tool — windows_startup_list

Labels: type: feature, priority: normal

List applications configured to run at startup.

Acceptance criteria:

  • Registry Run/RunOnce (HKLM + HKCU)
  • Startup folder items
  • Scheduled tasks set to run at logon
  • Task Manager startup tab equivalent
  • Include: name, command, location, enabled status

Issue 34: Tool — windows_startup_manage

Labels: type: feature, priority: normal

Enable, disable, or add startup items.

Acceptance criteria:

  • Disable/enable existing startup item
  • Add new startup item (registry or startup folder)
  • Remove startup item
  • Set startup delay

Category: Desktop Commander Parity (Terminal)

Issue 35: Tool — windows_terminal_session

Labels: type: feature, priority: high

Persistent interactive terminal sessions (REPL, SSH, etc.) with output pagination.

Acceptance criteria:

  • Start persistent session (pwsh, cmd, python, node, wsl)
  • Send input to session
  • Read output with offset/length pagination
  • List active sessions
  • Terminate session
  • Detect prompt/completion state
  • Context overflow protection (configurable line limit)

Issue 36: Tool — windows_file_read

Labels: type: feature, priority: high

Read files with smart pagination, format detection, and URL support.

Acceptance criteria:

  • Text files with line offset/length pagination
  • PDF text extraction
  • Excel: sheet selection, range support
  • DOCX: outline mode
  • Images: base64 encoding
  • URL fetching (isUrl flag)
  • Binary file detection
  • Negative offset for tail behavior

Issue 37: Tool — windows_file_write

Labels: type: feature, priority: high

Write files with format support and chunking.

Acceptance criteria:

  • Text write/append
  • Excel write (JSON 2D array → .xlsx)
  • DOCX creation from markdown
  • PDF creation from markdown
  • Chunked writing for large files
  • Create parent directories if needed

Issue 38: Tool — windows_file_edit

Labels: type: feature, priority: high

Surgical file edits with find/replace.

Acceptance criteria:

  • Find and replace text (single or all occurrences)
  • Expected replacement count validation
  • Character-level diff on near-matches
  • Line-range replacement
  • Regex support
  • Dry-run mode

Labels: type: feature, priority: high

Search files by name or content with streaming results.

Acceptance criteria:

  • Search by filename pattern (glob)
  • Search by file content (regex or literal)
  • Case sensitivity toggle
  • File type filter
  • Exclude patterns
  • Context lines around matches
  • Result pagination
  • Background/streaming mode for large searches

Category: Configuration

Issue 40: Tool — windows_mcp_config

Labels: type: feature, priority: normal

Get and set mcp_windows configuration.

Acceptance criteria:

  • Get current config (allowed paths, blocked commands, limits)
  • Set values dynamically without restart
  • Configurable: blocked commands, allowed directories, output line limits
  • Persist config to ~/.mcp_windows.json

Milestone Plan

Milestone Issues Priority
v1.0 — Core #1, #2, #6, #7, #18, #35-39 High
v1.1 — System Control #3-5, #8, #12-13, #22, #24 Normal
v1.2 — Desktop Automation #9-11, #14-17, #20 Normal
v1.3 — Admin Tools #27-34, #40 Normal
v1.4 — Advanced #19, #21, #23, #25-26 Low