MCP SSH filesystem server for remote development projects. Provides file operations, directory listing, and command execution on remote servers via SSH/SFTP.
12 tools with complete JSON schemas and descriptions. Naming follows verb_noun convention (list_, read_, write_, create_, delete_, search_, move_, patch_, run_). Descriptions are present and actionable (avg ~100 chars). However, several parameter descriptions lack detail on constraints, formats, and error recovery. Output schemas are not documented. Error handling is minimal, no guidance on retryability, user-fixable vs fatal errors, or recovery steps. Security is strong (no secrets in params, SSH-based). Composition is good, tools are single-responsibility and chainable. Missing: pagination guidance, per-item error reporting for batch operations, and confirmation patterns for destructive ops.
Create a directory (and parent directories) in a remote project.
Delete a file or directory in a remote project.
Get metadata about a remote file or directory (existence, type, size, permissions).
List files and directories in a remote project path.
List all configured remote development projects.
Move or rename a file or directory within a remote project.
Apply search-and-replace edits to a remote file. Fails if any search string is not found.
No output schemas documented. LLMs cannot predict response structure or plan downstream tool calls. E.g., read_file returns content but schema is invisible.
Parameter descriptions lack constraint details. E.g., 'timeout_sec' in run_command states 'default 30, max 120' but no minimum or validation guidance. 'max_depth' in list_directory has no explanation of what happens if exceeded.
No error recovery guidance. Destructive tools (delete_path, patch_file, run_command) lack confirmation patterns or dry-run modes. No guidance on retryability or user-fixable errors.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | <=2025-11-25 | v2 |
Read a file from a remote project. Path is relative to the project root.
Read several files in one call. Continues on per-file errors.
Execute a shell command in the project root directory. Requires allow_commands=true in project config.
Find files matching a glob pattern inside a remote project.
Write content to a file in a remote project. Creates parent directories automatically.
Batch operation (read_multiple_files) lacks per-item error reporting. Description says 'Continues on per-file errors' but no schema shows which files succeeded/failed or why.
run_command requires 'allow_commands=true' in config but no guidance on how to check this or what error to expect if disabled. LLM cannot self-correct.