Skip to main content
Glama

delete_bucket_policy

Destructive

Remove a MinIO bucket's access policy to revert it to private. Supports dry-run preview and undo, restoring the prior policy JSON.

Instructions

[WRITE][risk=medium] Remove the bucket policy (back to private/default).

Reversible → the prior policy JSON is captured and re-applied on undo.

Args: bucket_name: Bucket name (from bucket_ls). dry_run: If True, preview without removing. target: MinIO target name from config; omit for the default.

Input Schema

NameRequiredDescriptionDefault
targetNo
dry_runNo
bucket_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only give destructiveHint=true and idempotentHint=false; the description goes further by disclosing the risk level (medium), the post-state (private/default), and a genuine undo path ('prior policy JSON is captured and re-applied on undo'). This is meaningful behavioral context beyond the 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?

Front-loads the [WRITE][risk=medium] tag and purpose, then reversibility, then args – every line is useful. The bracketed tagging and indented arg block are slightly busy but earn their place.

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 mutation tool with annotations covering the safety profile and no output schema, the description supplies the missing pieces: risk level, reversibility, post-state, and all three undocumented params. Nothing critical to a correct call is absent.

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 carries the full burden, and it documents all three params: bucket_name with a source hint ('from bucket_ls'), dry_run semantics, and target defaulting behavior. It compensates well, though format details (e.g. target naming) are still thin.

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 ('Remove the bucket policy') and names the resulting state ('back to private/default'), which lets an agent distinguish it from set_bucket_policy and bucket_policy_get without opening any 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 purpose implies when to use it (clearing a policy), and it explains dry_run as a preview path, but it never names alternatives such as set_bucket_policy or states when-not to use it. Usage is implied rather than routed.

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