Control a Windows machine over RDP as MCP tools — screenshots, mouse/keyboard, PowerShell, files, registry. Give it only RDP credentials.
45 tools with visible schemas and descriptions, but significant quality gaps. Most descriptions are 20-80 chars (below the 194-char baseline for A+ tools). Parameter descriptions are sparse or missing entirely. Many tools lack enum constraints for categorical inputs (e.g., Click.button, Shortcut.keys, RegWrite.type). No documented output schemas. Error handling is minimal, tools return raw errors without recovery guidance. Tool names are generally clear (verb_noun pattern), but composition issues exist: Click/Type/Scroll/Move are low-level primitives that should be wrapped into higher-level interaction tools. Security concerns: Shell, FileWrite, RegWrite, ServiceStart/Stop, TaskCreate/Delete are destructive but lack confirmation patterns or dry-run support. Annotations present but descriptions do not explain when to use each tool vs. alternatives.
Snapshot with the controls boxed and numbered on the image itself
Launches, switches to, or resizes an application window
Cancels a running tool task
Performs a mouse click at specified coordinates
Reads Windows event log entries
Downloads a file from the remote system
Lists files in a directory
Reads a file from the filesystem
Destructive tools (Shell, FileWrite, RegWrite, ServiceStart/Stop, TaskCreate/Delete, KillProcess) lack confirmation or dry-run patterns. Agents can irreversibly modify system state without safeguards.
Parameter descriptions are sparse (avg 30-50 chars vs 72-char baseline). Click.button, Shortcut.keys, RegWrite.type lack enum constraints. LLMs cannot infer valid values.
No documented output schemas. Tools return results but LLMs cannot plan downstream calls or extract required fields (e.g., ListProcesses returns PID but no process name).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Searches for files matching a pattern
Uploads a file to the remote system
Writes content to a file
Focuses a window by title or handle
Retrieves the current clipboard content
Lists all currently running tasks
Retrieves system information
Gets the status of a running task
Terminates a process by PID or name
Lists running processes
Locks the screen
Minimizes all windows
Moves the mouse to specified coordinates, optionally with dragging
Lists network connections
Displays a system notification
Performs optical character recognition on the screen
Pings a network host
Plays a system sound
Checks if a network port is open
Reconnects a disconnected RDP session
Reads a Windows registry value
Writes a Windows registry value
Scrapes web content from a URL
Records the screen to a video file
Scrolls the mouse wheel at specified coordinates
Lists Windows services
Starts a Windows service
Stops a Windows service
Sets the clipboard content
Executes a PowerShell command
Executes a keyboard shortcut
Captures the desktop plus the window list and the foreground window's controls
Creates a scheduled task
Deletes a scheduled task
Lists scheduled tasks
Types text at the current cursor position or specified coordinates
Waits for a specified duration
Low-level UI primitives (Click, Type, Scroll, Move) should be composed into higher-level interaction tools (e.g., fill_form, click_button_by_label). Current design forces agents to chain multiple calls for simple tasks.
Error handling is minimal. Tools return raw errors without recovery guidance. E.g., 'File not found' should suggest FileSearch or list available paths.