Skip to main content
Glama

lifecycle_gap_analysis

Read-only

Find MinIO buckets with lifecycle gaps, estimate reclaimable space, and get root causes with recommended actions.

Instructions

[READ] ILM gaps per bucket + reclaimable estimate, cause + action.

Finds versioned buckets with no noncurrent expiry (old bytes accrue forever), incomplete multipart uploads with no abort rule (invisible space), and large buckets with no lifecycle at all.

Args: limit: Maximum buckets to analyze (default 100). target: MinIO target name from config; omit for the default.

Input Schema

NameRequiredDescriptionDefault
limitNo
targetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

A3.9/5.0
Behavior3/5

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

readOnlyHint=true already covers the safety profile and the '[READ]' tag is consistent, so no contradiction. The description adds real context by naming the gap classes it surfaces and the reclaimable/cause/action shape, but says nothing about scan cost, breadth, or what 'large buckets' thresholds apply.

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?

Front-loaded with the core read purpose, then a compact enumeration of gap types, then Args. Only mild redundancy in the parenthetical flavor ('old bytes accrue forever', 'invisible space'), but overall tight and well-structured.

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 carries the return-value burden and characterizes outputs conceptually (gaps, reclaimable estimate, cause + action). For a 2-param read-only diagnostic that is largely sufficient, though output structure and the meaning of 'large' remain underspecified.

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?

Schema coverage is 0%, so the description must compensate and largely does: it defines limit as 'maximum buckets to analyze' and target as the 'MinIO target name from config; omit for the default,' adding meaning beyond the bare titles and defaults. It does not explain how limit interacts with the result or what happens when it is exceeded.

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+resource ('ILM gaps per bucket + reclaimable estimate, cause + action') and enumerates the three exact gap classes it detects (unversioned-expiry buckets, incomplete multipart uploads, large buckets with no lifecycle). This lets an agent separate it from sibling reads like bucket_lifecycle_get (config read) or diagnose_retention_gaps 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?

The enumerated gap categories imply when the tool is useful (auditing remediation opportunities), but it never states when to prefer it over siblings such as bucket_lifecycle_get, diagnose_retention_gaps, or incomplete_uploads_ls, and gives no exclusions or prerequisites. Usage is inferable but not directed.

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