Skip to main content
Glama

verify_finding

Read-only

Checks a finding's evidence against cited files and locations, verifies cited entity IDs still exist, and returns verified, partial, unverified, or failed status without changing the finding.

Instructions

Check a finding's evidence against the files it cites. For each evidence item with a location such as "com/acme/Api.java:12" it confirms the file exists in the artifact and the line (or range) is within it; items without a location, or in a single-file artifact, are reported as unverified. A cited entityId is checked too: it must still exist in the workspace and be recorded as observed in the cited artifact. Returns { findingId, checkedAt, summary: verified | partial | unverified | failed, items: [{ index, artifactId, entityId?, location?, status, reason }] }. "verified" means the cited place exists - it does not prove the claim is true, so still read the code. It never changes the finding's status; use update_finding for that. Only reads. Errors if the finding doesn't exist.

Input Schema

NameRequiredDescriptionDefault
findingIdYesId of the finding, from list_findings or create_finding.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.3.20

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description adds the real behavioral content: the exact return shape, the four summary outcomes with their meanings, the per-item status/reason reporting, and the failure mode ('Errors if the finding doesn't exist'). It also explicitly states the non-side effect ('never changes the finding's status'), which is the kind of disclosure an agent needs before calling a verification tool in a review loop.

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 scope rules, then the return contract, then the caveat and sibling pointer. The enumerated return type is verbose but earns its place because there is no output schema. Slight density cost from embedding a full result shape in prose.

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?

With no output schema and no annotations covering semantics, the description compensates fully: return shape, status vocabulary, unverified conditions, error case, and side effect policy are all present. Nothing an agent needs to invoke it or interpret its result is missing.

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?

Only one parameter and schema description coverage is 100%, with the schema itself saying where to obtain the id ('from list_findings or create_finding'). The description contributes nothing further about findingId beyond implying it must reference an existing finding. Baseline 3 is appropriate when the schema carries the full parameter burden.

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 ('Check a finding's evidence against the files it cites') and immediately narrows scope to location-based evidence items and cited entityIds. It is clearly distinct from siblings like update_finding and create_finding, and an agent can predict exactly what the call evaluates.

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 routes the agent: use this to check evidence, and 'use update_finding for that' when the goal is changing status. It also states what does not count (items without a location, single-file artifacts) and adds the interpretive guardrail 'still read the code' rather than treating 'verified' as proof of the claim.

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