Skip to main content
Glama

enable_iscsi

[WRITE] Enable the software iSCSI adapter (vmhba) on an ESXi host.

Instructions

[WRITE] Enable the software iSCSI adapter (vmhba) on an ESXi host.

Required prerequisite before add_iscsi_target. Without confirm=True this only previews: it returns blast_radius (the host, its current adapters, whether the software adapter already exists) and changes nothing. Show it to the user. Do not set confirm=True on your own because the user asked earlier — they have not seen the preview yet. Already enabled returns action "noop" with the HBA device and IQN. Non-disruptive (no reboot, no impact on existing datastores). Refused when the host's storage view cannot be read. Returns a dict; check state first with get_iscsi_status.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetNoOptional vCenter/ESXi target name from config.
confirmNoFalse (default) returns the blast radius and changes nothing. True applies it.
dry_runNoDeprecated alias for confirm; removed in the next minor release. dry_run=False acts, dry_run=True previews.
host_nameYesESXi host name exactly as shown in vCenter inventory (FQDN or IP). Errors if not found.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, idempotentHint=false, destructiveHint=false; the description adds far more: preview-vs-apply semantics, the exact contents of the blast_radius preview, noop behavior for an already-enabled adapter, non-disruptive guarantee (no reboot, no datastore impact), and the refusal condition when the storage view is unreadable. No contradiction with the non-destructive annotation, since enabling an adapter does not destroy anything.

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, then prerequisites, then the confirm contract and side-effect profile. Sentences are short, imperative and non-redundant; nothing could be deleted without losing operational information.

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?

No output schema exists, and the description compensates by describing the return shape ('returns a dict', action 'noop' with HBA device and IQN) plus the preview payload. For a 4-parameter, open-world write tool this covers everything an agent needs to call it safely.

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 coverage is 100%, so the baseline is 3, but the description adds workflow meaning the schema lacks: it explains what confirm=False actually returns (blast_radius with host, current adapters, whether the software adapter exists) and how to interpret confirm=True, and it ties host_name to get_iscsi_status for verification. This is real semantic value beyond the mechanical schema text.

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?

Opens with a specific verb and resource: 'Enable the software iSCSI adapter (vmhba) on an ESXi host.' It also names related siblings (add_iscsi_target, get_iscsi_status), so an agent can place it precisely in the storage workflow without reading any other tool.

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?

Explicit ordering ('Required prerequisite before add_iscsi_target'), an explicit alternative for state checking ('check state first with get_iscsi_status'), and an explicit prohibition ('Do not set confirm=True on your own because the user asked earlier — they have not seen the preview yet'). This is the rare case of when/when-not/alternatives all stated.

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