Skip to main content
Glama

EQVPS — VPS and code sandboxes for AI agents

Plan change options

get_upgrade_options
Read-only

List the plans this VPS can switch to IN PLACE with its data kept: bigger plans of the same network type (resize: more vCPU/RAM/disk), NAT → dedicated IPv4 (convert: adds a public IP) or dedicated → the equivalent NAT plan (convert_to_nat: drops the IP, the unused price difference is refunded to the balance). Each option: product_id, name, monthly, prorated_topup (charged now for the rest of the current period), mode. Shrinking vCPU/RAM/disk is not possible (a disk cannot be reduced). The server must be active. Options come grouped by line (same = a bigger plan on the same network, to_ip, to_nat). Every option can be ordered; capacity_now: false (with wait_reason capacity | no_ip) means the server's host has no free room or IPv4 for it right now — change_plan then charges as usual and the upgrade is applied automatically from the queue, usually within 24 hours (the server is never moved to another host). pending_upgrade is set (and options empty) when an upgrade is already paid and waiting. unused_credit is the value of the unused time on the current plan, new_cost the new plan for the same time; prorated_topup = new_cost − unused_credit, which is what change_plan charges. Requires: token, server active.

Input Schema

NameRequiredDescriptionDefault
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. Changed1 schema field changed
    • 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. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already mark it read-only and non-open-world, yet the description adds substantial operational depth: how capacity_now/wait_reason affect ordering, that queued upgrades apply automatically within ~24h and never move hosts, that pending_upgrade suppresses options, and how refunds/credits work. This goes well beyond what the annotations 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?

Purpose is front-loaded in the first clause, and every subsequent sentence carries distinct information (modes, option fields, constraints, capacity semantics, math). It is dense and could be split for readability, but little is wasted.

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 having no output schema, the description enumerates the returned fields (product_id, name, monthly, prorated_topup, mode, line, capacity_now, wait_reason, pending_upgrade, options, unused_credit, new_cost) and explains their meaning and interactions. It is complete enough for an agent to interpret results and reason about a follow-up change_plan call.

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?

Only one parameter and schema coverage is 100%, with the schema already explaining the service_id format. The description mentions required auth ('token') but adds nothing about service_id semantics, so the structured field carries the burden — the correct baseline of 3.

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 (List) and resource (plans this VPS can switch to IN PLACE), and names the three operation modes (resize, convert, convert_to_nat) with their effects. It is clearly distinguishable from list_plans (generic catalog) and change_plan (executes the change).

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 explicit preconditions ('The server must be active') and hard exclusions ('Shrinking vCPU/RAM/disk is not possible'), and ties the result to the follow-up action change_plan. It stops short of explicitly routing against sibling tools like list_plans, so it is strong but not a full when/when-not/alternatives statement.

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.