Skip to main content
Glama
seraphinernst4

Keystone for Vectorworks

vw2d_fix

Repairs Vectorworks 2D check issues by snapping gaps, closing outlines, cleaning duplicates, clipping overlaps, merging areas, or setting attributes by class, then rechecks in one undo step.

Instructions

Fix check issues exactly, then check again (one undo step).

snap: points that miss a vertex/edge by <= tolerance_mm move exactly onto it (gaps and small overlaps disappear); objects in fixed never move; share_vertices inserts the point into the neighbour's edge so both share the node. Arcs keep their circle. close: close open outlines (end point merged with the start if within the tolerance). clean: remove duplicate and collinear vertices (merge_short=True also merges vertices closer than the tolerance). duplicates: delete duplicate areas/lines (the top copy stays). overlaps: clip overlapping areas: priority (uuids or class names, first wins) keeps its area; without priority the object on top wins, so the drawing looks the same but has no stacked fills. merge: union all objects in scope (or uuids) into one area. by_class: set every graphic attribute of the scoped objects to 'by class'. issue_ids limits the fix to issues from the last vw2d_check with the same scope/settings.

Input Schema

NameRequiredDescriptionDefault
fixedNo
imageNo
layerNo
uuidsNo
actionYes
compareNolayer
priorityNo
issue_idsNo
selectionNo
class_nameNo
merge_shortNo
tolerance_mmNo
ignore_classesNo
share_verticesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.3

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare the generic read/write/open-world profile; the description adds that the operation re-runs the check and consumes exactly one undo step, plus per-action consequences (top copy stays, priority keeps its area, no stacked fills, arcs keep their circle). Those are exactly the mutation semantics an agent cannot infer from the annotations.

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?

Front-loaded with the one-line summary, then a terse definition list keyed by action – the right structure for a seven-mode tool with an enum. Every clause carries information (the parenthetical about stacked fills is the only borderline embellishment).

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

Completeness3/5

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

For a 14-parameter mutation tool with no output schema and no schema descriptions, the description covers the domain-critical parameters but silently drops the scoping/selection parameters and `compare`, so an agent cannot construct a scoped call from the description alone. Adequate for the fix semantics, incomplete for scope control.

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 carry the parameter burden; it explains action semantics, tolerance_mm, fixed, share_vertices, merge_short, priority, issue_ids and uuids-in-merge well. However, six of fourteen parameters (selection, layer, class_name, compare, image, ignore_classes) are never mentioned anywhere, leaving a real gap.

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+resource ('Fix check issues exactly, then check again') and ties itself to the sibling vw2d_check as the source of issues. Each of the seven actions is named and given a concrete effect, so an agent can tell this apart from vw2d_edit, vw2d_boolean and vw2d_check without opening any 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?

Per-action lines effectively say when each mode is appropriate (e.g. overlaps with vs without `priority`, merge for union into one area), and the closing sentence explains `issue_ids` scoping to the last vw2d_check. It never explicitly says when not to use this tool in favor of vw2d_edit or vw2d_boolean, so it stops short of full routing guidance.

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