MCP server for Raycast automation on macOS -- 9 tools for search, commands, clipboard, shortcuts, window control, system functions, auth, extensions, workflows
The raycast-mcp-server has 9 tools with schemas present but significant definition quality gaps. Tool names follow verb_noun convention (raycast_search, raycast_open, etc.), but descriptions are generic and lack the context LLMs need for proper selection. Most critically: (1) parameter descriptions are missing or minimal across all tools, LLMs cannot infer what 'action', 'function', or 'shortcut' mean without explicit guidance; (2) output schemas are completely undocumented, LLMs have no way to know what fields to expect from responses, breaking tool chaining and context extraction; (3) error handling is absent from tool definitions, no recovery guidance or actionable error messages; (4) security-sensitive tools like raycast_system (destructive actions: shutdown, restart, empty-trash) lack permission gates or confirmation patterns; (5) parameter constraints are present (enums) but descriptions do not explain what each enum value does or when to use it. The server implements basic input validation in code (validateStringInput, URL scheme checking) but does not surface this in schemas. Baseline comparison: production tools average 194 chars in descriptions (this server averages ~75 chars); 100% of A+ tools have param descriptions (this server has ~30% coverage).
Manage Raycast and service authentication
Manage clipboard history via Raycast
Manage Raycast extensions and store integration
Open specific Raycast commands or extensions
Search and launch applications, files, or commands via Raycast
Trigger Raycast shortcuts and hotkeys
Access system functions through Raycast
No output schemas documented. LLMs cannot determine what fields responses contain, breaking tool chaining (e.g., if raycast_search returns results, what fields do they have? Are IDs included?). This forces agents to guess, retry on failures, and waste context extracting unknown structures.
Parameter descriptions are missing or trivial. Examples: 'action' enum values (show, clear, copy, paste for clipboard) lack explanation of which action does what. 'function' enum (sleep, restart, shutdown, lock, logout, empty-trash, eject-all) has no description of side effects or when each is appropriate. 'shortcut' enum lists values but does not explain the difference between 'main-window', 'clipboard-history', 'emoji', etc. LLMs cannot select the right enum value without explicit guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | D | 54 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 46 | - | v1 |
Control Raycast window behavior
Create and manage Raycast workflows and automations
Destructive and security-sensitive operations lack permission gates and confirmation patterns. raycast_system tool allows 'shutdown', 'restart', 'empty-trash', 'lock', 'logout' without any confirmation step, permission validation, or dry-run. A misbehaving agent could shut down the user's machine. No audit logging in tool definition.
Error handling is absent from tool definitions. No indication of what errors are retryable, user-fixable, or fatal. No recovery guidance (e.g., 'If authentication fails, call raycast_auth first'). No actionable error messages documented. Code includes a timeout handler (15s) but LLMs have no visibility into this constraint or retry strategy.
Tool descriptions are generic and lack actionable context. Examples: 'Search and launch applications, files, or commands via Raycast' (82 chars) does not explain when to use raycast_search vs raycast_open, what the return value looks like, or whether the tool supports wildcards. 'Manage Raycast extensions and store integration' (48 chars) is vague, which store? What does 'publish' do exactly? Baseline: production tools average 194 chars; this server averages ~75 chars.
raycast_auth tool has no parameter descriptions. 'action' enum (setup, validate, audit, oauth) is undocumented, what does 'audit' do vs 'validate'? 'service' enum lists 7 services but no description of which services support which actions. This is a security-sensitive tool requiring clear guidance.
raycast_workflows tool has an underdocumented nested 'steps' parameter. The 'steps' array contains objects with 'type' enum (command, script, api_call, notification) and a catch-all 'parameters' object, but there is no schema or documentation for what parameters each type accepts. LLMs cannot construct valid workflow steps.
raycast_extensions 'publish_path' parameter accepts a local file path with no validation or description of format. Code validates strings against max length but does not document path format, OS-specific behavior (Windows vs macOS), or allowed characters. LLMs may pass invalid paths.
raycast_open tool has optional 'command', 'extension', and 'args' parameters with no documentation of which combinations are valid. Can both 'command' and 'extension' be passed? Are they mutually exclusive? Required guidance is missing.
raycast_clipboard 'index' parameter for 'paste' action has no numeric bounds or format documented. Can it be negative? What is the maximum valid index? Invalid input handling is not described.