Skip to main content
Glama

Cancel a VPS

cancel_service

Cancel a VPS. DEFAULT end_of_period: the server stays active until the end of the already-paid period, then is simply not renewed — NO data loss now, safe. immediate DESTROYS the VM and ALL data right away, permanently and irreversibly, and REQUIRES confirm set to the exact server hostname (see get_vps_status). Use end_of_period unless you explicitly intend to wipe the server now. On immediate, the unused portion of the already-paid period is refunded to your account balance (see refund_amount in the response).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNo
reasonYesREQUIRED: why this VPS is being cancelled (e.g. project finished, too expensive, no longer needed).
confirmNo
service_idNoService 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. 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",
      -  "reason"
      -]New value: +[
      +  "reason"
      +]
  2. Changed2 schema fields changed
    • addedInput schema / properties / reason
      Added value: +{
      +  "description": "REQUIRED: why this VPS is being cancelled (e.g. project finished, too expensive, no longer needed).",
      +  "maxLength": 500,
      +  "minLength": 3,
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "service_id"
      -]New value: +[
      +  "service_id",
      +  "reason"
      +]
  3. First observed

TDQS

A4.5/5.0
Behavior5/5

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

With zero annotations, the description carries the full disclosure burden and excels: it states end_of_period means "NO data loss now, safe," and that immediate "DESTROYS the VM and ALL data right away, permanently and irreversibly." It also discloses the confirm prerequisite, the refund of the unused paid period, and points to refund_amount in the response — a complete safety and consequence profile for a destructive operation.

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?

The description is a dense ~90-word block where every sentence earns its place: purpose, default-mode safety, destructive-mode warning with the confirm prerequisite, an explicit recommendation, and refund behavior. The safety-critical contrast is front-loaded and emphasized with caps, though the single-paragraph format with several dependent clauses is slightly harder to scan than bulleted structure would be.

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

Completeness4/5

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

For a destructive 4-parameter tool with no output schema and no annotations, this covers nearly everything: both modes, the confirm requirement, where to find the hostname, and the refund/response pointer. Minor gaps remain: the description never states which parameters must be combined (schema only marks reason as required even though identifying the VPS via service_id is mandatory) and the full response shape beyond refund_amount is unspecified.

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

Parameters4/5

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

Schema coverage is only 50% (reason and service_id are documented; type and confirm are not). The description compensates precisely for the gaps: it explains both enum values of type in detail and clarifies that confirm must hold the exact server hostname, obtainable via get_vps_status. The schema already handles reason and service_id, so the description adds value exactly where needed.

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?

The description opens with the specific verb+resource pair "Cancel a VPS" and then dissects what cancellation means via two concrete modes (end_of_period vs immediate). No sibling tool performs termination, so there is no ambiguity with power_vps, reinstall_vps, or set_hostname.

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?

The description gives explicit when/when-not direction: "Use end_of_period unless you explicitly intend to wipe the server now" and says immediate "REQUIRES confirm set to the exact server hostname." It does not compare against alternative sibling tools, but no sibling handles cancellation, so the key decision an agent faces — which mode to select — is fully guided.

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.