Skip to main content
Glama
Mipiti
by Mipiti

List Findings

list_findings

List negative findings on a threat model with lifecycle status and inheritance context. Filter by status or control to triage gaps and obtain finding IDs for remediation or status updates.

Instructions

List negative findings recorded on a threat model. Read-only.

Returns finding rows with their lifecycle status; use to triage gaps or to find a finding_id for update_finding / preview_finding_remediation. Each row carries an origin ("own" for findings recorded on this model, "inherited" for findings contributed through model composition, with inherited_from_* context); inherited findings are included in the listing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNoOptional lifecycle filter, one of "discovered", "acknowledged", "remediated", "verified", "dismissed", "auto_resolved". Empty (default) returns all statuses. ``auto_resolved`` is closed by the platform, not by a person: the condition that produced the finding is no longer reproduced. It is deliberately distinct from ``remediated``/``verified`` (a person fixed and confirmed it) and from ``dismissed`` (a person judged it not worth fixing) — "the gap is gone" and "the gap does not matter" are opposite statements about residual risk, so they never share a status.
model_idYesID of the threat model.
control_idNoOptional filter to findings on one control. Empty (default) returns findings for all controls.
server_versionYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.71.0
    • changedInput schema / properties / status / description
      Previous value: -"Optional lifecycle filter, one of \"discovered\", \"acknowledged\", \"remediated\", \"verified\", \"dismissed\". Empty (default) returns all statuses."New value: +"Optional lifecycle filter, one of \"discovered\", \"acknowledged\", \"remediated\", \"verified\", \"dismissed\", \"auto_resolved\". Empty (default) returns all statuses.\n``auto_resolved`` is closed by the platform, not by a person: the\ncondition that produced the finding is no longer reproduced. It is\ndeliberately distinct from ``remediated``/``verified`` (a person\nfixed and confirmed it) and from ``dismissed`` (a person judged it\nnot worth fixing) — \"the gap is gone\" and \"the gap does not matter\"\nare opposite statements about residual risk, so they never share a\nstatus."
  2. Changed2 schema fields changedv0.66.0
    • changedInput schema / properties / control_id / description
      Previous value: -"Optional filter by control ID."New value: +"Optional filter to findings on one control. Empty (default) returns findings for all controls."
    • changedInput schema / properties / status / description
      Previous value: -"Optional filter: \"discovered\", \"acknowledged\", \"remediated\",\n\"verified\", \"dismissed\"."New value: +"Optional lifecycle filter, one of \"discovered\", \"acknowledged\", \"remediated\", \"verified\", \"dismissed\". Empty (default) returns all statuses."
  3. Addedv0.62.2
  4. Removedv0.62.0
  5. First observedv0.57.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full disclosure burden and does a good job: it declares Read-only, explains that returned rows carry lifecycle status, and clarifies the origin distinction between 'own' and 'inherited' findings, including that inherited findings are included. It does not cover pagination, ordering, or auth, but these are less critical for a read-only listing tool with an output schema.

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, no filler. The core action and read-only nature come first, followed by return-row semantics and explicit downstream use cases. Every sentence contributes unique information.

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?

The description is complete for a listing tool: it covers what is returned, the origin behavior, the read-only safety profile, and concrete use cases. The only notable omission is the meaning of the required server_version parameter, since the schema leaves it undocumented and the description does not address it.

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 coverage is 75%, and the schema already gives rich meaning to status, model_id, and control_id, including the nuanced auto_resolved semantics. The description adds context about finding rows and origins but does not clarify the undocumented server_version parameter or add direct parameter-level guidance beyond the schema, so it neither compensates for the gap nor repeats excessive detail.

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 opens with a specific verb and resource ('List negative findings recorded on a threat model') and immediately distinguishes the tool as read-only. It also names downstream consumers of the output ('for update_finding / preview_finding_remediation'), making its role among many sibling tools unmistakable.

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?

The description clearly states when to use the tool: to triage gaps or to obtain a finding_id for later update/remediation tools. It does not explicitly name competing list/get tools or state when not to use it, so it stops short of a full exclusion-based guideline.

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

Deploy Server

Other Tools