Skip to main content
Glama

update_finding

Update a stored security finding with a required reason, enforcing valid status transitions and restricting business-impact changes while blocking unsafe suppressions unless forced and recorded.

Instructions

Update a stored finding. reason is required.

business_impact changes business impact only, never technical severity, verification, review gates, or patch permissions. status moves one step at a time and is refused when it skips a state, for example new to confirmed without a reproduced verification. Suppressing a critical/high finding with business impact Urgent/High is refused unless force is true with a reason, and is then recorded with that reason and actor.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "finding_id": "<finding_id>"
    },
    "name": "update_finding"
  }
}

Input Schema

NameRequiredDescriptionDefault
forceNo
reasonNo
statusNo
db_pathNo
finding_idYes
business_impactNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.11

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does so well: it discloses the state-machine refusal behavior, the business_impact scoping limit, the force-override path, and that overrides are recorded with reason and actor (auditability). Gap: it asserts "reason is required" while the schema declares reason optional with default null, and it says nothing about db_path targeting or reversibility.

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?

Front-loads the action and the required input, then layers the constraint rules in decreasing generality. Every clause encodes a testable rule (state skipping, impact scope, force gate, audit record); there is no filler.

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 mutation tool with zero annotation coverage, six parameters, and an output schema that already documents returns, the description supplies the refusal conditions, override gate, and audit trail an agent needs to call it without triggering a rejected write. The unexplained db_path is a minor residue.

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 description coverage is 0% across 6 parameters, yet the description supplies real semantics for four of them: status (single-step transitions), business_impact (narrow scope, cannot affect technical severity or permissions), force (enables refused suppression), and reason (asserted as required). finding_id and db_path receive no explanation at all, which keeps it below a 5.

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?

The opening line states a specific verb and resource ("Update a stored finding"), and the body clarifies which fields are mutable (status, business_impact) versus immune (technical severity, verification, review gates, patch permissions). It does not distinguish itself from siblings such as mark_confirmed, mark_fp, or verify_finding, which plausibly also mutate finding state, so an agent still has to infer routing.

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 concrete operative rules: status advances one step at a time and is refused on skips (e.g., new to confirmed without reproduced verification), and suppressing a critical/high finding with Urgent/High business impact requires force plus a reason. What it lacks is any explicit statement of when to call this versus the triage/verify/mark_* siblings.

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