AutoHotkey v2 computer-use tools via MCP. Token-efficient alternative to screenshot-based computer use that generates temporary AHK v2 scripts, executes them, and returns structured text results.
AHK-MCP provides 18 tools with basic descriptions and minimal input schemas. Most tools have descriptions (10-50 chars), but lack depth on WHEN to use them, prerequisites, or error recovery guidance. Input schemas are present but sparse: many parameters lack type constraints, enums, or validation hints. No output schemas documented. Error handling is minimal, tools return raw AHK errors without actionable recovery guidance. Tool names are clear (verb_noun pattern), but parameter naming is inconsistent (e.g., 'target' is overloaded across multiple tools). No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Composition is reasonable, each tool has one responsibility, but chaining is weak (e.g., find_element returns element_id, but downstream tools don't document what format they expect).
Click at specified coordinates
Click on a UI element
Get the current clipboard content
Set the clipboard content
Find UI elements by name, type, or pattern using UI Automation
Focus/activate a window by title or window specifier
Get a property value from a UI element
Get the text content of a UI element
List all open windows with their titles, classes, PIDs, and positions
No output schemas documented. Tools return raw text or structured data without formal schema definitions. LLMs cannot reliably parse results or plan downstream calls.
Parameter descriptions lack format/constraint details. E.g., 'keys' in send_keys says 'Keys to send in AHK syntax' but does not specify valid syntax, examples, or error cases. LLMs guess at format.
Overloaded 'target' parameter across focus_window, read_window_target, screenshot, find_element. Descriptions say 'Window title or specifier' but do not clarify what specifiers are valid (ahk_class, ahk_pid, ahk_exe, etc.). LLMs cannot reliably construct valid targets.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Display a message box dialog
Read all text content from the active window
Read all text content from a specific window
Launch an executable or file
Capture a screenshot of the screen or a specific window and save as PNG
Send keyboard input (key combinations) to the active window
Send text input to the active window
Set the text content of a UI element
Get detailed information about the active window including title, class, PID, process name, position, and list of controls
Error handling is minimal. Tools return raw AHK error messages ('[AHK Error] ...') without recovery guidance. No categorization of retryable vs. fatal errors. LLMs cannot decide whether to retry, ask user, or abort.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes. E.g., 'run' and 'click' are destructive but unmarked; 'list_windows' is read-only but unmarked.