Skip to main content
Glama

vsan_efficiency

Read-onlyIdempotent

Retrieve vSAN deduplication and compression status for a cluster. Verify whether data-efficiency features are enabled to identify space-saving configuration.

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 vsan_capacity for space usage and 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. Dates show when Glama detected each change.

  1. Changed3 schema fields changedv1.8.15
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / cluster_name / description
      Added value: +"Cluster 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."
    • addedInput schema / properties / target / description
      Added value: +"Optional vCenter/ESXi target name from config."
  2. Addedv1.8.10

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnlyHint/idempotentHint annotations, the description discloses that it calls the vSAN Management SDK rather than base pyVmomi, that missing config returns null with a message rather than a fabricated false, and that errors only occur for an unknown cluster name. It also clearly notes the tool's limitations regarding global dedup and v2v replication, which the annotations do not cover.

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?

The description is longer than average but well-structured, with the core purpose and return values front-loaded before implementation details and exclusions. A small amount of redundancy exists, such as echoing 'no side effects' despite annotations already declaring readOnlyHint and destructiveHint=false.

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?

For a read-only status tool with no output schema, the description fully covers return fields, error behavior, SDK dependency, a common null-result case, and exclusions. An agent has enough context to invoke it correctly and avoid misusing it for capacity or health queries.

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 both parameters already have meaningful descriptions, including case-sensitivity and config-target semantics. The tool description adds behavioral context like error conditions and return fields, but does not materially add parameter-level meaning beyond the schema.

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?

The description opens with '[READ] Get vSAN data-efficiency (deduplication + compression) status for a cluster,' which names a specific verb, resource, and scope. It also distinguishes itself from vsan_capacity and vsan_health by naming those siblings for other purposes.

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?

The description explicitly says 'Use vsan_capacity for space usage and vsan_health for disk-group layout,' giving clear routing to alternatives. It also states when not to use it: global dedup and v2v replication are not exposed here and require the vCenter/vSAN UI.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vmware-skills/VMware-Storage'

If you have feedback or need assistance with the MCP directory API, please join our Discord server