Skip to main content
Glama

detach_user_policy

Destructive

Remove specified canned policies from a MinIO user by access key. Preview changes with dry_run and reattach policies to reverse.

Instructions

[WRITE][risk=medium] Detach canned policies from a user. Reversible → attach.

Refused for this tool's own credential: the account keeps authenticating and loses exactly the rights the undo would need to put them back.

Args: access_key: The user's access key (from iam_users). policies: Policy names to detach (from iam_users). dry_run: If True, preview without detaching. target: MinIO target name from config; omit for the default.

Input Schema

NameRequiredDescriptionDefault
targetNo
dry_runNo
policiesYes
access_keyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.11.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations declare readOnly=false, destructive=true, idempotent=false, and the description adds context well past that: the risk level, that the operation is reversible via attach, the dry_run preview semantics, and a genuine safety guard explaining the operation is refused for the tool's own credential because the account would lose the rights needed to undo. This is exactly the behavioral context annotations cannot carry.

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 WRITE/risk tag, followed by the reversibility and refusal notes, then a clean Args block - the ordering is sensible. The refusal sentence is dense and slightly awkward, but it earns its place as a safety disclosure rather than 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 destructive IAM mutation with no output schema, the definition covers invocation parameters, safety guard, reversibility, and dry-run behavior. Return-value explanation isn't required here, so the only minor gap is the lack of explicit failure/permission conditions beyond the self-credential refusal.

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 parameter burden, and it documents all four: access_key, policies, dry_run (preview without detaching), and target (omit for the default). Naming iam_users as the origin of access_key/policies adds value beyond the bare schema types, though format examples (e.g. policy name syntax) are absent.

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 (detach) and resource (canned policies from a user), with a [WRITE][risk=medium] tag that immediately frames the operation. The inverse sibling attach_user_policy is named via 'Reversible → attach', so an agent can distinguish it from its counterpart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The reversibility note routes the agent to attach_user_policy as the undo path, and the Args section points access_key and policies at iam_users as their source. However, it does not give explicit when-to-use wording or exclusions beyond the reversal relationship.

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