Skip to main content
Glama
Mipiti
by Mipiti

Submit Findings

submit_findings

Record missing control evidence discovered during codebase scans. Submit structured findings with severity, checked locations, and expected evidence to persist gap records against a threat model.

Instructions

Record negative findings (gaps discovered while scanning a codebase against a model's controls). Mutating: persists new finding records against the model.

Use after a gap-discovery scan (see get_scan_prompt) to log where expected control evidence was NOT found. Findings are the negative counterpart to assertions (positive proof via submit_assertions): a finding says "I looked here for this and it was missing." Once submitted, drive a finding through its lifecycle with update_finding and review them with list_findings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
model_idYesID of the threat model.
findings_jsonYesJSON string of an **array** of finding objects. Each object should carry: - ``control_id`` (str): the control the gap relates to. - ``title`` (str): short summary of the gap. - ``description`` (str): what is missing and why it matters. - ``severity`` (str): finding severity (e.g., "low"/"medium"/"high"/"critical"). - ``checked_locations`` (list): files/paths inspected. - ``checked_patterns`` (list): patterns/signals searched for. - ``expected_evidence`` (str): what implemented evidence would have looked like. Must parse as a JSON array; a single object or malformed JSON is rejected.
server_versionYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.66.0
    • changedInput schema / properties / findings_json / description
      Previous value: -"JSON array of finding objects with control_id, title,\ndescription, severity, checked_locations, checked_patterns,\nexpected_evidence."New value: +"JSON string of an **array** of finding objects. Each object should carry:\n- ``control_id`` (str): the control the gap relates to.\n- ``title`` (str): short summary of the gap.\n- ``description`` (str): what is missing and why it matters.\n- ``severity`` (str): finding severity (e.g., \"low\"/\"medium\"/\"high\"/\"critical\").\n- ``checked_locations`` (list): files/paths inspected.\n- ``checked_patterns`` (list): patterns/signals searched for.\n- ``expected_evidence`` (str): what implemented evidence would have looked like.\nMust parse as a JSON array; a single object or malformed JSON is rejected."
  2. Addedv0.62.2
  3. Removedv0.62.0
  4. First observedv0.57.0

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden of disclosing side effects. It clearly says 'Mutating: persists new finding records against the model' and notes the lifecycle with update_finding/list_findings. However, it does not mention idempotency, duplicate behavior, whether submissions can be overwritten, or any permission requirements—common gaps for a mutating tool.

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 with no wasted words. The first sentence front-loads the core purpose and mutating nature; the second gives concrete usage context; the third adds the assertion counterpart and subsequent lifecycle tools. Every sentence earns its place.

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 tool with a detailed input schema and an existing output schema, the description is largely complete: it explains why and when to use it, what findings mean, and how to manage them afterward. The main residual gap is the under-documented server_version parameter and the lack of idempotency/duplicate caveats, but these are minor given the overall context.

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?

The input schema already documents model_id and findings_json in detail, including the JSON array format and rejection of malformed input. The description adds useful intent behind model_id and findings_json, but it does not clarify server_version, one of three required parameters that has no schema description.

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 ('Record') and resource ('negative findings... gaps discovered while scanning a codebase against a model's controls'), and explicitly distinguishes findings from assertions via submit_assertions. An agent can clearly tell this tool apart from related siblings 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 Guidelines5/5

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

The description explicitly says when to use it: 'Use after a gap-discovery scan (see get_scan_prompt)' and clarifies it is for logging where expected evidence was NOT found. It also contrasts with submit_assertions and points to update_finding/list_findings for lifecycle and review, giving clear alternatives and next steps.

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