Official Model Context Protocol (MCP) Server for MileHost cloud hosting platform
Significant structural and naming issues. 10 tools with 5 duplicate names (milehost_run_command, milehost-run-command, milehost_exec_command, clear_session, clear-session, milehost_reboot, milehost-reboot) create confusion and violate single-responsibility principle. Descriptions are present but generic, averaging ~150 chars. Input schemas visible but lack required field declarations and type constraints. No output schemas documented. Error handling absent, no recovery guidance or actionable error messages. Security concern: api_key exposed as tool parameter (should use server-side injection). Tool names lack clear verb-noun structure; 'milehost_connect' and 'milehost_list_*' are acceptable but duplicates undermine clarity.
Kills stale terminal sessions, file locks, and background processes (Python, Node.js, etc.) inside the MileHost container. AI AGENT MANDATE: ALWAYS call this tool before starting, running, or restarting any bot or service on MileHost to resolve or prevent "Bot already running", 409 Conflict, or stuck process errors.
Kills stale terminal sessions, file locks, and background processes (Python, Node.js, etc.) inside the MileHost container. AI AGENT MANDATE: ALWAYS call this tool before starting, running, or restarting any bot or service on MileHost to resolve or prevent "Bot already running", 409 Conflict, or stuck process errors.
Reboots and restarts the user server container and all running processes on MileHost. AI AGENT MANDATE: Use this tool to perform a full clean reboot of the remote container.
Executes a terminal or shell command directly inside the remote cloud Docker container on MileHost (e.g. pip install -r requirements.txt, python bot.py, npm start). AI AGENT MANDATE: Do NOT run local scripts to interact with the host. Use this tool exclusively for executing commands in the cloud container.
Connects the AI agent to the MileHost cloud hosting platform. Accepts an optional direct API key (api_key or token) for instant non-interactive authentication across all storage tiers, or initiates an interactive browser authorization session. Always use this tool or provide api_key to authenticate with MileHost.
Duplicate tool names with inconsistent naming conventions (clear_session vs clear-session, milehost_run_command vs milehost-run-command vs milehost_exec_command, milehost_reboot vs milehost-reboot). LLMs cannot disambiguate between tools with identical or near-identical names, causing unpredictable tool selection.
API key exposed as tool parameter (api_key, token). Credentials must never appear in tool parameters, they are logged in traces and prompt history. Use server-side secret injection via environment variables or vault.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Executes a terminal or shell command directly inside the remote cloud Docker container on MileHost. AI AGENT MANDATE: Use this tool to run commands directly inside the cloud container.
Lists all available user containers, servers, and folders on MileHost. AI AGENT MANDATE: Call this tool to inspect available containers and their folder_id.
Lists all available user containers, servers, and folders on MileHost, including container IDs, names, statuses, and runtime information. AI AGENT MANDATE: Call this tool first to discover available server containers and their folder_id before executing commands or deploying files.
Reboots and restarts the user server container and all running processes on MileHost. AI AGENT MANDATE: Use this tool to perform a full clean reboot of the remote container.
Executes a terminal or shell command directly inside the remote cloud Docker container on MileHost (e.g. pip install -r requirements.txt, python bot.py, npm start, node index.js, ls -la, ps aux). AI AGENT MANDATE: Do NOT attempt to write or execute local bash or python scripts to manage remote bots. Use this tool exclusively to execute all build, run, dependency installation, and management commands directly within the remote MileHost server container.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., folder_id returned by list_servers needed by run_command). Responses are unstructured.
No error handling or recovery guidance. Tools lack actionable error messages. If a command fails or authentication fails, LLM receives no guidance on what to do next (retry, ask user, check credentials, etc.).
Input schemas lack required field declarations and type constraints. 'command' parameter in run_command tools is required but not marked in schema. No enums, patterns, or min/max constraints on numeric/string fields.