Skip to main content
Glama

Update Privilege

update_privilege
Idempotent

Update a privilege, addressed by its key (or id) from list_privileges. Only the fields you pass are changed: newKey (renames it) and description. Roles that grant it keep granting it under the new key, but flag rules and app code that name the OLD key stop matching — update them too. The AUTHENTICATED privilege cannot be renamed. Same as bridge privilege update. 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
idNoPrivilege id from list_privileges, instead of key.
appNoId of the Bridge app to act on for this call (see list_apps). Omit to use the current app.
keyNoPrivilege KEY from list_privileges, e.g. "REPORTS_VIEW". Pass this or id, not both.
newKeyNoRename the privilege to this key. key addresses it; newKey renames it.
descriptionNoNew description of what the privilege allows.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only cover the safety profile (idempotent, non-destructive), while the description discloses the real behavioral hazards: only passed fields change, renaming keeps role grants intact but silently breaks flag rules and app code referencing the old key, and AUTHENTICATED cannot be renamed. That is exactly the mutation side-effect context an agent needs and cannot get from structured fields.

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?

The core behavior is front-loaded and efficient, but the second half drifts into general access-control doctrine ('control access with a flag rule... never with a hard-coded role check in app code') and a key-matching example that are architectural advice rather than invocation guidance. Some of that padding dilutes an otherwise tight definition.

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 5-param mutation with no output schema, the description covers partial updates, rename side effects, the immutability exception, and a documentation hand-off. It never indicates what the call returns or confirms success, a minor gap given the absence of an output schema.

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 adds real meaning: it explains partial-update semantics ('only the fields you pass are changed') and that key addresses while newKey renames, plus the AUTHENTICATED rename constraint. It does not restate the id/key mutual exclusivity, which the schema already covers.

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 ('Update a privilege') and immediately pins down addressing semantics: by key or id from list_privileges. An agent can distinguish this from create_privilege/delete_privilege/update_role without opening any 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?

Gives clear context for when to use it (after list_privileges, addressing an existing privilege) and routes to get_integration_guide with topic=team before writing consuming app code. It does not explicitly contrast with siblings like create_privilege or update_role, so it stops short of full when/when-not guidance.

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.