Skip to main content
Glama

vm_start

Destructive

Start a virtual machine (VM) in XCP-ng via Xen Orchestra. Provide the VM UUID; optionally preview with dry_run or select a target.

Instructions

[WRITE][risk=medium] Start a VM. Inverse: vm_stop.

Args:
    vm_id: VM uuid (see vm_list).
    dry_run: If True, preview without starting (no undo recorded).
    target: Xen Orchestra target name from config; omit for the default.

Input Schema

NameRequiredDescriptionDefault
vm_idYes
targetNo
dry_runNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, so the safety profile is covered. The description adds genuinely new context beyond them: a medium risk rating and the fact that dry_run skips undo recording, which implies the tool participates in an undo/rollback system. It does not state what happens if the VM is already running.

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?

Front-loaded with the action and inverse in one line, then a tight three-item args list. Nothing is padded, and the most routing-relevant information (what it does, what undoes it) comes first.

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?

With no output schema and only three parameters, the description covers operation, inverse, alternative discovery path, and per-parameter meaning. Remaining gaps are minor: error behavior for an already-running VM and any required auth/permission context are unstated.

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

Parameters5/5

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

Schema description coverage is 0%, so the description carries the full burden and does so: vm_id is defined as a VM uuid with a discovery pointer (vm_list), target is explained as a Xen Orchestra target name from config that defaults when omitted, and dry_run's semantics (preview, no undo recorded) are spelled out. No parameter is left undocumented.

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+resource ('Start a VM') and immediately names the sibling it inverts ('Inverse: vm_stop'), letting an agent route between vm_start/vm_stop/vm_reboot without opening schemas. The [WRITE][risk=medium] prefix adds operation class and risk at a glance.

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?

Explicitly points to vm_list for resolving vm_id and to vm_stop as the inverse operation, and explains dry_run as a non-committing preview. It stops short of stating when not to use it (e.g. VM already running, or reboot being preferable to a stop/start cycle).

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