Skip to main content
Glama

Save Ticket Attention Policy

save_ticket_attention_policy
Idempotent

Save owner-private attention thresholds in UTC days (finite 0–3650), status overrides and optional paused_statuses. Requires tickets:write. Supply full base thresholds, sparse overrides, expected_revision and caller-stable idempotency_key. paused_statuses specifies all four timed reasons with unique status lists including done/cancelled; pauses apply prospectively from this save. Explicit empty lists restore elapsed counting while retaining prior deductions. Omission cannot clear active pauses. Null overrides disable rules without pausing clocks. Saves require fresh reviews; exact retries retain original receipts. Missing history makes adjusted age unknown. Original anchors, follow-up dates and completion blockers are unchanged; no notification or provider calls.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
policyYes
idempotency_keyYes
expected_revisionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / policy / properties / paused_statuses
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "aging": {
      +      "items": {
      +        "enum": [
      +          "backlog",
      +          "todo",
      +          "in_progress",
      +          "blocked",
      +          "in_review",
      +          "done",
      +          "cancelled"
      +        ],
      +        "type": "string"
      +      },
      +      "maxItems": 7,
      +      "type": "array",
      +      "uniqueItems": true
      +    },
      +    "blocked": {
      +      "items": {
      +        "enum": [
      +          "backlog",
      +          "todo",
      +          "in_progress",
      +          "blocked",
      +          "in_review",
      +          "done",
      +          "cancelled"
      +        ],
      +        "type": "string"
      +      },
      +      "maxItems": 7,
      +      "type": "array",
      +      "uniqueItems": true
      +    },
      +    "dependency_blocked": {
      +      "items": {
      +        "enum": [
      +          "backlog",
      +          "todo",
      +          "in_progress",
      +          "blocked",
      +          "in_review",
      +          "done",
      +          "cancelled"
      +        ],
      +        "type": "string"
      +      },
      +      "maxItems": 7,
      +      "type": "array",
      +      "uniqueItems": true
      +    },
      +    "stale": {
      +      "items": {
      +        "enum": [
      +          "backlog",
      +          "todo",
      +          "in_progress",
      +          "blocked",
      +          "in_review",
      +          "done",
      +          "cancelled"
      +        ],
      +        "type": "string"
      +      },
      +      "maxItems": 7,
      +      "type": "array",
      +      "uniqueItems": true
      +    }
      +  },
      +  "required": [
      +    "stale",
      +    "aging",
      +    "blocked",
      +    "dependency_blocked"
      +  ],
      +  "type": "object"
      +}
  2. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare the non-read-only, idempotent, non-destructive profile, and the description substantially extends it: prospective pause application, exact retries retaining original receipts, omission failing to clear active pauses, null overrides disabling rules without pausing clocks, missing history yielding unknown adjusted age, and no notification or provider calls. This is unusually rich disclosure of side effects and invariants.

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?

Front-loaded with the core action and scoping constraint, and virtually every clause carries a distinct behavioral rule. It is dense and clause-heavy, which hurts readability, but there is little that could be cut without losing semantics.

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 deeply nested mutation tool with no output schema, the description supplies the mutation semantics, permission requirement, idempotency behavior, and prospective-vs-retroactive effects an agent needs. The main gap is return/receipt shape, which is referenced ('original receipts', 'adjusted age unknown') but not defined.

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?

With 0% schema description coverage, the description carries the full burden and largely does so: UTC days bounded 0-3650, full base thresholds vs sparse overrides, expected_revision and caller-stable idempotency_key, and the non-obvious semantics of empty lists, null overrides and paused_statuses covering all four timed reasons. It stops short of explaining how expected_revision is validated or the meaning of 'caller-stable' in concurrency terms.

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 ('Save') plus the exact resource and scope ('owner-private attention thresholds'), immediately distinguishing it from the read-side siblings get_ticket_attention_policy and get_ticket_attention_queue. An agent knows what this mutates 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 Guidelines3/5

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

It gives prerequisites ('Requires tickets:write', 'Saves require fresh reviews') and several conditional rules, but never says when to call this versus get_ticket_attention_policy / save_ticket_attention_review or what state must exist first. Usage is implied rather than framed as explicit 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.

Resources