peek-kit provides 13 tools with complete input schemas and descriptions, but quality is inconsistent. Naming follows verb_noun convention well (list_running_apps, extract_tree, click_element). Descriptions are present but often generic, many lack context on WHEN to use the tool or what prerequisites exist. Parameter descriptions are minimal (e.g., 'The application name or bundle ID to launch' lacks format guidance). Output schemas are not documented, LLMs cannot predict return structure. Error handling is absent from descriptions. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. The server targets macOS-specific accessibility APIs, limiting portability.
Clicks at specific screen coordinates with optional double-click support.
Clicks on a UI element identified by its element ID from the accessibility tree.
Extracts the accessibility tree from a running application, including all UI elements with their roles, positions, sizes, and hierarchy.
Searches the accessibility tree for elements matching specified criteria (role, text, enabled status).
Brings a window of the specified application to focus.
Retrieves the bundle ID for a running application by its display name.
Extracts the menu bar structure of an application including all menus, items, and keyboard shortcuts.
Output schemas not documented. LLMs cannot predict return structure for any tool. E.g., extract_tree returns AccessibilityTree but structure is opaque to the agent.
Tool annotations missing. Despite clear risk levels (WRITE vs READ_ONLY), no destructiveHint or readOnlyHint provided. Agents cannot distinguish safe from unsafe operations.
Parameter descriptions lack format guidance and constraints. E.g., 'app_name' accepts 'name or bundle ID' but no examples or validation rules provided. 'max_depth' has no min/max bounds.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
Launches an application by name or bundle ID and waits for it to be ready.
Lists all running applications on the system with their metadata including PID, bundle ID, display name, window count, frontmost status, and Electron detection.
Navigates through application menus and activates a menu item by following a path.
Presses a key combination (e.g., 'cmd+z', 'return', 'tab') using AppleScript.
Captures a screenshot of an application window with optional accessibility tree annotation.
Types text by simulating keyboard events using AppleScript.
Error handling absent from tool descriptions. No guidance on recovery (e.g., 'If app not found, try list_running_apps first'). Agents cannot self-correct on failures.
No confirmation/dry-run pattern for destructive operations. Tools like click_element, type_text, navigate_menu modify UI state irreversibly without agent confirmation.