Skip to main content
Glama

sylve_node_drain

Destructive

Builds and optionally executes a maintenance drain plan for a node to migrate or stop guests for HA failover, defaulting to a safe dry run.

Instructions

Build and optionally execute a maintenance drain plan for a node (HA failover, migration, or stop). Dry run by default for safety.

Input Schema

NameRequiredDescriptionDefault
nodeYesNode hostname or UUID to drain (required).
waitNo
contextNoNamed login context from ~/.config/sylve/config.yaml.
dry_runNoOnly build the plan (default true).
stop_onlyNoStop guests instead of migrating.
target_nodeNoExplicit destination node.
running_onlyNoSkip stopped guests.
wait_timeoutNo
fallback_stopNoStop guests that cannot migrate.
ignore_errorsNoContinue past failing guests.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds the useful fact that execution is opt-in via a dry-run default, but says nothing about what happens to guests that fail mid-drain, partial-failure states, or what the built plan contains — significant for a 10-parameter 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.

Conciseness5/5

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

One compact sentence, front-loaded with the action and scope, then the strategy options, then the safety default. Nothing is redundant or wasted.

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

Completeness3/5

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

For a destructive, 10-parameter node-wide operation with no output schema, the description is terse: it never says what the returned plan looks like, whether execution blocks or returns a task handle, or how wait/wait_timeout interact with the dry-run default. Adequate but leaves real gaps an agent would want filled.

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 coverage is 80%, so most parameters (node, context, dry_run, stop_only, target_node, stop_only, fallback_stop, ignore_errors) are already documented in the schema. The description adds no syntax, defaults, or interaction rules beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Build and optionally execute a maintenance drain plan for a node') and enumerates the strategies (HA failover, migration, stop). This clearly separates it from single-guest siblings like sylve_vm_migrate, though it never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'dry run by default for safety' clause implies the intended maintenance workflow and nudges toward previewing first, but there is no explicit when-to-use vs sylve_vm_migrate or sylve_node_show, and no stated prerequisites or exclusions.

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