Skip to main content
Glama

Final POS – Custom POS Builder

Delete role

hub_delete_role
Destructive

Delete a role the merchant no longer uses. Takes the roleId from get_roles. CONFIRM FIRST, naming the role — there is no undo. A role that anyone still holds cannot be deleted: the server refuses and tells you how many people are on it. Move them with assign_role first, and check with the merchant which role they should land on — that move changes what those people can do. You cannot delete the role you are signed in under.

Input Schema

NameRequiredDescriptionDefault
roleIdYesRole id from get_roles — not a role name

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare destructiveHint=true, but the description goes well beyond that: it warns there is no undo, explains the server-side refusal when holders exist and that it reports the headcount, and states the self-deletion block. These are concrete failure modes and side effects an agent cannot infer from annotations or schema.

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 action, then confirmation, then failure modes in a logical order; nearly every sentence carries a distinct constraint. The one weak spot is the 'Takes the roleId from get_roles' sentence, which duplicates the schema description and could be dropped.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter destructive tool with no output schema, the description covers confirmation protocol, irreversibility, the dependent-entity precondition, the required remediation tool, and the self-deletion guard. Nothing an agent needs to call it safely is missing.

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

Parameters3/5

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

Schema coverage is 100% and the schema already documents roleId as 'Role id from get_roles — not a role name'. The description's 'Takes the roleId from get_roles' largely repeats that, adding no new format or syntax detail. Baseline 3 applies when the schema does the heavy lifting.

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 and resource ('Delete a role') with the scoping qualifier 'the merchant no longer uses', which distinguishes it from hub_create_role and hub_update_role in the sibling list. An agent can identify the operation and its intent 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 Guidelines5/5

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

Explicitly names the prerequisite workflow: reassign holders via assign_role first, consult the merchant about the target role, and it rules out deleting the signed-in role. It also references get_roles as the source of the id. When-to-use and when-not-to-use are both covered.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.