Skip to main content
Glama

get_resource_relationships

Read-onlyIdempotent

Retrieve parent and child relationships for any VMware Aria resource to trace inventory links across VMs, hosts, datastores, and folders. Walk up or down the hierarchy using returned IDs and pagination offsets.

Instructions

[READ] Navigate the inventory: resources related to one resource (VM -> host, datastore, folder; host -> VMs, datacenter). Each row: id, name, kind, adapter_kind, direction (parent, child, both, other). Call again on a returned id to walk further up or down.

Returns a paginated envelope with next_offset — pass it back as offset until null. With ALL, direction is null when the PARENT/CHILD labels could not be read, and direction_note says why. A failed or unrecognised read is an error, never an empty list.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoPage size, 1-500 (default 100). Out-of-range is rejected.
offsetNoRows to skip; pass the previous response's next_offset.
targetNoAria target name from config; default when omitted.
resource_idYesResource UUID (from list_resources).
relationship_typeNoExactly ALL, PARENT or CHILD (upper case). Default ALL; ANCESTOR/DESCENDANT are rejected.ALL

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.15.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover readOnlyHint, openWorldHint, idempotentHint, and non-destructiveness, lowering the bar. The description still adds real behavioral value beyond those: the paginated envelope with next_offset mechanics, the ALL-mode quirk where direction is null when PARENT/CHILD labels could not be read (with direction_note explaining why), and the strong error semantic that a failed read is an error, never an empty list. No contradiction with annotations.

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?

Two dense paragraphs that are well front-loaded: the purpose and row format lead, followed by pagination and edge-case semantics. No filler or repetition of the name/title. It earns each sentence, though it is information-dense enough that it borders on needing a structure break for readability.

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, the description correctly carries the burden of explaining return values — it lists the row fields (id, name, kind, adapter_kind, direction) and the pagination envelope. It covers the ALL edge case and error behavior. The only minor gap is that the target parameter is left entirely to the schema, which already documents it. For a 5-param, no-output-schema tool, this is largely complete.

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%, so the baseline is 3. The description adds modest value over the schema: it ties offset to the returned next_offset, and explains the relationship_type=ALL behavior (null direction with direction_note). It also notes resource_id comes from list_resources, which the schema already states. The parameter contracts are well documented in the schema, and the description's added meaning is marginal but real.

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 states a specific verb and resource ('Navigate the inventory: resources related to one resource') with concrete relationship examples (VM -> host, datastore, folder; host -> VMs, datacenter). It also enumerates the output row fields, which clearly distinguishes it from siblings like get_resource, list_resources, get_resource_properties, and get_resource_metrics. The purpose is unmistakable.

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?

The traversal guidance is explicit: 'Call again on a returned id to walk further up or down' and the pagination contract ('pass it back as offset until null'). The relationship examples give an agent a concrete sense of when this tool applies. However, it never names alternatives or states when NOT to use it versus get_resource/list_resources, so exclusion guidance is left to inference.

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