A local MCP server that gives a cloud AI agent scoped, audited hands on one real machine.
LocalHands provides 10 tools with basic schemas and descriptions, but falls short of production quality. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization) and input schemas with type definitions. However, descriptions are generic and lack actionable context. No output schemas are documented. Error handling is absent, tools do not guide recovery or categorize failures. Parameter descriptions are minimal (e.g., 'Path to the file to read' for read_file). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (DESTRUCTIVE, IRREVERSIBLE). No pagination support for list_directory or search_files. No confirmation/dry-run for destructive operations (delete_path, run_bash). Tool composition is reasonable (single responsibility), but descriptions do not explain when to use each tool or dependencies between them.
Delete a file or directory
Download a file from a URL
Search file contents with grep
List contents of a directory
Read a file from the allowed paths
Execute a bash command
Take a screenshot of the desktop
Search for files matching a pattern
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., what does list_directory return? file count? full paths? metadata?). Baseline: 100% of A+ tools document return types.
Descriptions are 10-50 characters, well below the 50-200 char baseline for LLM optimization. Descriptions lack WHAT the tool does, WHEN to use it, and prerequisites. E.g., 'Read a file from the allowed paths' does not explain path constraints, file size limits, or encoding handling.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Upload a file to a remote location
Write content to a file
No tool annotations despite clear risk levels. delete_path (DESTRUCTIVE), run_bash (IRREVERSIBLE), and write_file (WRITE) lack readOnlyHint, destructiveHint, or idempotentHint. Agents cannot distinguish safe from dangerous operations.
No error handling guidance. Tools do not return actionable error messages or recovery hints. E.g., if run_bash times out or delete_path fails due to permissions, the LLM receives no guidance on retry strategy or alternatives.
No confirmation/dry-run for irreversible operations. delete_path and run_bash can destroy data or execute arbitrary commands. No confirmation_request pattern to prevent catastrophic agent mistakes.