Skip to main content
Glama

check_finish

Validates a proposed finish against physical rules before it is added, helping catch incompatible material and wear settings early.

Instructions

A finish of your own against the rules before you add it.

Input Schema

NameRequiredDescriptionDefault
finishYesa finish: {name, substrates, base {linear, metallic, roughness}, worn_to, sources}
finish_idNocandidate

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description carries the full burden and does not state that this is a non-mutating validation, what the verdict looks like (pass/fail vs. list of rule violations), or whether anything is persisted. The presence of a finish_id defaulting to "candidate" suggests state may be stored, and the description does nothing to clarify that ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One broken sentence is not conciseness but under-specification; the dangling modifier makes the sentence hard to parse. It is front-loaded in the sense that there is only one clause, but that clause does not communicate the action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a nested object parameter, no annotations, no output schema, and 50% schema coverage, the description is far too thin. An agent cannot tell what rules are enforced, what a failure returns, or how finish_id affects the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%, and the description adds no parameter information at all. The nested finish object is partially documented in the schema, but finish_id — which has a default of "candidate" and an unexplained role — is undocumented in both the schema and the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The fragment implies validating a user-supplied finish definition against rules before it is added, which is a real verb+resource pairing, but the sentence is grammatically broken ("A finish of your own against the rules") and the verb never appears in the text. Nothing distinguishes it from sibling validators such as validate_spec, check_library, or check_coating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

"before you add it" is an implied trigger condition: run this prior to registering a custom finish. However, no alternatives are named and there is no guidance on what to do with a failing result or whether this is a prerequisite for a write tool elsewhere in the set.

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