Enterprise-grade MCP server providing heavily optimized FTP/SFTP operations with smart sync, patch/chunk streaming, caching, and explicit read-only security mappings for AI code assistants.
21 tools with mostly complete schemas and descriptions, but significant gaps in parameter documentation and error handling guidance. Tool names follow verb_noun convention well (ftp_connect, ftp_list, ftp_upload). Descriptions average ~80 chars, below the 194-char baseline for A+ tools. Most parameters lack detailed constraints (format, range, allowed values). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. Error handling is minimal, no recovery guidance or actionable error messages visible in source. Output schemas not documented. Batch tools (ftp_batch_upload, ftp_batch_download) lack per-item success/failure reporting.
Analyze the structure and contents of a remote workspace directory
Download multiple files in a batch operation
Upload multiple files in a batch operation
Change file permissions on the remote server
Establish a connection to the FTP/SFTP server using a configured profile
Delete a file from the remote server
Generate a diff between local and remote file versions
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit risk classifications. LLMs cannot infer safety properties from risk labels alone.
Parameter descriptions lack format constraints, ranges, and allowed values. E.g., 'mode' in ftp_chmod has no specification of valid Unix permission formats (755, 644, etc.). LLMs will hallucinate invalid values.
No output schema documentation. Tools return results but LLMs cannot plan downstream calls without knowing response structure. E.g., ftp_list returns file list but response format is undocumented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Download a file from remote server to local filesystem
Check if a file or directory exists on the remote server
Read the contents of a remote file
List files and directories in a remote path
List all available transaction snapshots for rollback
Create a directory on the remote server
Apply a patch to a remote file using diff-based patching
Rename or move a file on the remote server
Remove a directory from the remote server
Rollback changes from a previous transaction using snapshots
Search for files matching a pattern on the remote server
Get file or directory statistics from the remote server
Synchronize files between local and remote directories with smart diff and patch streaming
Upload a file from local filesystem to remote server
Batch tools (ftp_batch_upload, ftp_batch_download) lack per-item success/failure reporting. If one file fails, LLM cannot determine which items succeeded and which need retry.
No error recovery guidance in tool descriptions. Destructive operations (ftp_delete, ftp_rmdir) lack confirmation/dry-run patterns. No guidance on retryable vs. fatal errors.