Skip to main content
Glama

Update an access rule

update_access_rule
DestructiveIdempotent

Replaces a rule with what you send, as saving the rule drawer does: send every group, person and tag it should keep. Mirrors editing a rule on Settings › Roles & access; needs Owner or Admin.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoThe tags to match; required unless match is Every.
levelYesRead, Write or Admin.
matchYesAll (the project carries every tag), Any (at least one), or Every (every live project, whatever it carries).
ruleIdYesThe rule's id, as list_access_rules returns it.
userIdsNoPeople by userId, as list_members returns it.
groupIdsNoGroup ids, as list_access_groups returns them.
expiresAtNoWhen the rule lapses, as an ISO 8601 date or time in the future; omitted, it never does. A date already past is refused.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • changedInput schema / properties / expiresAt / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / groupIds / items / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / groupIds / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / tags / items / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / tags / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedInput schema / properties / userIds / items / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedInput schema / properties / userIds / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
  2. 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 destructiveHint=true and idempotentHint=true, but the description goes further by explaining *how* it destroys (anything omitted is dropped) and adds an authorization requirement (Owner or Admin) that no annotation carries. It does not mention rate limits or the refusal of past expiresAt dates, which the schema covers instead.

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?

Two sentences, no filler, with the critical replace-in-full constraint front-loaded right after the verb. The UI metaphor and auth requirement are compressed into a single trailing clause.

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 7-parameter destructive mutation with no output schema, the description covers the two things an agent would otherwise get wrong: that this is a total replacement and that it requires elevated permissions. Return behavior is not described, but callers mainly need to avoid silently dropping grants, which is addressed.

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; the description adds meaning by clarifying that tags, userIds and groupIds are a complete replacement set, not an additive patch. It adds nothing for level, match, ruleId or expiresAt beyond what the schema already says.

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 ('Replaces a rule') and immediately clarifies the full-replacement semantics rather than a patch, which separates it from create_access_rule. The UI analogue ('as saving the rule drawer does') pins the mental model 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?

Gives clear context ('Mirrors editing a rule on Settings › Roles & access; needs Owner or Admin') and the operational precondition that every group/person/tag to keep must be sent. It stops short of naming siblings such as preview_access_rule as the pre-flight alternative, so no explicit 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.

Resources