Skip to main content
Glama

Whitelist, operators, bans, and kicks

manage_access
Destructive

Control Minecraft server access in one call: enable whitelist, add or remove operators, ban players or IPs, pardon bans, and kick players with reasons.

Instructions

Change who may play, in one call; give only the parts you need. whitelist turns it on or off, enforces it (kicks online players who aren't on it), and adds or removes players. operators makes players operators or takes it away; it needs server:console, since an operator may run every command. ban bans players by name or UUID and banIps addresses, kicking anyone online they hit; pardon and pardonIps lift bans. kick disconnects players with a reason. Needs players:moderate. Confirm bans and kicks with the user first.

Input Schema

NameRequiredDescriptionDefault
banNo
kickNo
banIpsNo
pardonNoPlayer names or UUIDs
operatorsNo
pardonIpsNo
whitelistNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true, but the description adds substantial context beyond them: whitelist enforcement kicks non-whitelisted online players, bans kick anyone online they hit, operator grants imply every command, and it names required permissions (server:console for operators, players:moderate generally). The user-confirmation requirement for bans and kicks is exactly the kind of pre-call caution an agent needs.

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 summary clause followed by operation-by-operation sentences, each sentence carrying a distinct fact (permission, side effect, or confirmation rule). No repetition of the title or the schema.

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, 7-parameter, no-output-schema tool, the description covers permissions, side effects, and confirmation policy well. It leaves open what a partial/mixed call returns and whether operations are atomic on failure, which matters given the composability the description advertises.

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?

With schema coverage at only 14% and 7 nested parameters, the description does most of the documentation work: it explains whitelist.enabled vs whitelist.enforced (with the enforcement side effect), operators.add/remove semantics, and the pairing of ban/pardon and banIps/pardonIps. It does not explain reason strings or ban duration semantics, though durationSeconds carries its own schema description.

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?

Opens with a specific verb and resource scope ('Change who may play, in one call') and then enumerates every operation the tool bundles: whitelist, operators, ban/banIps, pardon/pardonIps, kick. An agent can immediately tell this is the mutation counterpart to get_access without opening the 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?

'Give only the parts you need' tells the agent the call is composable and partial, and 'Confirm bans and kicks with the user first' gives an explicit pre-flight rule. It never names an alternative or a when-not-to-use case (e.g. use get_access for read-only inspection), so it stops short of full routing guidance.

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