Skip to main content
Glama

Get memory/rule refresh brief

pathrule_get_refresh_brief
Read-only

Claim one refresh task and return the subject, stale-signal evidence, AI instructions, and any proposed patch. Call pathrule_list_pending_refreshes first to choose a refresh_id. Remote MCP can inspect cloud records only; use Desktop/CLI before claiming local source code was verified.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refresh_idYesRefresh task UUID from pathrule_list_pending_refreshes.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYestrue when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.
errorNoPresent only when ok is false.
signalNoWhy the item was flagged stale: { formulaId, humanReason, detectedAt, rawSignals }.
statusNoTask status after the claim.
subjectNoThe memory or rule this task proposes to update.
refresh_idNoThe refresh task now claimed by this client.
human_messageNoOne-line summary of the result, safe to relay to the user verbatim.
local_runtimeNoPresent on tools that carry the local-runtime upgrade reminder.
proposed_patchNoA pre-drafted patch when one exists, otherwise null.
ai_instructionsNoWhat to do with this task, written for the agent.
local_runtime_requiredNoNon-null when the task needs local source inspection that Remote MCP cannot do. Do not claim it was applied in that case.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "ai_instructions": {
      +      "description": "What to do with this task, written for the agent.",
      +      "type": "string"
      +    },
      +    "error": {
      +      "additionalProperties": true,
      +      "description": "Present only when ok is false.",
      +      "properties": {
      +        "code": {
      +          "description": "Stable machine-readable failure code, for example insufficient_scope, workspace_id_required, rate_limited, not_found, or upstream_error. Branch on this, not on message text.",
      +          "type": "string"
      +        },
      +        "detail": {
      +          "description": "Optional structured context for the failure, for example { missing_scopes: [...] } on insufficient_scope."
      +        },
      +        "message": {
      +          "description": "Human-readable explanation of the failure.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message"
      +      ],
      +      "type": "object"
      +    },
      +    "human_message": {
      +      "description": "One-line summary of the result, safe to relay to the user verbatim.",
      +      "type": "string"
      +    },
      +    "local_runtime": {
      +      "additionalProperties": true,
      +      "description": "Present on tools that carry the local-runtime upgrade reminder.",
      +      "properties": {
      +        "cta": {
      +          "description": "Upgrade line to surface to the user when local Pathrule (Studio or CLI) would serve them better than Remote MCP.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "cta"
      +      ],
      +      "type": "object"
      +    },
      +    "local_runtime_required": {
      +      "anyOf": [
      +        {},
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Non-null when the task needs local source inspection that Remote MCP cannot do. Do not claim it was applied in that case."
      +    },
      +    "ok": {
      +      "description": "true when the call succeeded. false when it did not, in which case `error` carries the reason and the success fields are absent.",
      +      "type": "boolean"
      +    },
      +    "proposed_patch": {
      +      "anyOf": [
      +        {},
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "A pre-drafted patch when one exists, otherwise null."
      +    },
      +    "refresh_id": {
      +      "description": "The refresh task now claimed by this client.",
      +      "type": "string"
      +    },
      +    "signal": {
      +      "description": "Why the item was flagged stale: { formulaId, humanReason, detectedAt, rawSignals }."
      +    },
      +    "status": {
      +      "description": "Task status after the claim.",
      +      "type": "string"
      +    },
      +    "subject": {
      +      "additionalProperties": true,
      +      "description": "The memory or rule this task proposes to update.",
      +      "properties": {
      +        "body": {
      +          "description": "Current body of the subject, before any patch.",
      +          "type": "string"
      +        },
      +        "id": {
      +          "description": "UUID of the memory or rule.",
      +          "type": "string"
      +        },
      +        "node_path": {
      +          "description": "Workspace-relative path the subject lives at.",
      +          "type": "string"
      +        },
      +        "title": {
      +          "description": "Current title or name of the subject.",
      +          "type": "string"
      +        },
      +        "type": {
      +          "description": "What is being refreshed: memory or rule.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "type",
      +        "id",
      +        "title",
      +        "node_path",
      +        "body"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "ok"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4/5.0
Behavior1/5

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

The annotations mark the tool readOnlyHint=true, so invoking it should not modify state, but the description says 'Claim one refresh task,' which implies taking/assigning a task and a state change. The description does not reconcile this conflict, and the non-idempotent hint reinforces that a claim may not be repeatable. This is an annotation contradiction.

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?

Three sentences with no filler: the first states the action and outputs, the second gives the prerequisite, and the third gives an environment caveat. Information is front-loaded and every sentence earns its place.

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 one-parameter tool with an output schema and annotations, the description covers the prerequisite, return contents, and environment limitation. However, it never clarifies whether claiming a refresh task has persistent side effects, which is an important behavioral gap in light of the contradictory readOnlyHint.

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?

The schema already fully documents refresh_id as a UUID from pathrule_list_pending_refreshes, so the baseline is 3. The description adds workflow meaning by explicitly directing the agent to call that list first and choose the ID, which helps ensure a valid parameter value.

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?

The description names a specific action ('claim one refresh task') and a concrete resource, and enumerates exactly what is returned: subject, stale-signal evidence, AI instructions, and any proposed patch. This makes it easy to distinguish from browsing pending tasks with pathrule_list_pending_refreshes.

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?

It explicitly instructs the agent to call pathrule_list_pending_refreshes first to select a refresh_id, and it states when a different environment is needed ('Remote MCP can inspect cloud records only; use Desktop/CLI before claiming local source code was verified'). This is direct when-to-use guidance rather than leaving the workflow implied.

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.

TDQS

A3.8/5.0
Disambiguation4/5

Tools are grouped by resource (memory/rule/skill/workspace/snapshot/refresh) and mostly have distinct output shapes, so agents can usually pick the right one. A few retrieval tools (get_context, get_node, get_tree, goto) overlap in purpose, but their descriptions clarify resolution mode vs full tree vs context bundle.

Naming Consistency3/5

All tools share the pathrule_ prefix and mostly follow verb_noun, but the verbs are inconsistent: create_workspace vs write_memory, get_node vs read_memory, delete_skill vs remove_pattern, plus verb-only exceptions like goto, setup, and ping. The pattern is readable but not uniform.

Tool Count2/5

32 tools is above the 25-tool threshold and feels heavy for a single server, even with a broad domain. Several context-retrieval tools and read/list variants could potentially be consolidated, though each tool does have a specific purpose.

Completeness4/5

Core CRUD is covered for memories, rules, and skills, along with workspaces, snapshots, refresh tasks, and pattern import/removal. Minor gaps include no standalone list_rules/list_skills and no snapshot update/delete, but agents can work around these via get_context, goto, and get_tree.

Resources