Skip to main content
Glama

buildVpsInstance

Destructive

buildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed application, and cannot be undone. The install is asynchronous; afterwards poll getVpsInstanceDetails until buildState is COMPLETE. If an Osir app was deployed onto this instance, a rebuild erases it; re-attach it afterwards with osirAppDeployToVps. Never rebuild a box just to install an app runtime by hand. Requires authentication. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
swapNoSwap size: 256, 512, or 768 (MB), or 1, 1.5, 2, 3, 4, 5, 6, or 8 (GB).
hostnameNoHostname for the rebuilt server; defaults to the instance's current hostname.
sshKeyIdsNoInteger SSH key ids from listMySshKeys, injected during install; without one you may not be able to log in.
instanceIdYesVPS instance id from listMyVpsInstances.
sessionKeyNoSession key (osk_...) returned by checkDeviceLoginStatus. Pass it on every call when logged in via the in-chat device flow; omit when connected via OAuth.
operatingSystemIdYesInteger OS template id from listVpsOsTemplates, resolved with this same instanceId.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / hostname / description
      Added value: +"Hostname for the rebuilt server; defaults to the instance's current hostname."
    • addedInput schema / properties / instanceId / description
      Added value: +"VPS instance id from listMyVpsInstances."
    • addedInput schema / properties / operatingSystemId / description
      Added value: +"Integer OS template id from listVpsOsTemplates, resolved with this same instanceId."
    • addedInput schema / properties / sshKeyIds / description
      Added value: +"Integer SSH key ids from listMySshKeys, injected during install; without one you may not be able to log in."
    • addedInput schema / properties / swap / description
      Added value: +"Swap size: 256, 512, or 768 (MB), or 1, 1.5, 2, 3, 4, 5, 6, or 8 (GB)."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare only destructiveHint/idempotentHint, while the description adds the crucial specifics: ALL data including deployed apps is erased, it is irreversible, the operation is asynchronous, authentication is required, and the result is a two-step confirmation via actionId and executeConfirmedAction. This is far beyond what structured fields convey.

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 and the async/consequence details before the confirmation flow, with essentially no filler. It is slightly dense and enjambed into one long block, but every sentence carries actionable information.

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?

Despite no output schema, the description explains the return value (actionId), the required confirmation round-trip, and the follow-up polling tool. For an irreversible multi-step rebuild flow, nothing an agent needs in order to call it correctly 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 all six parameters including swap units, sshKeyIds, and the osk_ session key are already documented in the schema. The description adds no additional parameter-level meaning, so the baseline 3 applies.

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 and resource ('Stage an operating system install (or reinstall) on a VPS instance') and immediately scopes the blast radius. An agent can distinguish this from sibling tools like osirAppDeployToVps or orderVps without opening the schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use (OS install/reinstall), an explicit when-not ('Never rebuild a box just to install an app runtime by hand'), names the alternative (osirAppDeployToVps) and its precondition, and prescribes the post-call polling loop against getVpsInstanceDetails.

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.