Skip to main content
Glama

esxi_service_manage

Destructive

Start, stop, restart, or configure startup policy for services on a VMware ESXi host, with dry-run preview, expected-host validation, and safe execution controls.

Instructions

专用 service 管理:start, stop, restart, startup_policy。先 resource_schema/get 和默认预览;实际执行精确 expected_host、写开关与依赖确认,支持 request_id 防止重复执行。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYes
dry_runNo
argumentsNo
request_idNo
expected_hostNo
allow_disruptionNo
acknowledged_vm_idsNo
allow_unknown_impactNo
allow_protected_impactNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false, so the danger is covered. The description adds value beyond them: dry_run defaults to preview, real execution requires an exact expected_host plus a write switch and dependency confirmation, and request_id guards against duplicate execution. These are concrete operational traits not present in the structured fields.

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?

A single dense sentence front-loads the purpose (dedicated service management) and the supported actions before the workflow caveats. It is compact and wastes little, though the compressed phrasing slightly hurts readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, and annotations carry the safety profile. However, for a 9-parameter destructive tool, several impact-control parameters are left unexplained and the guidance on dry_run vs live execution is only implicit, leaving gaps an agent must fill by guesswork.

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 0%, so the description must carry parameter meaning. It does explain action values, dry_run preview, expected_host exactness, request_id dedup, and alludes to dependency/impact acknowledgement, but it leaves allow_disruption, acknowledged_vm_ids, allow_unknown_impact and allow_protected_impact unaddressed, so roughly half the parameters remain opaque.

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 names a specific resource (service) and enumerates the concrete verbs: start, stop, restart, startup_policy. This clearly separates it from the many other *_manage siblings (network, datastore, storage, firewall, etc.). It is clear but does not explicitly name a sibling it should not be confused with.

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?

It advises a workflow: first call resource_schema/get and rely on the default preview before real execution. That is useful implied sequencing, but there is no explicit when-to-use / when-not-to-use vs alternatives, and no statement of prerequisites beyond a generic 'dependency confirmation'.

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