Skip to main content
Glama

get_vsan_efficiency

Read-onlyIdempotent

[READ] Get vSAN data-efficiency (deduplication + compression) status for a cluster.

Instructions

[READ] Get vSAN data-efficiency (deduplication + compression) status for a cluster.

Returns {cluster_name, vsan_enabled, dedup_enabled, compression_enabled}. Reads it via the vSAN Management SDK (VsanVcClusterConfigSystem), not base pyVmomi. When vSAN reports no data-efficiency config (space efficiency off, or an OSA cluster without it), dedup_enabled/compression_enabled come back null with a message rather than a fabricated false. Errors only if the cluster name is not found. Use get_vsan_capacity for space usage and get_vsan_health for disk-group layout. No side effects.

Note: vSAN Global Deduplication and vSAN-to-vSAN replication are NOT exposed here — neither has a verified SDK object (global dedup has no distinct field; v2v replication lives in the separate vSAN Data Protection plane). Use the vCenter/vSAN UI for those.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetNoOptional vCenter/ESXi target name from config.
cluster_nameYesCluster name exactly as shown in vCenter (case-sensitive). Errors if the cluster is not found — vmware-storage has no cluster-listing tool; get names from vmware-monitor list_all_clusters.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description goes well beyond: it discloses the SDK path used, the null-with-message semantics when space efficiency is off (avoiding a fabricated false), the exact error trigger, and the two capabilities deliberately NOT exposed. This is precisely the behavioral context annotations cannot carry.

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?

Front-loaded with the READ marker, purpose, and return shape, then constraints and limits in a trailing note. Dense and well-organized, though the final note is slightly long for two capabilities that are simply unavailable.

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?

With no output schema, the description supplies the return fields, the null-vs-false edge case, the error condition, the SDK provenance, and cross-references to related tools. Nothing an agent needs to call this correctly is missing.

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 100% and the schema already documents both target and cluster_name (including the case-sensitivity and error-on-not-found note). The description adds little parameter-specific meaning beyond restating the error condition, so the baseline of 3 is appropriate.

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 and resource ('Get vSAN data-efficiency (deduplication + compression) status for a cluster') and immediately distinguishes itself from siblings get_vsan_capacity and get_vsan_health. An agent can tell exactly what this returns without opening the 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?

Explicitly routes the agent: use get_vsan_capacity for space usage and get_vsan_health for disk-group layout, and use the vCenter/vSAN UI for Global Dedup and v2v replication. It also states the sole error condition (cluster name not found), so when-to-use and when-not-to-use are both covered.

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