Skip to main content
Glama

Set Issue Status

set_issue_status
DestructiveIdempotent

Set the same status on one or more issues of the caller's account, by fingerprint from list_issues. To mark a defect fixed: call this with RESOLVED, and the next event on that issue reopens it as REGRESSED and sends a regression card. To suppress a known-harmless issue for good: call this with IGNORED, which is the status the app calls suppressing an issue, and the issue keeps counting events while staying out of the default list and out of every notification; on a problem the Overview shows IGNORED as suppressed as noise, so give a reason. To reopen an issue and bring it back under attention: call this with ONGOING. Takes 1 to 50 fingerprints; split a longer list across calls. Each issue is set on its own and every fingerprint comes back with an outcome: the status it now displays, NOT_FOUND when the account does not hold it, or ERROR when setting that one failed, and the rest are still set. To silence a whole service, environment, exception type or title instead of named issues: call manage_suppression_rule with action=create.

Input Schema

NameRequiredDescriptionDefault
noteNoA short note recorded with a problem's status change to RESOLVED or IGNORED, at most 500 characters; refused with ONGOING
reasonNoWhy, recorded on a problem's status change, as the Overview labels it. With RESOLVED: FIXED_IN_CODE (Fixed in code), CHANGED_OUTSIDE_CODE (Changed outside code), STOPPED_BY_ITSELF (Stopped by itself) or NOT_WORTH_FIXING (Not worth fixing). With IGNORED: EXPECTED_BEHAVIOUR (Expected behaviour), ALERT_TOO_SENSITIVE (Alert too sensitive), GROUPED_WRONGLY (These don't belong together) or TEST_TRAFFIC (Test traffic). A reason that does not fit the status is refused
statusYesRESOLVED, IGNORED or ONGOING
membersNoOnly for a problem set to RESOLVED or IGNORED: true also sets that status on each of its member issues still NEW, ONGOING or REGRESSED, and the outcome carries membersChanged; ignored otherwise
fingerprintsYesThe issue fingerprints (from list_issues), 1 to 50 of them; a single issue is a list of one

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / note
      Added value: +{
      +  "description": "A short note recorded with a problem's status change to RESOLVED or IGNORED, at most 500 characters; refused with ONGOING",
      +  "type": "string"
      +}
    • addedInput schema / properties / reason
      Added value: +{
      +  "description": "Why, recorded on a problem's status change, as the Overview labels it. With RESOLVED: FIXED_IN_CODE (Fixed in code), CHANGED_OUTSIDE_CODE (Changed outside code), STOPPED_BY_ITSELF (Stopped by itself) or NOT_WORTH_FIXING (Not worth fixing). With IGNORED: EXPECTED_BEHAVIOUR (Expected behaviour), ALERT_TOO_SENSITIVE (Alert too sensitive), GROUPED_WRONGLY (These don't belong together) or TEST_TRAFFIC (Test traffic). A reason that does not fit the status is refused",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / members
      Added value: +{
      +  "description": "Only for a problem set to RESOLVED or IGNORED: true also sets that status on each of its member issues still NEW, ONGOING or REGRESSED, and the outcome carries membersChanged; ignored otherwise",
      +  "type": "boolean"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / $schema
      Added value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
  4. Added
  5. Removed
  6. Added
  7. Removed
  8. Added
  9. Removed
  10. Added
  11. Removed
  12. Changed3 schema fields changed
    • removedInput schema / properties / fingerprint
      Removed value: -{
      -  "description": "The issue fingerprint (from list_issues)",
      -  "type": "string"
      -}
    • addedInput schema / properties / fingerprints
      Added value: +{
      +  "description": "The issue fingerprints (from list_issues), 1 to 50 of them; a single issue is a list of one",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "fingerprint",
      -  "status"
      -]New value: +[
      +  "fingerprints",
      +  "status"
      +]
  13. Added
  14. Removed
  15. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructive and idempotent, and the description goes well beyond: it discloses that RESOLVED triggers a REGRESSED reopen on the next event plus a regression card, that IGNORED keeps counting events while hiding from lists/notifications, and that outcomes are per-fingerprint with NOT_FOUND/ERROR while the rest still apply. This is exactly the behavioral context annotations cannot convey.

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, then organized by intent (RESOLVED / IGNORED / ONGOING) and the sibling alternative. It is dense and long but nearly every sentence carries actionable semantics; slightly verbose but justified by the branching behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, annotation-covered mutation with no output schema, the description supplies everything an agent needs: when to use each status, batching limits, partial-failure outcomes, and the sibling route for bulk suppression. Nothing material is missing.

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: the 1-to-50 fingerprint batching limit with the instruction to split longer lists, the requirement to give a reason with IGNORED, and that outcomes are reported per fingerprint. It does not cover the 'members' or 'note' parameters, keeping it below 5.

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 ('Set the same status on one or more issues'), names the input source (fingerprints from list_issues), and explicitly carves out the sibling manage_suppression_rule for bulk/pattern suppression. An agent can distinguish it from set_issue_priority, fix_issue, and manage_suppression_rule without opening a schema.

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?

Explicitly maps intent to status: RESOLVED for a fixed defect, IGNORED for known-harmless suppression, ONGOING to reopen. It also names the alternative and the condition selecting it ('To silence a whole service, environment, exception type or title... call manage_suppression_rule with action=create').

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