Skip to main content
Glama
mcp-vmwhere
by Bright0505

列出資料中心

list_datacenters
Read-onlyIdempotent

Retrieves all vCenter datacenters, including total count and each datacenter's ID and name, to support inventory checks and resource organization.

Instructions

列出 vCenter 中的資料中心(Datacenter):total 與每個資料中心的 id、名稱。

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_datacenters"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
totalYes
datacentersYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered by structured data. Beyond that, the description only says the output contains a total and per-datacenter id and name, which the output schema likely already documents. It adds no context about permissions, failure modes, or empty-inventory behavior.

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 one compact sentence with the key information front-loaded and no wasted words. It describes return fields even though an output schema exists, which is mildly redundant, though harmless.

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 zero parameters, full annotation coverage, and a dedicated output schema, the description needs only to state what is enumerated. It does so. It does not mention scale or when an empty result might occur, but neither is essential for correct invocation.

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?

The tool takes no parameters, so the baseline is 4. The description correctly implies that there is no filtering or paging input; it lists all datacenters in the vCenter. Nothing is missing at the parameter level.

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?

The description provides a specific verb and resource, '列出 vCenter 中的資料中心(Datacenter)', and states the scope as well: the vCenter inventory. It also names the returned fields (total, id, name). It does not explicitly distinguish the tool from sibling listing tools, but because each sibling targets a different resource type (VMs, hosts, clusters), the agent can distinguish it 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 Guidelines3/5

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

The use case is only implied: an agent would infer it should use this tool when it needs datacenter ids or names. The description does not explicitly state when to use it, when to prefer a sibling tool, or any prerequisite, such as needing an authenticated vCenter session. For a zero-parameter read tool, this is minimal but adequate.

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