Next-Gen Remote Workspace, SFTP/SCP/S3 Client & AI Gateway (MCP) built with Rust and Tauri v2. Provides secure file system operations, remote command execution, and smart actions across multiple protocols (SFTP, S3, FTP, WebDAV, Local).
RustSCP provides 6 tools with complete input schemas and descriptions, but quality is uneven. Tool names follow verb_noun convention (session_list, fs_list_dir, fs_read_file, fs_write_file, fs_search, exec_smart_action), which is good. Descriptions are present (avg ~100 chars) but lack actionable context, they state WHAT but not WHEN or WHY to use each tool. Parameters have types and descriptions, but lack constraints (enums, ranges, patterns). Output schemas are not documented in the provided code. Error handling guidance is absent. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. The exec_smart_action tool is underspecified, 'pre-vetted, safe smart command' is vague; no list of valid action_ids or their parameter schemas visible.
Execute a pre-vetted, safe smart command (e.g. tar-compress, systemctl, disk-usage) with parameter validation
List directory contents from an active connection
Safely read text or data from a remote or local file
Search for files by pattern inside an active connection
Safely write or update a file on the target server with automatic audit logging
List all active, authenticated server sessions available to the AI agent (without exposing credentials)
exec_smart_action is severely underspecified. Description says 'pre-vetted, safe smart command' but does not list valid action_ids, their parameter schemas, or expected outputs. LLM cannot determine which actions exist or what params each accepts.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., does session_list return session_id, session_name, connection_string?). Breaks tool chaining.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, REVERSIBLE). LLM cannot reason about safety or retry semantics.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
Parameter descriptions lack constraints. 'path' is a string with no format, length, or pattern guidance. 'pattern' in fs_search accepts free-form strings, should document regex syntax or glob support. Invites invalid LLM input.
No error handling guidance. If fs_read_file fails (permission denied, file not found, offset out of bounds), what should the LLM do? No recovery hints or error classification.