Skip to main content
Glama

Get service file download URL

get_service_file_download_url

Create a temporary, read-only download URL for a file on a VPSnet service server. Hand the URL only to the requesting user; it acts as a credential and expires 10 minutes after first use.

Instructions

Mint a one-file download URL (bound to the file version and size and to the caller's address /24 or /64; valid 10 minutes until first use, 6 hours after it, read-only). The URL itself is a credential: hand it only to the user who asked. Prefer download_service_file to save the file on this machine. Refused for an abuse-suspended service or while a service action runs. 30 per minute. Requires files:read on the API key as an explicit grant (a key whose permission list was left empty does not hold it), read or full access; the hosted connector needs vm:files:read. Availability: Firecracker servers need the updated guest agent (filesUnavailable reason agent_update_required; node_update_required while the host node is not updated yet) and Cloud VPS (KVM) servers need the VDS file-manager switch (reason feature_disabled while it is off); relay any unavailable reason verbatim and never work around it. A server whose 2FA lock is on answers 423.

Input Schema

NameRequiredDescriptionDefault
pathYesAbsolute path inside the server (UTF-8, at most 4096 bytes, no . or .. components)
orderNoYesTenant-owned service order number, e.g. VP12345
waitSecondsNoHow long this tool waits for a slow guest's operation before returning its operationId (default 30, recursive delete and extract 60)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.3.17

TDQS

A4.5/5.0
Behavior5/5

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

Discloses far more than the annotations: URL validity window (10 minutes until first use, 6 hours after), binding to file version/size and caller /24 or /64, the fact that the URL is itself a credential, a 30/min rate limit, the required files:read grant including the empty-permission-list caveat, unavailability reasons that must be relayed verbatim, and the 423 response. The readOnlyHint=false annotation is consistent with minting a credential and nothing in the text contradicts it.

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?

Every sentence carries load-bearing information and the core purpose plus the sibling preference are front-loaded. It is dense and would benefit from splitting the availability/permission clauses into a more scannable structure, but there is essentially no filler.

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 credential-minting tool with no output schema, the description covers permissions, failure modes, availability gating, and rate limits thoroughly. The one gap is that it never says what the response returns (the URL field and its expiry), which an agent handing the value off would want stated.

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 orderNo, path, and waitSeconds are already fully documented in the schema. The description adds no further parameter-level meaning (no hint about path resolution against service roots, for example), so the baseline of 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 precise verb and resource ('Mint a one-file download URL') and immediately scopes it with binding, lifetime, and read-only semantics. It explicitly distinguishes itself from the sibling download_service_file, so an agent can route between them without opening either 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 an explicit routing rule ('Prefer download_service_file to save the file on this machine'), the credential-handling constraint ('hand it only to the user who asked'), and the conditions under which the call is refused (abuse-suspended service, service action running, 2FA lock returning 423). Nothing about when-to-use is left to inference.

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

Deploy Server

Other Tools