Skip to main content
Glama
Mipiti
by Mipiti

List Findings

list_findings

Retrieve read-only negative findings from a threat model with lifecycle status to triage gaps or get finding IDs for updates. Includes inherited findings.

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 / remediate_finding. 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 behavioral burden and does so reasonably: it declares 'Read-only,' describes returned lifecycle status, and explains origin semantics including that inherited findings are included. It does not cover pagination, permissions, or rate limits, but it is substantially more transparent than a bare list operation.

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?

The description is three tightly structured sentences with no wasted wording. It front-loads the core operation and read-only nature, then adds usage and row-origin context in descending priority.

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?

Because an output schema exists, the description need not explain return fields in full, and it still usefully clarifies the origin distinction for inherited findings. It is complete for a read-only list tool, though it omits edge-case behavior such as pagination or empty results.

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 description coverage is 75%, so the schema largely documents the parameters, including the rich status filter semantics. The description adds no direct parameter-level guidance for status, model_id, or control_id, so a baseline 3 is appropriate rather than credit for compensating beyond the schema.

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 states a specific verb and resource: 'List negative findings recorded on a threat model.' It also distinguishes this read-only listing from write-oriented siblings by naming update_finding and remediate_finding as consumers of the returned finding_id. An agent can identify what the tool does 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 Guidelines4/5

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

The description gives clear usage contexts: 'use to triage gaps or to find a finding_id for update_finding / remediate_finding.' It does not explicitly state when not to use this tool or name a direct alternative such as get_findings_risks, so it falls short of full 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.

Deploy Server

Other Tools