Skip to main content
Glama

EQVPS — VPS and code sandboxes for AI agents

Reinstall OS

reinstall_vps
Destructive

DESTRUCTIVE — all data is lost. REQUIRES confirm = exact hostname (from get_vps_status) or 'DELETE'. Agent must explicitly confirm with the human before calling. Wipes and reinstalls the VPS with the given OS image (os_id from list_plans). Provisioning runs asynchronously; poll get_vps_status. Requires: token + confirm (hostname or DELETE). Destroys all data.

Input Schema

NameRequiredDescriptionDefault
os_idYesRequired. OS image id from this plan's `available_os` in list_plans, integer, e.g. 4 (Ubuntu 24.04).
confirmYesRequired. Safety confirmation: the server's exact hostname (from get_vps_status) or the literal "DELETE". ALL data is erased — ask the human first.
service_idNoOptional. Service code as returned by list_vps/order_vps, e.g. "68J67T5" (a plain numeric id is also accepted).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / confirm / description
      Added value: +"Required. Safety confirmation: the server's exact hostname (from get_vps_status) or the literal \"DELETE\". ALL data is erased — ask the human first."
    • addedInput schema / properties / os_id / description
      Added value: +"Required. OS image id from this plan's `available_os` in list_plans, integer, e.g. 4 (Ubuntu 24.04)."
    • changedInput schema / properties / service_id / description
      Previous value: -"Service code as returned by list_vps/order_vps, e.g. \"68J67T5\" (a plain numeric id is also accepted)."New value: +"Optional. Service code as returned by list_vps/order_vps, e.g. \"68J67T5\" (a plain numeric id is also accepted)."
  2. Changed5 schema fields changed
    • addedInput schema / properties / service_id / description
      Added value: +"Service code as returned by list_vps/order_vps, e.g. \"68J67T5\" (a plain numeric id is also accepted)."
    • removedInput schema / properties / service_id / exclusiveMinimum
      Removed value: -0
    • addedInput schema / properties / service_id / minLength
      Added value: +1
    • changedInput schema / properties / service_id / type
      Previous value: -"integer"New value: +"string"
    • changedInput schema / required
      Previous value: -[
      -  "service_id",
      -  "os_id",
      -  "confirm"
      -]New value: +[
      +  "os_id",
      +  "confirm"
      +]
  3. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the destructiveHint annotation: it states all data is lost, specifies the exact confirmation mechanism (hostname or DELETE), mandates human confirmation before the call, and discloses that provisioning is asynchronous and must be polled via get_vps_status. That is rich behavioral context an agent cannot infer from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the DESTRUCTIVE warning, which is the right priority, but repeats itself ('all data is lost' vs 'Destroys all data', and the confirm requirement twice), so a small amount of the text is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, no-output-schema mutation tool this covers everything an agent needs: the safety gate, the confirmation format, the source of os_id, and the post-call polling behavior. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description restates confirm's allowed values and os_id's source, largely duplicating the schema rather than adding format or edge-case detail for os_id or service_id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (wipes and reinstalls) and resource (the VPS with a given OS image), and distinguishes itself from siblings like power_vps or change_plan. The destructive scope and cross-references to list_plans make the intent unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context: this is destructive, requires explicit human confirmation, and the confirm value must match the exact hostname or 'DELETE'. It does not explicitly contrast against alternatives such as power_vps or change_plan, but the precondition-driven framing is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.