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
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
shellparam:pwsh,cmd,bash - Support
timeoutparam (ms) - Support
cwd(working directory) - Support
backgroundflag 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
filterparam (name substring match) - Support
sortparam (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
forceflag 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
filterparam (name match) - Support
statusparam (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
delayparam (seconds) - Support
cancelto 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
filterby 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
topmostflag (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
filterparam - Support
sortparam (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
listenflag (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
Issue 25: Tool — windows_file_search
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
Issue 39: Tool — windows_search
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 |