MCP server for executing AppleScript code to interact with Mac applications and system features
Single tool with adequate naming (applescript_execute) but significant gaps in schema documentation and parameter descriptions. The tool description is verbose (>1000 chars) and lists examples rather than explaining constraints. Input schema visible in code shows two parameters (code_snippet, timeout) with basic Zod definitions, but descriptions are minimal and lack validation guidance. No output schema documented. Error handling returns plain strings without recovery guidance. The tool performs irreversible operations (system-level AppleScript execution) but lacks confirmation patterns or dry-run support.
Run AppleScript code to interact with Mac applications and system features. This tool can access and manipulate data in Notes, Calendar, Contacts, Messages, Mail, Finder, Safari, and other Apple applications. Common use cases include but not limited to: - Retrieve or create notes in Apple Notes - Access or add calendar events and appointments - List contacts or modify contact details - Search for and organize files using Spotlight or Finder - Get system information like battery status, disk space, or network details - Read or organize browser bookmarks or history - Access or send emails, messages, or other communications - Read, write, or manage file contents - Execute shell commands and capture the output
Tool description exceeds 1024 character baseline and uses example-driven documentation ('Retrieve or create notes...') instead of constraint-based guidance. LLMs may treat examples as the only valid use cases.
No output schema documented. Callers cannot predict response structure (stdout string? JSON? error format?). LLMs must guess how to parse results.
Timeout parameter lacks validation constraints. Description says 'default: 60' but does not specify min/max bounds. LLMs could pass negative or absurdly large values (e.g., 999999 seconds).
Irreversible operations (system-level AppleScript execution, file deletion, application manipulation) lack confirmation or dry-run support. Agents cannot preview consequences before executing.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
Error responses are unstructured strings ('AppleScript execution failed: ...', 'SSH error: ...'). No error classification (retryable vs fatal) or recovery guidance. LLMs cannot determine next action.