Remote operation terminal management system (远程运维终端管理系统) with tool sharing, RAG service, and multi-service architecture
This MCP server has critical gaps in definition quality. Tool names are problematic: they use Chinese descriptions as primary identifiers and lack clear verb-noun patterns. For example, 'getFolders' lacks a descriptive action verb ('list_folders' would be clearer). All 7 tools have minimal schema documentation, input parameters are present but lack detailed type constraints, ranges, or format specifications. Descriptions are translated from Chinese and are sparse (20-70 chars), falling well below the 194-char baseline for production tools. Most critically, NO output schemas are documented anywhere in the provided source, making it impossible for agents to understand what these tools return. Parameter descriptions exist but are generic ('Folder name', 'File ID') without format guidance, constraints, or examples of expected values. Error handling and recovery guidance are completely absent. Security concerns: uploadFile accepts a 'multipart' parameter type (non-standard in JSON Schema), and there is no evidence of secret injection, permission gates, or audit logging. The tools appear to be a thin wrapper over Spring controller endpoints with minimal LLM-oriented design.
创建新文件夹 (Create a new tool share folder with JWT token-based user identification)
删除文件 (Delete a tool file from the tool share system by ID)
删除文件夹 (Delete a tool share folder by ID)
下载文件 (Download a tool file from the tool share system by ID)
获取文件列表 (Get tool share files, optionally filtered by folder ID)
获取文件夹列表 (Get tool share folders, optionally filtered by parent folder ID)
上传文件 (Upload a tool file to the tool share system with metadata)
No output schemas documented for any tool. Agents cannot predict return types, forcing exploratory calls and context waste.
Tool descriptions are too short (20-70 chars, baseline is 194 chars). Descriptions lack WHAT, WHEN, and HOW context for LLM selection. E.g., 'Get tool share folders' tells an agent nothing about use cases or relationship to other tools.
Parameter descriptions are generic and lack format guidance. 'Folder name' does not specify length limits, allowed characters, or uniqueness constraints. 'File ID' lacks type (long? string?) and format hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 22 | 2026-07-28+ | v2 |
uploadFile uses non-standard 'multipart' type in schema. JSON Schema has no native multipart type; should use 'string' with 'binary' format or document multipart handling separately. This breaks schema validation.
No error handling or recovery guidance. Tools lack actionable error messages (e.g., 'Folder not found. Try list_folders() to discover available folders.'). No mention of retry eligibility or compensation actions for failures.
No pagination support documented. getFolders and getFiles lack limit, offset, or cursor parameters. Large result sets will blow context windows without pagination hints.
No security controls visible. No evidence of secret injection, permission gates, audit logging, or input sanitization. uploadFile and write operations (createFolder, deleteFile, deleteFolder) lack permission checks.
Destructive tools (deleteFolder, deleteFile) lack dry-run or confirmation steps. Agents can delete resources irreversibly without safeguards.
Missing idempotency contracts. No indication whether createFolder is idempotent (does calling it twice create two folders or return existing one?). Agents cannot safely retry without risk of duplicates.
Parameter naming uses system IDs (parentId, folderId, id) without supporting natural identifiers. Users say 'upload to my Documents folder', not 'upload to folder 12345'. Requires extra lookup calls.