Skip to main content
Glama

Final POS – Custom POS Builder

Create role

hub_create_role

Create a new role with a chosen set of permissions — for when no existing role fits what the merchant wants someone to do. Check get_roles first; a near-match plus update_role is usually better than a fourth almost-identical role. PERMISSIONS ARE POWER. Confirm with the merchant first, naming the person and the role out loud ("give Maria the Manager role — yes?"), and never act on a role change you inferred rather than were asked for. The change is live on the next request: rights are re-read from the role every time, so no one logs out and no agent key stops working — including yours, if the change reaches your own account. Permission ids come from get_permissions. List back in plain words what the role will be able to do and get an explicit yes before calling. Creating a role gives nobody anything until assign_role puts a person on it. If you are signed in as an employee you can only grant permissions you hold yourself — the cabinet works the same way — and the call is refused otherwise.

Input Schema

NameRequiredDescriptionDefault
nameYesWhat the merchant calls it, e.g. "Shift lead"
permissionIdsYesPermission ids from get_permissions — everything not listed is switched off

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 only cover safety hints (destructive=false, openWorld=false); the description adds substantial context the agent cannot get elsewhere: rights are re-read on the next request with no re-login, an employee may only grant permissions they themselves hold, the call is refused otherwise, and the role grants nothing until assign_role is called. That is real mutation semantics, not restatement.

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 purpose and the alternative-role routing, which is the most decision-relevant content. It is on the long side and the confirmation instruction is stated twice ('Confirm with the merchant first, naming the person and the role out loud' and 'get an explicit yes before calling'), which costs it a point.

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?

Two-parameter mutation tool with no output schema, and the description covers what the agent needs: prerequisites, privilege constraints, confirmation protocol, and the downstream dependency on assign_role. Nothing material 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 description coverage is 100%, so the schema already documents both name and permissionIds (including the 'everything not listed is switched off' semantics). The description repeats the get_permissions sourcing rather than adding format or edge-case detail, so the baseline 3 applies.

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 ('Create a new role with a chosen set of permissions') and immediately frames scope — only when no existing role fits. It distinguishes itself from get_roles, update_role and assign_role in the same breath, so an agent can place it precisely among siblings.

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 conditions use: 'for when no existing role fits', 'Check get_roles first; a near-match plus update_role is usually better'. It names the alternatives and the preferred path, plus the prerequisite that permission ids come from get_permissions.

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.