@mokoconsulting/mcp-windows 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +94 -0
- package/.gitmessage +9 -0
- package/.mokogitea/ISSUE_TEMPLATE/adr.md +110 -0
- package/.mokogitea/ISSUE_TEMPLATE/bug_report.md +48 -0
- package/.mokogitea/ISSUE_TEMPLATE/config.yml +18 -0
- package/.mokogitea/ISSUE_TEMPLATE/documentation.md +52 -0
- package/.mokogitea/ISSUE_TEMPLATE/feature_request.md +51 -0
- package/.mokogitea/ISSUE_TEMPLATE/mcp_api_integration.md +48 -0
- package/.mokogitea/ISSUE_TEMPLATE/mcp_connection_issue.md +67 -0
- package/.mokogitea/ISSUE_TEMPLATE/mcp_tool_request.md +49 -0
- package/.mokogitea/ISSUE_TEMPLATE/question.md +82 -0
- package/.mokogitea/ISSUE_TEMPLATE/rfc.md +126 -0
- package/.mokogitea/ISSUE_TEMPLATE/security.md +51 -0
- package/.mokogitea/ISSUE_TEMPLATE/version.md +24 -0
- package/.mokogitea/branch-protection.yml +251 -0
- package/.mokogitea/workflows/auto-assign.yml +76 -0
- package/.mokogitea/workflows/auto-bump.yml +66 -0
- package/.mokogitea/workflows/auto-dev-issue.yml +207 -0
- package/.mokogitea/workflows/auto-release.yml +421 -0
- package/.mokogitea/workflows/branch-cleanup.yml +48 -0
- package/.mokogitea/workflows/cascade-dev.yml +10 -0
- package/.mokogitea/workflows/changelog-validation.yml +101 -0
- package/.mokogitea/workflows/ci-generic.yml +191 -0
- package/.mokogitea/workflows/cleanup.yml +87 -0
- package/.mokogitea/workflows/codeql-analysis.yml +115 -0
- package/.mokogitea/workflows/copilot-agent.yml +44 -0
- package/.mokogitea/workflows/deploy-manual.yml +126 -0
- package/.mokogitea/workflows/enterprise-firewall-setup.yml +758 -0
- package/.mokogitea/workflows/gitleaks.yml +92 -0
- package/.mokogitea/workflows/issue-branch.yml +73 -0
- package/.mokogitea/workflows/mcp-auto-release.yml +278 -0
- package/.mokogitea/workflows/mcp-build-test.yml +65 -0
- package/.mokogitea/workflows/mcp-sdk-check.yml +109 -0
- package/.mokogitea/workflows/mcp-tool-inventory.yml +61 -0
- package/.mokogitea/workflows/notify.yml +70 -0
- package/.mokogitea/workflows/npm-publish.yml +113 -0
- package/.mokogitea/workflows/pr-check.yml +534 -0
- package/.mokogitea/workflows/pre-release.yml +252 -0
- package/.mokogitea/workflows/rc-revert.yml +66 -0
- package/.mokogitea/workflows/repo-health.yml +712 -0
- package/.mokogitea/workflows/repository-cleanup.yml +525 -0
- package/.mokogitea/workflows/security-audit.yml +82 -0
- package/.mokogitea/workflows/standards-compliance.yml +2614 -0
- package/.mokogitea/workflows/sync-version-on-merge.yml +133 -0
- package/.mokogitea/workflows/update-server.yml +312 -0
- package/.mokogitea/workflows/workflow-sync-trigger.yml +73 -0
- package/CHANGELOG.md +130 -0
- package/CLAUDE.md +49 -0
- package/CONTRIBUTING.md +161 -0
- package/ISSUES.md +601 -0
- package/Makefile +70 -0
- package/README.md +80 -0
- package/automation/ci-issue-reporter.sh +237 -0
- package/config.example.json +18 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +111 -0
- package/dist/shell.d.ts +50 -0
- package/dist/shell.js +209 -0
- package/dist/tools/apps.d.ts +3 -0
- package/dist/tools/apps.js +63 -0
- package/dist/tools/audio.d.ts +3 -0
- package/dist/tools/audio.js +142 -0
- package/dist/tools/audio_apps.d.ts +3 -0
- package/dist/tools/audio_apps.js +86 -0
- package/dist/tools/automation.d.ts +3 -0
- package/dist/tools/automation.js +261 -0
- package/dist/tools/bluetooth.d.ts +3 -0
- package/dist/tools/bluetooth.js +96 -0
- package/dist/tools/clipboard.d.ts +3 -0
- package/dist/tools/clipboard.js +118 -0
- package/dist/tools/config.d.ts +3 -0
- package/dist/tools/config.js +85 -0
- package/dist/tools/dialog.d.ts +3 -0
- package/dist/tools/dialog.js +72 -0
- package/dist/tools/display.d.ts +3 -0
- package/dist/tools/display.js +256 -0
- package/dist/tools/drives.d.ts +3 -0
- package/dist/tools/drives.js +98 -0
- package/dist/tools/environment.d.ts +3 -0
- package/dist/tools/environment.js +129 -0
- package/dist/tools/execute.d.ts +3 -0
- package/dist/tools/execute.js +28 -0
- package/dist/tools/filesystem.d.ts +3 -0
- package/dist/tools/filesystem.js +230 -0
- package/dist/tools/firewall.d.ts +3 -0
- package/dist/tools/firewall.js +108 -0
- package/dist/tools/hosts.d.ts +3 -0
- package/dist/tools/hosts.js +119 -0
- package/dist/tools/maintenance.d.ts +3 -0
- package/dist/tools/maintenance.js +236 -0
- package/dist/tools/netstat.d.ts +3 -0
- package/dist/tools/netstat.js +56 -0
- package/dist/tools/network.d.ts +3 -0
- package/dist/tools/network.js +70 -0
- package/dist/tools/notification.d.ts +3 -0
- package/dist/tools/notification.js +41 -0
- package/dist/tools/power.d.ts +3 -0
- package/dist/tools/power.js +104 -0
- package/dist/tools/printer.d.ts +3 -0
- package/dist/tools/printer.js +97 -0
- package/dist/tools/process.d.ts +3 -0
- package/dist/tools/process.js +54 -0
- package/dist/tools/process_kill.d.ts +3 -0
- package/dist/tools/process_kill.js +48 -0
- package/dist/tools/recycle_bin.d.ts +3 -0
- package/dist/tools/recycle_bin.js +108 -0
- package/dist/tools/registry.d.ts +3 -0
- package/dist/tools/registry.js +136 -0
- package/dist/tools/scheduler.d.ts +3 -0
- package/dist/tools/scheduler.js +116 -0
- package/dist/tools/service.d.ts +3 -0
- package/dist/tools/service.js +79 -0
- package/dist/tools/startup.d.ts +3 -0
- package/dist/tools/startup.js +159 -0
- package/dist/tools/storage.d.ts +3 -0
- package/dist/tools/storage.js +129 -0
- package/dist/tools/system.d.ts +3 -0
- package/dist/tools/system.js +84 -0
- package/dist/tools/system_mgmt.d.ts +3 -0
- package/dist/tools/system_mgmt.js +174 -0
- package/dist/tools/terminal.d.ts +3 -0
- package/dist/tools/terminal.js +80 -0
- package/dist/tools/theme.d.ts +3 -0
- package/dist/tools/theme.js +165 -0
- package/dist/tools/usb.d.ts +3 -0
- package/dist/tools/usb.js +52 -0
- package/dist/tools/virtual_desktop.d.ts +3 -0
- package/dist/tools/virtual_desktop.js +112 -0
- package/dist/tools/wifi.d.ts +3 -0
- package/dist/tools/wifi.js +136 -0
- package/dist/tools/window.d.ts +3 -0
- package/dist/tools/window.js +189 -0
- package/dist/tools/winget.d.ts +3 -0
- package/dist/tools/winget.js +79 -0
- package/dist/tools/wsl.d.ts +3 -0
- package/dist/tools/wsl.js +99 -0
- package/docs/API.md +63 -0
- package/docs/ARCHITECTURE.md +73 -0
- package/docs/INSTALLATION.md +102 -0
- package/docs/index.md +12 -0
- package/package.json +35 -0
- package/scripts/setup.mjs +123 -0
- package/src/index.ts +125 -0
- package/src/shell.ts +253 -0
- package/src/tools/apps.ts +76 -0
- package/src/tools/audio.ts +161 -0
- package/src/tools/audio_apps.ts +98 -0
- package/src/tools/automation.ts +297 -0
- package/src/tools/bluetooth.ts +114 -0
- package/src/tools/clipboard.ts +138 -0
- package/src/tools/config.ts +105 -0
- package/src/tools/dialog.ts +87 -0
- package/src/tools/display.ts +285 -0
- package/src/tools/drives.ts +124 -0
- package/src/tools/environment.ts +146 -0
- package/src/tools/execute.ts +35 -0
- package/src/tools/filesystem.ts +273 -0
- package/src/tools/firewall.ts +125 -0
- package/src/tools/hosts.ts +135 -0
- package/src/tools/maintenance.ts +299 -0
- package/src/tools/netstat.ts +72 -0
- package/src/tools/network.ts +84 -0
- package/src/tools/notification.ts +50 -0
- package/src/tools/power.ts +123 -0
- package/src/tools/printer.ts +114 -0
- package/src/tools/process.ts +80 -0
- package/src/tools/process_kill.ts +57 -0
- package/src/tools/recycle_bin.ts +126 -0
- package/src/tools/registry.ts +165 -0
- package/src/tools/scheduler.ts +140 -0
- package/src/tools/service.ts +102 -0
- package/src/tools/startup.ts +180 -0
- package/src/tools/storage.ts +141 -0
- package/src/tools/system.ts +99 -0
- package/src/tools/system_mgmt.ts +190 -0
- package/src/tools/terminal.ts +117 -0
- package/src/tools/theme.ts +205 -0
- package/src/tools/usb.ts +65 -0
- package/src/tools/virtual_desktop.ts +122 -0
- package/src/tools/wifi.ts +157 -0
- package/src/tools/window.ts +211 -0
- package/src/tools/winget.ts +100 -0
- package/src/tools/wsl.ts +112 -0
- package/tsconfig.json +19 -0
package/ISSUES.md
ADDED
|
@@ -0,0 +1,601 @@
|
|
|
1
|
+
# mcp_windows — Feature Issues
|
|
2
|
+
|
|
3
|
+
Issues to create on Gitea once repo is published.
|
|
4
|
+
Labels: `type: feature`, `priority: normal` unless noted otherwise.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Category: Terminal & Process Execution
|
|
9
|
+
|
|
10
|
+
### Issue 1: Tool — `windows_execute`
|
|
11
|
+
**Labels:** `type: feature`, `priority: high`
|
|
12
|
+
|
|
13
|
+
Execute shell commands (PowerShell, cmd, bash) with intelligent completion detection. Support background execution, timeout, and working directory.
|
|
14
|
+
|
|
15
|
+
**Acceptance criteria:**
|
|
16
|
+
- Execute PowerShell commands by default
|
|
17
|
+
- Support `shell` param: `pwsh`, `cmd`, `bash`
|
|
18
|
+
- Support `timeout` param (ms)
|
|
19
|
+
- Support `cwd` (working directory)
|
|
20
|
+
- Support `background` flag for long-running commands
|
|
21
|
+
- Return stdout, stderr, exit code
|
|
22
|
+
- Detect hung/interactive prompts
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
### Issue 2: Tool — `windows_process_list`
|
|
27
|
+
**Labels:** `type: feature`, `priority: high`
|
|
28
|
+
|
|
29
|
+
List running processes with PID, name, CPU%, memory usage, window title, and path.
|
|
30
|
+
|
|
31
|
+
**Acceptance criteria:**
|
|
32
|
+
- Return all running processes
|
|
33
|
+
- Include: PID, name, CPU%, memory (MB), window title, executable path
|
|
34
|
+
- Support `filter` param (name substring match)
|
|
35
|
+
- Support `sort` param (cpu, memory, name)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
### Issue 3: Tool — `windows_process_kill`
|
|
40
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
41
|
+
|
|
42
|
+
Terminate a running process by PID or name.
|
|
43
|
+
|
|
44
|
+
**Acceptance criteria:**
|
|
45
|
+
- Kill by PID (single or array)
|
|
46
|
+
- Kill by name (with confirmation count)
|
|
47
|
+
- Support `force` flag for immediate termination
|
|
48
|
+
- Return success/failure per process
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### Issue 4: Tool — `windows_service_list`
|
|
53
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
54
|
+
|
|
55
|
+
List Windows services with status, startup type, and description.
|
|
56
|
+
|
|
57
|
+
**Acceptance criteria:**
|
|
58
|
+
- Return all services (or filtered by status/name)
|
|
59
|
+
- Include: name, display name, status, startup type, description
|
|
60
|
+
- Support `filter` param (name match)
|
|
61
|
+
- Support `status` param (running, stopped, all)
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### Issue 5: Tool — `windows_service_control`
|
|
66
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
67
|
+
|
|
68
|
+
Start, stop, restart, or change startup type of Windows services.
|
|
69
|
+
|
|
70
|
+
**Acceptance criteria:**
|
|
71
|
+
- Actions: start, stop, restart, enable, disable
|
|
72
|
+
- Support service name or display name
|
|
73
|
+
- Return new service status after action
|
|
74
|
+
- Require elevation indicator for protected services
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Category: Audio & Volume Control
|
|
79
|
+
|
|
80
|
+
### Issue 6: Tool — `windows_audio_get`
|
|
81
|
+
**Labels:** `type: feature`, `priority: high`
|
|
82
|
+
|
|
83
|
+
Get current audio state: master volume level, mute status, default device.
|
|
84
|
+
|
|
85
|
+
**Acceptance criteria:**
|
|
86
|
+
- Return master volume (0-100)
|
|
87
|
+
- Return mute state (boolean)
|
|
88
|
+
- Return default playback device name
|
|
89
|
+
- Return list of available audio devices
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
### Issue 7: Tool — `windows_audio_set`
|
|
94
|
+
**Labels:** `type: feature`, `priority: high`
|
|
95
|
+
|
|
96
|
+
Set audio volume, mute/unmute, or change default audio device.
|
|
97
|
+
|
|
98
|
+
**Acceptance criteria:**
|
|
99
|
+
- Set master volume (0-100)
|
|
100
|
+
- Set mute state (true/false/toggle)
|
|
101
|
+
- Set default playback device by name
|
|
102
|
+
- Return new state after change
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
### Issue 8: Tool — `windows_audio_app_volumes`
|
|
107
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
108
|
+
|
|
109
|
+
Get and set per-application volume levels.
|
|
110
|
+
|
|
111
|
+
**Acceptance criteria:**
|
|
112
|
+
- List all apps with active audio sessions
|
|
113
|
+
- Get volume/mute per app
|
|
114
|
+
- Set volume/mute per app
|
|
115
|
+
- Identify apps by name or PID
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Category: Display & Monitor
|
|
120
|
+
|
|
121
|
+
### Issue 9: Tool — `windows_display_get`
|
|
122
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
123
|
+
|
|
124
|
+
Get display configuration: resolution, refresh rate, scaling, multi-monitor layout.
|
|
125
|
+
|
|
126
|
+
**Acceptance criteria:**
|
|
127
|
+
- List all connected monitors
|
|
128
|
+
- Per monitor: resolution, refresh rate, scaling %, position, primary flag
|
|
129
|
+
- Include display name/model
|
|
130
|
+
- Report HDR status
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### Issue 10: Tool — `windows_display_set`
|
|
135
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
136
|
+
|
|
137
|
+
Change display settings: resolution, refresh rate, scaling, brightness.
|
|
138
|
+
|
|
139
|
+
**Acceptance criteria:**
|
|
140
|
+
- Set resolution per monitor
|
|
141
|
+
- Set refresh rate
|
|
142
|
+
- Set brightness (where supported)
|
|
143
|
+
- Set scaling percentage
|
|
144
|
+
- Return new settings after change
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
### Issue 11: Tool — `windows_screenshot`
|
|
149
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
150
|
+
|
|
151
|
+
Capture screenshot of screen, window, or region.
|
|
152
|
+
|
|
153
|
+
**Acceptance criteria:**
|
|
154
|
+
- Capture full screen (specify monitor)
|
|
155
|
+
- Capture specific window by title/PID
|
|
156
|
+
- Capture region (x, y, width, height)
|
|
157
|
+
- Return as base64 or save to file path
|
|
158
|
+
- Support format: png, jpg
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Category: Power Management
|
|
163
|
+
|
|
164
|
+
### Issue 12: Tool — `windows_power_get`
|
|
165
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
166
|
+
|
|
167
|
+
Get power state: battery level, AC/battery, power plan, screen timeout settings.
|
|
168
|
+
|
|
169
|
+
**Acceptance criteria:**
|
|
170
|
+
- Battery percentage and charging status
|
|
171
|
+
- Current power plan name
|
|
172
|
+
- Screen/sleep timeout values
|
|
173
|
+
- Estimated time remaining (battery)
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
### Issue 13: Tool — `windows_power_action`
|
|
178
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
179
|
+
|
|
180
|
+
Execute power actions: sleep, hibernate, lock, shutdown, restart, schedule.
|
|
181
|
+
|
|
182
|
+
**Acceptance criteria:**
|
|
183
|
+
- Actions: sleep, hibernate, lock, shutdown, restart, log-off
|
|
184
|
+
- Support `delay` param (seconds)
|
|
185
|
+
- Support `cancel` to abort scheduled action
|
|
186
|
+
- Support power plan switch (balanced, performance, power saver)
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Category: Window Management
|
|
191
|
+
|
|
192
|
+
### Issue 14: Tool — `windows_window_list`
|
|
193
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
194
|
+
|
|
195
|
+
List all open windows with title, position, size, state.
|
|
196
|
+
|
|
197
|
+
**Acceptance criteria:**
|
|
198
|
+
- List visible windows
|
|
199
|
+
- Include: title, PID, process name, position (x,y), size (w,h), state (minimized/maximized/normal)
|
|
200
|
+
- Support `filter` by title or process name
|
|
201
|
+
- Include z-order (front to back)
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
### Issue 15: Tool — `windows_window_control`
|
|
206
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
207
|
+
|
|
208
|
+
Move, resize, minimize, maximize, close, or focus windows.
|
|
209
|
+
|
|
210
|
+
**Acceptance criteria:**
|
|
211
|
+
- Actions: minimize, maximize, restore, close, focus, move, resize
|
|
212
|
+
- Identify window by title (substring) or PID
|
|
213
|
+
- Move: set x, y position
|
|
214
|
+
- Resize: set width, height
|
|
215
|
+
- Support `topmost` flag (always on top)
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Category: Clipboard
|
|
220
|
+
|
|
221
|
+
### Issue 16: Tool — `windows_clipboard_get`
|
|
222
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
223
|
+
|
|
224
|
+
Read clipboard contents (text, file paths, image).
|
|
225
|
+
|
|
226
|
+
**Acceptance criteria:**
|
|
227
|
+
- Get text content
|
|
228
|
+
- Get file list (when files are copied)
|
|
229
|
+
- Get image as base64 (when image is copied)
|
|
230
|
+
- Report content type available
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
### Issue 17: Tool — `windows_clipboard_set`
|
|
235
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
236
|
+
|
|
237
|
+
Set clipboard contents.
|
|
238
|
+
|
|
239
|
+
**Acceptance criteria:**
|
|
240
|
+
- Set text content
|
|
241
|
+
- Set file list (for paste-as-files)
|
|
242
|
+
- Set image from base64 or file path
|
|
243
|
+
- Clear clipboard
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Category: System Information
|
|
248
|
+
|
|
249
|
+
### Issue 18: Tool — `windows_system_info`
|
|
250
|
+
**Labels:** `type: feature`, `priority: high`
|
|
251
|
+
|
|
252
|
+
Get comprehensive system information.
|
|
253
|
+
|
|
254
|
+
**Acceptance criteria:**
|
|
255
|
+
- OS version, build, edition
|
|
256
|
+
- CPU: model, cores, usage %
|
|
257
|
+
- RAM: total, available, used %
|
|
258
|
+
- Disk: per-drive total, free, usage %
|
|
259
|
+
- Network: adapters, IPs, connection status
|
|
260
|
+
- Uptime
|
|
261
|
+
- Hostname, username, domain
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
### Issue 19: Tool — `windows_installed_apps`
|
|
266
|
+
**Labels:** `type: feature`, `priority: low`
|
|
267
|
+
|
|
268
|
+
List installed applications.
|
|
269
|
+
|
|
270
|
+
**Acceptance criteria:**
|
|
271
|
+
- List apps from registry + Store apps
|
|
272
|
+
- Include: name, version, publisher, install date, size
|
|
273
|
+
- Support `filter` param
|
|
274
|
+
- Support `sort` param (name, date, size)
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Category: Notifications & UI
|
|
279
|
+
|
|
280
|
+
### Issue 20: Tool — `windows_notification_send`
|
|
281
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
282
|
+
|
|
283
|
+
Send Windows toast notifications.
|
|
284
|
+
|
|
285
|
+
**Acceptance criteria:**
|
|
286
|
+
- Title and body text
|
|
287
|
+
- Support icon (file path)
|
|
288
|
+
- Support action buttons
|
|
289
|
+
- Support expiration time
|
|
290
|
+
- Optional sound
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
### Issue 21: Tool — `windows_dialog`
|
|
295
|
+
**Labels:** `type: feature`, `priority: low`
|
|
296
|
+
|
|
297
|
+
Show system dialog boxes (message box, input, file picker).
|
|
298
|
+
|
|
299
|
+
**Acceptance criteria:**
|
|
300
|
+
- Message box with configurable buttons (OK, Yes/No, etc.)
|
|
301
|
+
- Input dialog (text prompt)
|
|
302
|
+
- File open/save dialog with filters
|
|
303
|
+
- Folder picker
|
|
304
|
+
- Return user selection
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## Category: Network
|
|
309
|
+
|
|
310
|
+
### Issue 22: Tool — `windows_network_info`
|
|
311
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
312
|
+
|
|
313
|
+
Get network configuration and status.
|
|
314
|
+
|
|
315
|
+
**Acceptance criteria:**
|
|
316
|
+
- List adapters: name, type, status, IP, MAC, speed
|
|
317
|
+
- DNS servers
|
|
318
|
+
- Default gateway
|
|
319
|
+
- Wi-Fi: SSID, signal strength, security
|
|
320
|
+
- Current internet connectivity status
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
### Issue 23: Tool — `windows_network_connections`
|
|
325
|
+
**Labels:** `type: feature`, `priority: low`
|
|
326
|
+
|
|
327
|
+
List active network connections (like netstat).
|
|
328
|
+
|
|
329
|
+
**Acceptance criteria:**
|
|
330
|
+
- List TCP/UDP connections
|
|
331
|
+
- Include: local addr:port, remote addr:port, state, PID, process name
|
|
332
|
+
- Support filter by state, port, process
|
|
333
|
+
- Support `listen` flag (only listening ports)
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Category: File System (Enhanced)
|
|
338
|
+
|
|
339
|
+
### Issue 24: Tool — `windows_drives`
|
|
340
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
341
|
+
|
|
342
|
+
List drives/volumes with type, label, capacity, free space.
|
|
343
|
+
|
|
344
|
+
**Acceptance criteria:**
|
|
345
|
+
- All mounted drives (local, network, removable)
|
|
346
|
+
- Include: letter, label, type, filesystem, total, free, used %
|
|
347
|
+
- Detect USB/removable vs fixed vs network
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
### Issue 25: Tool — `windows_file_search`
|
|
352
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
353
|
+
|
|
354
|
+
Search files using Windows Search index (instant results for indexed locations).
|
|
355
|
+
|
|
356
|
+
**Acceptance criteria:**
|
|
357
|
+
- Search by name pattern (glob or regex)
|
|
358
|
+
- Search by content (indexed content search)
|
|
359
|
+
- Filter by date range, size, type
|
|
360
|
+
- Use Windows Search index when available
|
|
361
|
+
- Fallback to filesystem walk for non-indexed paths
|
|
362
|
+
- Return: path, size, modified date, type
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
### Issue 26: Tool — `windows_recycle_bin`
|
|
367
|
+
**Labels:** `type: feature`, `priority: low`
|
|
368
|
+
|
|
369
|
+
Manage the Recycle Bin.
|
|
370
|
+
|
|
371
|
+
**Acceptance criteria:**
|
|
372
|
+
- List items (name, original path, size, deleted date)
|
|
373
|
+
- Restore item(s)
|
|
374
|
+
- Empty bin (all or selected)
|
|
375
|
+
- Get bin size/count
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
## Category: Scheduled Tasks
|
|
380
|
+
|
|
381
|
+
### Issue 27: Tool — `windows_task_scheduler_list`
|
|
382
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
383
|
+
|
|
384
|
+
List Windows Task Scheduler tasks.
|
|
385
|
+
|
|
386
|
+
**Acceptance criteria:**
|
|
387
|
+
- List all tasks or filter by folder/name
|
|
388
|
+
- Include: name, status, last run, next run, trigger type
|
|
389
|
+
- Support folder navigation
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
### Issue 28: Tool — `windows_task_scheduler_manage`
|
|
394
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
395
|
+
|
|
396
|
+
Create, delete, enable, disable, or run scheduled tasks.
|
|
397
|
+
|
|
398
|
+
**Acceptance criteria:**
|
|
399
|
+
- Create task: name, command, trigger (time, interval, event), run level
|
|
400
|
+
- Delete task by name
|
|
401
|
+
- Enable/disable task
|
|
402
|
+
- Run task immediately
|
|
403
|
+
- Modify existing task triggers
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
## Category: Registry
|
|
408
|
+
|
|
409
|
+
### Issue 29: Tool — `windows_registry_read`
|
|
410
|
+
**Labels:** `type: feature`, `priority: low`
|
|
411
|
+
|
|
412
|
+
Read Windows Registry keys and values.
|
|
413
|
+
|
|
414
|
+
**Acceptance criteria:**
|
|
415
|
+
- Read value by full path (HKLM, HKCU, etc.)
|
|
416
|
+
- List subkeys of a key
|
|
417
|
+
- List values of a key
|
|
418
|
+
- Return value type (REG_SZ, DWORD, etc.)
|
|
419
|
+
- Support common abbreviations (HKLM, HKCU, HKCR)
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
### Issue 30: Tool — `windows_registry_write`
|
|
424
|
+
**Labels:** `type: feature`, `priority: low`, `priority: caution`
|
|
425
|
+
|
|
426
|
+
Write Windows Registry keys and values.
|
|
427
|
+
|
|
428
|
+
**Acceptance criteria:**
|
|
429
|
+
- Set value (string, dword, binary, expandsz, multi_sz)
|
|
430
|
+
- Create key
|
|
431
|
+
- Delete value
|
|
432
|
+
- Delete key (with confirmation)
|
|
433
|
+
- Backup key before modification
|
|
434
|
+
- Restricted to HKCU by default (HKLM requires explicit flag)
|
|
435
|
+
|
|
436
|
+
---
|
|
437
|
+
|
|
438
|
+
## Category: Environment & Configuration
|
|
439
|
+
|
|
440
|
+
### Issue 31: Tool — `windows_env_get`
|
|
441
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
442
|
+
|
|
443
|
+
Get environment variables (user, system, process).
|
|
444
|
+
|
|
445
|
+
**Acceptance criteria:**
|
|
446
|
+
- Get specific variable by name
|
|
447
|
+
- List all variables (user, system, or both)
|
|
448
|
+
- Show PATH as parsed list
|
|
449
|
+
- Indicate scope (user vs system)
|
|
450
|
+
|
|
451
|
+
---
|
|
452
|
+
|
|
453
|
+
### Issue 32: Tool — `windows_env_set`
|
|
454
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
455
|
+
|
|
456
|
+
Set environment variables persistently (user or system scope).
|
|
457
|
+
|
|
458
|
+
**Acceptance criteria:**
|
|
459
|
+
- Set user-scope variable
|
|
460
|
+
- Set system-scope variable (requires elevation)
|
|
461
|
+
- Append/prepend to PATH
|
|
462
|
+
- Remove variable
|
|
463
|
+
- Changes persist across sessions
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
## Category: Startup & Autorun
|
|
468
|
+
|
|
469
|
+
### Issue 33: Tool — `windows_startup_list`
|
|
470
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
471
|
+
|
|
472
|
+
List applications configured to run at startup.
|
|
473
|
+
|
|
474
|
+
**Acceptance criteria:**
|
|
475
|
+
- Registry Run/RunOnce (HKLM + HKCU)
|
|
476
|
+
- Startup folder items
|
|
477
|
+
- Scheduled tasks set to run at logon
|
|
478
|
+
- Task Manager startup tab equivalent
|
|
479
|
+
- Include: name, command, location, enabled status
|
|
480
|
+
|
|
481
|
+
---
|
|
482
|
+
|
|
483
|
+
### Issue 34: Tool — `windows_startup_manage`
|
|
484
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
485
|
+
|
|
486
|
+
Enable, disable, or add startup items.
|
|
487
|
+
|
|
488
|
+
**Acceptance criteria:**
|
|
489
|
+
- Disable/enable existing startup item
|
|
490
|
+
- Add new startup item (registry or startup folder)
|
|
491
|
+
- Remove startup item
|
|
492
|
+
- Set startup delay
|
|
493
|
+
|
|
494
|
+
---
|
|
495
|
+
|
|
496
|
+
## Category: Desktop Commander Parity (Terminal)
|
|
497
|
+
|
|
498
|
+
### Issue 35: Tool — `windows_terminal_session`
|
|
499
|
+
**Labels:** `type: feature`, `priority: high`
|
|
500
|
+
|
|
501
|
+
Persistent interactive terminal sessions (REPL, SSH, etc.) with output pagination.
|
|
502
|
+
|
|
503
|
+
**Acceptance criteria:**
|
|
504
|
+
- Start persistent session (pwsh, cmd, python, node, wsl)
|
|
505
|
+
- Send input to session
|
|
506
|
+
- Read output with offset/length pagination
|
|
507
|
+
- List active sessions
|
|
508
|
+
- Terminate session
|
|
509
|
+
- Detect prompt/completion state
|
|
510
|
+
- Context overflow protection (configurable line limit)
|
|
511
|
+
|
|
512
|
+
---
|
|
513
|
+
|
|
514
|
+
### Issue 36: Tool — `windows_file_read`
|
|
515
|
+
**Labels:** `type: feature`, `priority: high`
|
|
516
|
+
|
|
517
|
+
Read files with smart pagination, format detection, and URL support.
|
|
518
|
+
|
|
519
|
+
**Acceptance criteria:**
|
|
520
|
+
- Text files with line offset/length pagination
|
|
521
|
+
- PDF text extraction
|
|
522
|
+
- Excel: sheet selection, range support
|
|
523
|
+
- DOCX: outline mode
|
|
524
|
+
- Images: base64 encoding
|
|
525
|
+
- URL fetching (isUrl flag)
|
|
526
|
+
- Binary file detection
|
|
527
|
+
- Negative offset for tail behavior
|
|
528
|
+
|
|
529
|
+
---
|
|
530
|
+
|
|
531
|
+
### Issue 37: Tool — `windows_file_write`
|
|
532
|
+
**Labels:** `type: feature`, `priority: high`
|
|
533
|
+
|
|
534
|
+
Write files with format support and chunking.
|
|
535
|
+
|
|
536
|
+
**Acceptance criteria:**
|
|
537
|
+
- Text write/append
|
|
538
|
+
- Excel write (JSON 2D array → .xlsx)
|
|
539
|
+
- DOCX creation from markdown
|
|
540
|
+
- PDF creation from markdown
|
|
541
|
+
- Chunked writing for large files
|
|
542
|
+
- Create parent directories if needed
|
|
543
|
+
|
|
544
|
+
---
|
|
545
|
+
|
|
546
|
+
### Issue 38: Tool — `windows_file_edit`
|
|
547
|
+
**Labels:** `type: feature`, `priority: high`
|
|
548
|
+
|
|
549
|
+
Surgical file edits with find/replace.
|
|
550
|
+
|
|
551
|
+
**Acceptance criteria:**
|
|
552
|
+
- Find and replace text (single or all occurrences)
|
|
553
|
+
- Expected replacement count validation
|
|
554
|
+
- Character-level diff on near-matches
|
|
555
|
+
- Line-range replacement
|
|
556
|
+
- Regex support
|
|
557
|
+
- Dry-run mode
|
|
558
|
+
|
|
559
|
+
---
|
|
560
|
+
|
|
561
|
+
### Issue 39: Tool — `windows_search`
|
|
562
|
+
**Labels:** `type: feature`, `priority: high`
|
|
563
|
+
|
|
564
|
+
Search files by name or content with streaming results.
|
|
565
|
+
|
|
566
|
+
**Acceptance criteria:**
|
|
567
|
+
- Search by filename pattern (glob)
|
|
568
|
+
- Search by file content (regex or literal)
|
|
569
|
+
- Case sensitivity toggle
|
|
570
|
+
- File type filter
|
|
571
|
+
- Exclude patterns
|
|
572
|
+
- Context lines around matches
|
|
573
|
+
- Result pagination
|
|
574
|
+
- Background/streaming mode for large searches
|
|
575
|
+
|
|
576
|
+
---
|
|
577
|
+
|
|
578
|
+
## Category: Configuration
|
|
579
|
+
|
|
580
|
+
### Issue 40: Tool — `windows_mcp_config`
|
|
581
|
+
**Labels:** `type: feature`, `priority: normal`
|
|
582
|
+
|
|
583
|
+
Get and set mcp_windows configuration.
|
|
584
|
+
|
|
585
|
+
**Acceptance criteria:**
|
|
586
|
+
- Get current config (allowed paths, blocked commands, limits)
|
|
587
|
+
- Set values dynamically without restart
|
|
588
|
+
- Configurable: blocked commands, allowed directories, output line limits
|
|
589
|
+
- Persist config to `~/.mcp_windows.json`
|
|
590
|
+
|
|
591
|
+
---
|
|
592
|
+
|
|
593
|
+
## Milestone Plan
|
|
594
|
+
|
|
595
|
+
| Milestone | Issues | Priority |
|
|
596
|
+
|-----------|--------|----------|
|
|
597
|
+
| **v1.0 — Core** | #1, #2, #6, #7, #18, #35-39 | High |
|
|
598
|
+
| **v1.1 — System Control** | #3-5, #8, #12-13, #22, #24 | Normal |
|
|
599
|
+
| **v1.2 — Desktop Automation** | #9-11, #14-17, #20 | Normal |
|
|
600
|
+
| **v1.3 — Admin Tools** | #27-34, #40 | Normal |
|
|
601
|
+
| **v1.4 — Advanced** | #19, #21, #23, #25-26 | Low |
|
package/Makefile
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# MCP Server Makefile
|
|
2
|
+
# Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
|
|
3
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
4
|
+
|
|
5
|
+
PROJECT_NAME := mcp_windows
|
|
6
|
+
PROJECT_VERSION := 1.0.0
|
|
7
|
+
|
|
8
|
+
NPM := npm
|
|
9
|
+
|
|
10
|
+
COLOR_RESET := \033[0m
|
|
11
|
+
COLOR_GREEN := \033[32m
|
|
12
|
+
COLOR_BLUE := \033[34m
|
|
13
|
+
|
|
14
|
+
.PHONY: help
|
|
15
|
+
help: ## Show this help message
|
|
16
|
+
@echo "$(COLOR_BLUE)$(PROJECT_NAME) v$(PROJECT_VERSION)$(COLOR_RESET)"
|
|
17
|
+
@echo ""
|
|
18
|
+
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " $(COLOR_BLUE)%-20s$(COLOR_RESET) %s\n", $$1, $$2}'
|
|
19
|
+
@echo ""
|
|
20
|
+
|
|
21
|
+
.PHONY: install-deps
|
|
22
|
+
install-deps: ## Install dependencies
|
|
23
|
+
@$(NPM) install
|
|
24
|
+
@echo "$(COLOR_GREEN)✓ Dependencies installed$(COLOR_RESET)"
|
|
25
|
+
|
|
26
|
+
MOKO_PLATFORM ?= $(or $(wildcard ../moko-platform),$(wildcard $(HOME)/moko-platform),$(wildcard /opt/moko-platform))
|
|
27
|
+
MINIFY_SCRIPT := $(MOKO_PLATFORM)/build/minify.js
|
|
28
|
+
|
|
29
|
+
.PHONY: minify
|
|
30
|
+
minify: ## Minify CSS/JS assets
|
|
31
|
+
@echo "Minifying assets..."
|
|
32
|
+
@if [ -f "$(MINIFY_SCRIPT)" ]; then \
|
|
33
|
+
node "$(MINIFY_SCRIPT)" $(SRC_DIR); \
|
|
34
|
+
elif [ -f "scripts/minify.js" ]; then \
|
|
35
|
+
node scripts/minify.js; \
|
|
36
|
+
else \
|
|
37
|
+
echo "No minify script found"; \
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
.PHONY: build
|
|
41
|
+
build: minify ## Build TypeScript
|
|
42
|
+
@$(NPM) run build
|
|
43
|
+
@echo "$(COLOR_GREEN)✓ Build complete$(COLOR_RESET)"
|
|
44
|
+
|
|
45
|
+
.PHONY: dev
|
|
46
|
+
dev: ## Watch and rebuild on changes
|
|
47
|
+
@$(NPM) run dev
|
|
48
|
+
|
|
49
|
+
.PHONY: clean
|
|
50
|
+
clean: ## Clean build artifacts
|
|
51
|
+
@rm -rf dist
|
|
52
|
+
@echo "$(COLOR_GREEN)✓ Cleaned$(COLOR_RESET)"
|
|
53
|
+
|
|
54
|
+
.PHONY: setup
|
|
55
|
+
setup: ## Run interactive setup wizard
|
|
56
|
+
@$(NPM) run setup
|
|
57
|
+
|
|
58
|
+
.PHONY: start
|
|
59
|
+
start: ## Start the MCP server
|
|
60
|
+
@$(NPM) run start
|
|
61
|
+
|
|
62
|
+
.PHONY: lint
|
|
63
|
+
lint: ## Run linter
|
|
64
|
+
@$(NPM) run lint
|
|
65
|
+
|
|
66
|
+
.PHONY: ci
|
|
67
|
+
ci: install-deps build ## Run CI pipeline
|
|
68
|
+
@echo "$(COLOR_GREEN)✓ CI pipeline complete$(COLOR_RESET)"
|
|
69
|
+
|
|
70
|
+
.DEFAULT_GOAL := help
|