Skip to main content
Glama

listVpsOsTemplates

Read-onlyIdempotent

listVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId for orderVps, so the server arrives with an OS on it) or instanceId (to pick a template for reinstalling via buildVpsInstance). The two are not interchangeable: the available set depends on the package. Template ids change over time, so always resolve an id here rather than reusing a remembered or hardcoded one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
packageIdNoVPS package id from listVpsPackages; use BEFORE ordering to pick an operatingSystemId for orderVps.
includeEolNoInclude end-of-life templates (default false).
instanceIdNoVPS instance id from listMyVpsInstances; use to see what an existing server can be reinstalled with via buildVpsInstance.
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / includeEol / description
      Added value: +"Include end-of-life templates (default false)."
    • addedInput schema / properties / instanceId / description
      Added value: +"VPS instance id from listMyVpsInstances; use to see what an existing server can be reinstalled with via buildVpsInstance."
    • addedInput schema / properties / packageId / description
      Added value: +"VPS package id from listVpsPackages; use BEFORE ordering to pick an operatingSystemId for orderVps."
  2. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral context: authentication is required, template IDs are unstable and must be resolved fresh, and results depend on the package/instance context. This goes beyond the structured annotations without contradicting them.

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

Conciseness5/5

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

The description is compact yet information-dense, with no filler. The core action is front-loaded, followed by the critical exclusivity rule, downstream integration, and a practical stability warning. Every sentence earns its place.

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 read-only list operation with no output schema, the description provides all necessary operational context: input selection, authentication, downstream usage, and a caveat about template ID stability. The absence of an output schema is compensated by explaining how the result is consumed in orderVps and buildVpsInstance.

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 description coverage is 100%, so the structured fields already document all four parameters. The description adds real semantic value by specifying that packageId and instanceId are mutually exclusive, that the choice determines the downstream operation, and that the result should be used as an operatingSystemId. This is extra meaning beyond the schema, though includeEol and sessionKey are left to the schema.

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 a specific verb and resource: 'List operating system templates available to install.' It immediately clarifies the tool's role in two distinct workflows (orderVps and buildVpsInstance), which distinguishes it from sibling tools like listVpsPackages or listMyVpsInstances. This is far beyond a tautology and leaves no doubt about what the tool returns.

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?

The description explicitly states the exclusivity constraint: 'Pass EXACTLY ONE of packageId or instanceId.' It also explains why the two are not interchangeable, ties each parameter to its downstream consumer (orderVps vs buildVpsInstance), and warns that the available set depends on the package. This is concrete when-to-use guidance with no reliance on inference.

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.