Skip to main content
Glama

Create Role

create_role

Create a new access role. Arguments: name (display name), key (stable identifier code references, e.g. "ADMIN"), description, privileges (list of privilege KEYS the role grants — see list_roles for the keys existing roles use), and isDefault (make this the role assigned to people added to a workspace without a role named; default false). Use update_role to change an existing role and set_default_role to make an existing role the default. What a role can do is only the app's default setup until you have read it here. Control access with a flag rule on a privilege (preferred) or on the role key, never with a hard-coded role check in app code. A privilege rule matches the whole key: privileges contains "REPORTS_VIEW" does not match REPORTS_VIEW_ALL. Before writing app code that consumes this, call get_integration_guide with topic=team and the framework the app uses.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appNoId of the Bridge app to act on for this call (see list_apps). Omit to use the current app.
keyYesRole KEY: permanent, upper-case, e.g. "EDITOR". Code and flag rules compare it exactly.
nameYesDisplay name, e.g. "Editor".
isDefaultNoMake this the default role for new users (default false).
privilegesNoPrivilege keys the role grants (default: none).
descriptionNoWhat people with this role do.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare non-readOnly, non-destructive, non-idempotent, so safety is covered. The description adds real behavioral context: what isDefault actually does, that privilege keys are matched whole (REPORTS_VIEW != REPORTS_VIEW_ALL), and that role capabilities are only defaults until read back. It omits what happens on a duplicate key or invalid privilege, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is correctly front-loaded, but the middle drags in integration-architecture advice (flag rules, never hard-coding role checks in app code) that is only tangential to invoking this tool. The parameter listing is a single dense sentence and the piece is longer than the operation warrants.

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 6-parameter mutation tool with no output schema and full schema coverage, the description covers purpose, routing, parameter intent, and downstream integration needs. Only failure modes (duplicate key, unknown privilege) are unaddressed.

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 100%, so the baseline is 3, but the description still adds value: it characterizes privileges as KEYS and points to list_roles for the valid set, restates key as a stable code reference, and clarifies isDefault's default. It does not add syntax beyond the schema, so not a 5.

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+resource ("Create a new access role") and immediately separates itself from update_role and set_default_role, so an agent can route correctly without opening a schema. The scope is unambiguous.

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 alternatives and the condition that selects them: use update_role for an existing role, set_default_role to promote an existing one. It also routes the agent to list_roles for privilege keys and get_integration_guide before writing consuming code.

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.