Skip to main content
Glama

compare_parts

Compare each 3D model part against its reference counterpart to get per-part match percentages and see if it is wider, narrower, shifted, or tilted.

Instructions

Сравнить модель с референсом по деталям: совпадение каждой детали в %, где она шире, уже, сдвинута, наклонена.

Общий % силуэта не замечает ошибок в мелких деталях — здесь каждая деталь сравнивается отдельно. Модель выравнивается по всему объекту (высота и низ, как в compare), поэтому сдвиг детали тоже виден.

reference: вид референса, на котором уже выделены детали через parts (тот же «путь» или «путь|N»). render: карта деталей того же ракурса — рендер, где каждый объект залит своим плоским цветом, фон прозрачный, рядом JSON с цветами объектов. Как сделать в Blender — в описании сервера (blender_kit.render_parts); render_parts возвращает, какие объекты видны с этой камеры. match: какие объекты модели — какая деталь референса: {"чашка": ["shell", "cushion_L"], "вилка": ["yoke"]}. По умолчанию — объекты с тем же именем, что и деталь. method: способ найти весь объект на референсе, как в silhouette.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
matchNo
methodNoauto
renderYes
referenceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/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 substantial work: it discloses the alignment method (whole-object, height and bottom, as in compare), the return content (per-part match %, wider/narrower/shifted/tilted), and the default name-matching behavior for 'match'. It omits whether the tool writes files or is purely analytical, and any error/limit conditions, so a 4 rather than 5.

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?

Purpose and the key differentiator are front-loaded in the first two lines, followed by per-parameter notes, which is a sensible structure. It is fairly long and the render description is dense, but each block maps to a distinct parameter and none of it is filler.

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 4-parameter tool with no annotations, no output schema, and 0% schema coverage, the description supplies the missing context: prerequisites, alignment behavior, result format, and per-parameter meaning. It leaves the return channel (values vs. written files) and failure modes unspecified, so it is strong but not exhaustive.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it largely does: every one of the four parameters gets an explanation, including the 'match' JSON shape with a concrete example and the 'path|N' syntax for reference. The 'method' parameter is only defined by cross-reference to 'silhouette' ('как в silhouette') rather than an inline definition, which is the one weak spot.

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 opening line names a precise verb and resource ('Сравнить модель с референсом по деталям') and immediately narrows the scope to per-part matching percentages. It explicitly contrasts itself with the whole-silhouette approach ('Общий % силуэта не замечает ошибок в мелких деталях'), which distinguishes it from the sibling 'compare' tool.

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?

It states the selection condition well: use this when overall silhouette matching misses small-detail errors, and it names the prerequisites (reference must already have parts marked via 'parts', render must come from render_parts). It does not spell out when NOT to use it or a full alternative-selection rule, so it falls just short of a 5.

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