Skip to main content
Glama

Refresh a URL user rule

refresh_user_rule
Destructive

Fetch and accept a new version of a URL user rule by passing its revision. On failure, retain the last accepted content and enabled state, and record last_error.

Instructions

Fetch and accept a new version of an existing URL user rule on request.

Pass the revision from get_user_rule. Failure retains the last accepted
content and enabled state, and records last_error. No running persona changes:
refresh_persona_context issues the updated bundle; keep retains its old one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rule_idYes
expected_revisionYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv26.10.16

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=true, openWorld=true, so the safety profile is covered. The description adds genuinely new behavior beyond that: on failure the last accepted content and enabled state are retained and last_error is recorded, and running personas are unaffected. This is exactly the kind of state/atomicity context annotations cannot express.

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?

Four short sentences, front-loaded with the core action, followed by revision sourcing and failure semantics. "on request" is mild filler, but overall the text is tight and each sentence carries a distinct point.

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?

An output schema exists, so return values need no prose. The description covers the mutation's failure behavior, its persona isolation, and the revision prerequisite, which is nearly everything an agent needs. Only the rule_id parameter and the comparison against the other rule-mutation siblings are left to inference.

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 0% for both required params, so the description carries the burden. It usefully explains that expected_revision should be sourced from get_user_rule, which is the non-obvious semantic, but says nothing about rule_id (e.g. where it comes from or its format). Partial compensation only.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb pair (fetch and accept) and a specific resource (an existing URL user rule), and implicitly separates itself from get_user_rule (which supplies the revision) and refresh_persona_context (which it explicitly does not affect). It does not directly distinguish itself from subscribe_user_rule or rollback_user_rule, so sibling differentiation is partial rather than complete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description gives an implied workflow ("on request", "Pass the revision from get_user_rule") and clarifies one boundary against refresh_persona_context, but never states when to reach for this tool versus rollback_user_rule, subscribe_user_rule, or set_user_rule_enabled. Usage must be inferred from the rule-lifecycle siblings.

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