Skip to main content
Glama

set_versioning

Destructive

Enable or suspend versioning for a MinIO bucket to control object history. Preview changes with dry run before applying, and target a specific MinIO instance if needed.

Instructions

[WRITE][risk=medium] Enable or suspend bucket versioning. Reversible → prior state.

Args: bucket_name: Bucket name (from bucket_ls). status: "Enabled" or "Suspended". dry_run: If True, preview without changing versioning. target: MinIO target name from config; omit for the default.

Input Schema

NameRequiredDescriptionDefault
statusYes
targetNo
dry_runNo
bucket_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=true, idempotent=false, and the description adds genuinely new context: a risk tag ([WRITE][risk=medium]), a reversibility claim ('Reversible → prior state'), and the semantics of dry_run as a preview mode. Note the mild tension between 'Reversible' and destructiveHint=true, but reversibility and destructiveness are not mutually exclusive, so this is added context rather than a contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded action line followed by a compact Args list. Given 0% schema coverage the per-parameter lines are load-bearing rather than redundant, and there is no filler.

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?

For a 4-param write tool with no output schema, the description covers action, safety posture, reversibility, dry_run, and every parameter. It omits the side effects an agent would want on a versioning mutation - what happens to existing object versions when suspended, and any permission prerequisites - which keeps it short of full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden and does: it documents all four parameters, including an allowed-value set for status ('Enabled' or 'Suspended') that the schema lacks as an enum, the provenance hint for bucket_name ('from bucket_ls'), the target fallback behavior, and dry_run semantics.

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 pair and resource: 'Enable or suspend bucket versioning.' The set/write verb set clearly separates it from read siblings such as bucket_versioning_get, so an agent can tell the tools apart without opening a 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?

Usage is only implied by the verb and the dry_run parameter. There is no explicit when-to-use, no when-not-to-use, and no routing guidance toward the sibling versioning reader (bucket_versioning_get) or related lifecycle tools; the agent must infer context.

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