AI-assisted VPS and server management console with MCP server integration
1Shell exposes 9 tools with basic schemas and descriptions, but critical gaps undermine production readiness. All tools have descriptions (10-60 chars, mostly too brief), and input schemas are present with typed parameters. However, descriptions lack actionable context for LLM selection, they state WHAT but not WHEN or WHY. Error handling is absent: no recovery guidance, no categorization of retryable vs fatal errors. Security concerns: host_exec and file upload tools accept hostId as a string parameter with no validation hints, inviting injection attacks. Composition is weak: upload_file, write_remote_file, start_file_upload, append_file_upload, and finish_file_upload represent a fragmented multi-step workflow that should be abstracted into a single high-level tool. Output schemas are undocumented, LLMs cannot predict response structure. No pagination, no result limits, no chaining IDs. ask_1shell_ai and get_1shell_ai_run form an incomplete async pattern with no timeout or status enum guidance.
Append a chunk of data to an ongoing file upload
Request the 1Shell AI to perform a task
Complete a chunked file upload session
Query the status and result of a background AI run
Query the status of a background file transfer
Execute a command on a remote host
Initiate a chunked file upload session
Descriptions are too brief (10-60 chars) and lack actionable context. They state WHAT the tool does but not WHEN to use it, what prerequisites exist, or how it differs from similar tools. LLMs cannot reliably select the right tool without this guidance.
File upload workflow is fragmented across 5 separate tools (start_file_upload → append_file_upload → finish_file_upload) instead of a single high-level abstraction. This violates single-responsibility and forces agents to orchestrate multi-step sequences, wasting tokens and inviting mid-chain failures.
No error handling guidance. Tools lack recovery hints, error categorization (retryable vs fatal), or actionable error messages. An LLM receiving a failure has no guidance on what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Upload a file to a remote host directory
Write text content to a remote file (small text only)
hostId and command parameters accept free-form strings with no validation hints, format constraints, or injection safeguards documented. LLMs may pass malicious payloads (path traversal, command injection) without guidance.
Output schemas are undocumented. LLMs cannot predict response structure, field names, or types. This breaks tool chaining and forces agents to guess what data is available after each call.