A Go-based agent server that provides system information collection, Docker container management, and file operations via HTTP REST API
This HTTP server exposes 9 tools with basic descriptions but critical gaps in schema completeness, parameter documentation, and error handling. Tool names follow verb_noun convention (get_, list_, deploy_, read_, write_, delete_, create_), which is good. However, most tools lack detailed parameter descriptions, input validation guidance, and output schema documentation. Descriptions are present but generic (avg ~80 chars, below the 194-char baseline). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Error handling is minimal, HTTP status codes without actionable recovery guidance. The server is HTTP-based (good for transport), but lacks MCP protocol features entirely.
Creates a directory and any necessary parent directories
Deletes a file or directory recursively
Deploys a new Docker container with specified image, ports, volumes, environment variables, and optional GPU support
Returns health status of the agent
Returns system information including hostname, platform, CPU, memory, GPU, disk, agent version, uptime, and Docker availability
Lists all Docker containers with their information including ID, names, image, status, state, ports, creation time, and GPU usage
Lists files and directories at the specified path with information including name, size, mode, modification time, and item count for directories
Reads the contents of a file
No output schemas documented. Tools return JSON but LLMs cannot infer response structure (fields, types, nesting). Forces LLMs to guess what data is available for downstream tool calls.
Parameter descriptions are minimal or missing. 'path' appears in list_files, read_file, write_file, delete_file, create_directory but lacks format guidance (absolute vs relative? allowed characters? max length?). LLMs cannot validate inputs.
No tool annotations despite clear risk levels. deploy_container (WRITE), write_file (WRITE), delete_file (DESTRUCTIVE) lack readOnlyHint/destructiveHint. Agents cannot distinguish safe from dangerous operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | 2026-07-28+ | v2 |
Writes data to a file, creating parent directories if necessary
Error handling returns raw HTTP status codes without recovery guidance. 'http.Error(w, err.Error(), http.StatusInternalServerError)' gives agents no actionable next step. Missing pattern:recovery-guide.
deploy_container accepts 'ports', 'volumes', 'environment' as free-form objects with no schema constraints. LLMs cannot validate structure (e.g., is 'ports' a map of strings or objects?). No enum for 'gpu' boolean alternatives.