This MCP server is non-functional and fails on virtually all definition quality dimensions. The server contains a single tool 'execute_skill_action' that is declared in a JSON output string but has NO detectable input schema, NO parameter descriptions, NO output schema documentation, and a single-line description that provides minimal guidance. The codebase shows only a stub JSON response with no actual tool registration, request handling, or MCP protocol implementation. The server does not parse MCP requests, does not validate inputs, does not implement any tool execution logic, and does not return properly structured tool results. This is a skeleton with no functional implementation.
Tools (1)
execute_skill_actionwritesource verified28/100
Execute a skill action through the keyboard helper
Description for execute_skill_action is only 48 characters ('Execute a skill action through the keyboard helper'), below the 50-character practical minimum for actionable guidance.
No request/response handling implemented. The mcp_server.py script prints a single JSON blob and exits, it does not implement the MCP transport layer, does not parse client requests, and does not generate proper tool result responses.
execute_skill_action
Recommendations
Define a proper JSON Schema for execute_skill_action inputs. Identify all parameters (e.g., action_type, shorthand_input, context_history), assign types (string, enum, etc.), set constraints (min/max length, allowed values), and write 50-150 character descriptions for each.
Expand the tool description from 48 to 100-200 characters. Include WHAT it does (executes keyboard shortcuts/skill actions), WHEN to use it (when user provides shorthand input), and WHAT it returns. Example: 'Execute a keyboard shortcut or skill action by expanding user-provided shorthand. Accepts shorthand_input and optional context_history. Returns expanded_text with the result.'
Document the output schema. Define what fields the tool returns (e.g., expanded_reply: string, action_status: 'success'|'error', execution_time_ms: number). LLMs need this to chain tools.
Implement actual MCP request handling. Parse tool_call requests, invoke the skill executor (client.py already has expand_input), and return properly formatted tool result messages. Currently the server prints one JSON object and terminates.
Add input validation. Validate shorthand_input length, context_history length, and any enum-constrained action_type. Return clear error messages like 'Invalid action_type: got "xyz", must be one of: expand, trigger, send'.
Add error classification and recovery guidance. If expansion fails, tell the LLM: 'Shorthand expansion failed: invalid syntax. Try a simpler phrase or provide more context_history.' Enable self-correction.
Tool name 'execute_skill_action' is generic and uses 'execute' (a weak verb). Prefer specific action verbs like 'send_', 'create_', 'expand_keyboard_shortcut', or 'trigger_action_shortcut'.
No parameter documentation at all. What parameters does execute_skill_action accept? What do they mean? What are valid values? This is completely opaque to LLMs.
execute_skill_action
Consider renaming the tool to reflect the actual operation more precisely. Options: 'expand_keyboard_shortcut', 'expand_user_input', or 'trigger_skill_action'. Avoid generic 'execute_'.
Implement security checks: sanitize shorthand_input against injection, log all invocations with timestamps and parameters for audit trails, and set rate limits if this tool could be abused.
Add idempotency markers to the response (e.g., request_id) so agents can safely retry without duplicate side effects.
If this tool modifies system state (sends a keyboard event, changes focus), state so explicitly in the description and mark with destructiveHint annotation.