Plasticity MCP
Provides an optional Creality Print workflow for slicing and print-job preparation, with the agent waiting for explicit user confirmation before starting a print.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Plasticity MCPcreate a 20mm cube and export as STEP"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Plasticity MCP
A local MCP server for driving native CAD operations in Plasticity, with an optional Workbench for model review, structured feedback, and print preparation.
The primary target is Plasticity 26.1.3 on macOS Apple Silicon. The server uses Plasticity's own command factories and document history through a loopback-only Electron CDP endpoint. It does not patch or re-sign the application. MCP geometry inputs use millimeters and degrees; native edits support Plasticity Undo and Redo.
What it provides
Native Plasticity scene inspection, precise B-rep measurements, and revision-bound references to bodies, faces, and edges.
Native CAD creation and editing, document operations, import/export, and camera screenshots.
Agent guidance and workflows for image/sketch-driven design, functional clarification, fasteners, and practical strength screening.
Optional Workbench for viewing models and measurement tables, submitting validated dimensional feedback, and tablet annotations on the same local network.
Optional Creality Print workflow for slicing and print-job preparation. The agent waits for explicit user confirmation before starting a print.
See the full tool reference, acceptance matrix, and Workbench operations guide for details and current verification status.
Related MCP server: cad-mcp-server
Requirements
macOS on Apple Silicon
Plasticity 26.1.3 installed at
/Applications/Plasticity.appNode.js 24 or newer
Codex CLI for the example MCP registration below
This is an early, version-specific project. Live CAD and slicer operations depend on the installed applications and are not covered by mock tests alone. Check the acceptance matrix before relying on a specific operation.
Install and run
git clone https://github.com/Mesteriis/plasticity-mcp.git
cd plasticity-mcp
npm install
npm run start:plasticityIn another terminal, register the stdio MCP server with Codex:
codex mcp add plasticity -- npm --prefix "$PWD" startThen restart or refresh Codex's MCP connections. Ask the agent to call plasticity_list_windows, then connect to an explicitly selected window with plasticity_connect.
The launcher does not terminate an existing Plasticity process to add MCP access. If it reports that a restart is needed, save your documents, close Plasticity yourself, then rerun the command. CDP listens on loopback only.
Optional Workbench
The Workbench is not required for chat-based use. Start it on the local machine with:
npm run start:workbenchTo make it reachable by a tablet on the same private network, run npm run start:workbench -- --lan; the server prints its local address. Do not expose it to the public internet. Follow the Workbench guide for registration, sharing, backup, and recovery.
Development
npm test
npm run typecheck
npm --prefix workbench test
npm --prefix workbench run typecheck
npm --prefix workbench run buildLive acceptance checks use a real Plasticity session and can mutate a document. Read the corresponding acceptance guide and explicitly select a disposable test document before running them; they are not part of the default test suite.
Safety and scope
Mutations are serialized and checked against the current document revision; stale references are rejected.
After a timeout or lost connection during a mutation, inspect/reconcile the scene before issuing another change.
Workbench dimensional inputs are validated in the browser and again on the server.
Print submission and starting a print are separate actions; starting requires explicit user confirmation.
This project does not replace Plasticity, provide certified engineering analysis, or guarantee printability or part strength. Strength tools are screening calculations whose assumptions and limitations must be reviewed.
Contributing and support
Read CONTRIBUTING.md before opening a pull request. Report security issues using the private reporting process in SECURITY.md. See SUPPORT.md for bug reports, feature requests, and usage questions. Contributions are released under the MIT License, with copyright attributed to Aleksand Meshchriakov.
Available Tools
371 toolsplasticity_activate_groupADestructive
Make a current native Plasticity group the active destination for newly created objects. Use group ID 0 to return creation to the root Scene group.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the agent knows this mutates state. The description adds the group-ID-0 root convention, which is useful behavioral context, but says nothing about the revision parameter, persistence, or undo implications of this state change. With annotations carrying the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler; the primary action is front-loaded and the ID-0 special case follows it. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-changing tool with no output schema and no schema descriptions, the definition covers purpose and the ID-0 convention but omits what revision means and what the tool returns on success. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for three undocumented parameters (id, intent, revision). It explains only the sentinel value for id (0 = root Scene group) and leaves both intent and revision completely uninterpreted, so the compensation is partial at best.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: making a named native Plasticity group the active destination for newly created objects. This clearly distinguishes it from siblings like plasticity_create_group, plasticity_move_to_group, and plasticity_rename_group. It is not tautological and an agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context ('newly created objects' go into the activated group) and an explicit edge-case instruction: group ID 0 restores creation to the root Scene group. It does not name an alternative or state when-not to use it (e.g., for moving existing objects, use plasticity_move_to_group), so it stops 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.
plasticity_align_cylindrical_facesADestructive
Rigidly align exact native cylinder axes for one or more moving bodies in one Undo step. The preserve mode removes only transverse axis offset and keeps the cluster's axial position; anchor aligns the source axis origin to the target origin plus a signed axial offset along the target axis. The same/opposed relation controls axis direction, and an optional rotation around the fixed target axis controls roll. This is a direct placement, not a persistent concentric constraint.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| relation | No | same | |
| revision | Yes | ||
| axialMode | No | preserve | |
| sourceFace | Yes | ||
| targetFace | Yes | ||
| axialOffsetMm | No | ||
| rotationAroundAxisDeg | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations supply readOnlyHint=false and destructiveHint=true, so the mutation profile is covered. The description adds valuable behavior beyond that: the operation completes 'in one Undo step' and is a 'direct placement, not a persistent concentric constraint,' which tells the agent there is no lasting parametric relationship. It stops short of detailing failure modes or the revision/auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then the mode/relation semantics, ending with the key non-parametric caveat. It is densely packed for a 9-parameter tool and mostly earns its length, though the mode description could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex mutating tool with 9 parameters, 0% schema coverage, and no output schema, the description covers the geometric parameters and the direct-placement behavior well. The unexplained required revision and intent parameters are the main remaining gap, but return values need no coverage since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning and largely does: it explains preserve vs anchor modes, the signed axial offset along the target axis (axialOffsetMm), the same/opposed direction relation, and rotation around the fixed axis as roll. It does not clarify ids, intent, or the required revision, leaving those opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (align), a precise resource (exact native cylinder axes for moving bodies), and scope (one or more bodies, single Undo step). This clearly distinguishes it from sibling aligners like plasticity_align_planar_faces, plasticity_align_linear_edges, and plasticity_align_vertices without needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly signals the tool's domain through 'native cylinder axes' and 'not a persistent concentric constraint,' which helps an agent understand intent, but it never states when to prefer this over its align siblings or what preconditions (e.g. faces must be cylindrical) apply. Usage is inferable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_align_linear_edgesADestructive
Rigidly align one exact native Line edge from a moving body set to a fixed Line edge in one Undo step. Source and target edge midpoints are aligned with an optional signed axial offset along the fixed target tangent; same/opposed controls tangent direction, and rotationAroundAxisDeg controls roll around the fixed target line. Re-read the exact edges after placement because native edge parameter direction is topological, not a semantic assembly direction.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| relation | No | same | |
| revision | Yes | ||
| sourceEdge | Yes | ||
| targetEdge | Yes | ||
| axialOffsetMm | No | ||
| rotationAroundAxisDeg | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false; the description adds real value beyond that by disclosing that the operation is a single Undo step (reversibility) and warning to re-read edges afterward because native edge direction is topological, not semantic. It does not detail what geometry is affected or permission needs, but given annotation coverage this is a strong addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense but well-ordered sentences that front-load the purpose before the parameter behavior and the caveat. Every clause earns its place, though the second sentence is packed and slightly heavy for its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no output schema, nested objects, and 8 parameters, the description covers the key behavioral traits (undo semantics, geometric behavior of the offsets) and adds a meaningful post-placement caveat. It lacks any output or failure-mode note, but the essentials for correct invocation are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden and compensates well: axialOffsetMm is explained as a signed axial offset along the fixed target tangent, relation (same/opposed) as tangent direction control, and rotationAroundAxisDeg as roll around the fixed target line. It does not gloss ids, intent, or revision, but those are comparatively conventional, so overall the non-obvious semantics are covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (align) and resource (one exact native Line edge) with scope: moving body set to fixed edge, in one Undo step. Distinguishes itself from sibling alignment tools (align_planar_faces, align_cylindrical_faces, align_vertices) by naming the exact edge-pair target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to reach for this tool (aligning exact native Line edges) but never explicitly states when-not to use it or names an alternative among the many align/select siblings. No prerequisites or preconditions are called out, so usage is inferred rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_align_planar_facesADestructive
Rigidly rotate and move current bodies so the center and normal of one exact planar source face align with a fixed exact planar target face. The opposed relation seats outward face normals against each other; same keeps them parallel. Positive gap is measured from the target along its outward normal. The normal-to-normal rotation is the shortest rotation and does not independently align in-plane edges. All moving bodies preserve their relative placement and the alignment occupies one native Undo step.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| gapMm | No | ||
| intent | No | ||
| relation | No | opposed | |
| revision | Yes | ||
| sourceFace | Yes | ||
| targetFace | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds meaningful behavioral context: the rotation is the shortest normal-to-normal rotation, in-plane edges are not independently aligned, all moving bodies preserve relative placement, and the operation occupies one native Undo step.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence is front-loaded and informative, moving from the core action to relation semantics, gap measurement, rotation caveat, and undo behavior with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex mutation tool with no output schema, the description covers the alignment behavior, relation modes, rotation limitation, and undo semantics well. It is slightly incomplete on the roles of ids, revision, and intent, but an agent can still invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and 7 parameters, the description must carry the burden. It defines 'relation' (opposed/same) and 'gapMm' ('measured from the target along its outward normal') and implies sourceFace/targetFace, but leaves ids, revision, and intent undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Rigidly rotate and move current bodies' so a source planar face aligns with a target planar face. It distinguishes itself from sibling alignment tools (align_cylindrical_faces, align_vertices, align_linear_edges) by naming the exact face-pair behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the two relation modes ('opposed' seats outward normals against each other, 'same' keeps them parallel), which implies usage, but it never explicitly states when to use this tool versus alternatives like move, rotate, or align_vertices, nor any when-not condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_align_verticesADestructive
Rigidly translate one or more moving bodies so one exact current B-Rep source vertex reaches a fixed target vertex plus an explicit world-space millimeter offset. The moving bodies retain their relative placement and the operation occupies one Undo step. This is direct placement, not a persistent coincident constraint.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| offsetMm | No | ||
| revision | Yes | ||
| sourceVertex | Yes | ||
| targetVertex | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered. The description adds meaningful behavior beyond that: rigid translation preserving relative placement, and that the operation occupies exactly one Undo step. It does not, however, explain the destructiveHint aspect or any preconditions on the referenced geometry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action and each sentence carrying distinct information (mechanism, placement/undo behavior, disambiguation). No filler or restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, nested-object, zero-coverage tool with no output schema, the description is directionally complete for the geometric mechanics but omits any explanation of the required revision parameter and the intent parameter. The safety profile is covered by annotations, but the parameter surface is not fully addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage the description must carry parameter meaning. It explains ids ('one or more moving bodies'), sourceVertex, targetVertex, and offsetMm (world-space millimeter offset), but never mentions the required 'revision' parameter or the optional 'intent', leaving a required field undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a precise verb+resource: rigidly translating moving bodies so a named source vertex reaches a target vertex plus a world-space offset. The resource (B-Rep vertices) inherently distinguishes it from the sibling align_planar_faces / align_cylindrical_faces / align_linear_edges tools, and the closing sentence separates it from a persistent coincident constraint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clarifies the operation class ('direct placement, not a persistent coincident constraint') but never states when to choose this over the related align_* siblings or move/rotate. Usage is implied by the operation type rather than explicitly routed, leaving the agent to infer selection conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_analyze_cohesive_interfaceA
Run an experimental cohesive solver response for one current native Solid split by 1..255 ordered parallel planes into bulk regions representing the same single printed material. Every new analysis requires a profile-bound layerPlanePlan created by plasticity_plan_cohesive_layer_planes; arbitrary unbound split planes are rejected. The plan profile hash and nominal layer height must match the measured same-material interface-test process, actual G-code relative layer offsets should be copied when available, and orthotropic bulk requires its build axis to match the coupon frame. This tool rejects dissimilar-material bond records before meshing or solving and does not calculate multi-material prints. The default Mode-I route requires a stored same-material layer-failure DCB curve and uses isotropic bulk response with pinned Code_Aster 15.2; modeILaw defaults to CZM_EXP_REG for compatibility, while CZM_LIN_REG must be explicitly selected. This option applies only to Mode-I; mixed-mode requests use the calibrated Turon law. Both Mode-I choices use measured peak traction and integrated fracture energy, and neither reproduces arbitrary measured curve shape. When useOrthotropicBulkProperties is explicitly enabled, Mode-I uses Code_Aster 17.4 and one exact-process coupon's homogeneous orthotropic tensor and confirmed print frame identically on both sides. The mixed-mode Turon route additionally requires same-process ENF and at least two MMB records plus traceable initial cohesive stiffness K in MPa/mm with the exact process identity inside initialStiffnessEvidence.materialProcess, and an explicit displacement vector with both opening and shear components. Its shear component must align within one degree with the shared measured ENF/MMB in-plane axis; unsupported directions are rejected before meshing because CZM_TURON has one tangential law. It may use the same orthotropic single-material tensor. Both require one unambiguous exact-process coupon, one directly evidenced Poisson ratio, and current planar support/load faces. The input carries one material process and one Poisson ratio; solver region labels A and B only identify the two sides of the same material. Multi-plane coverage is complete only when every interface is represented (up to 255); selected planes from taller stacks remain explicitly incomplete. The same measured same-material layer law is repeated at every plane; individual roads and layer-by-layer raster directions are not resolved. Turon interface adhesion is direction-independent in its tangent plane. The tool exports STEP, creates a conforming cohesive mesh with a repeated measured layer law at each requested plane, runs a pinned network-disabled Code_Aster solver, checks the Plasticity revision before and after solving, and saves an immutable report. Code_Aster Mode-I results label V3 semantics explicitly: CZM_EXP_REG reports a damage variable, while CZM_LIN_REG uses V3=2 for a fully broken element; do not read V3 as the same normalized damage fraction for both laws. The response does not establish strength, design adequacy or print approval.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyId | Yes | ||
| modeILaw | No | CZM_EXP_REG | |
| revision | Yes | ||
| increments | Yes | ||
| meshSizeMm | Yes | ||
| splitPlanes | Yes | ||
| loadedFaceId | Yes | ||
| poissonRatio | Yes | ||
| supportFaceId | Yes | ||
| layerPlanePlan | Yes | ||
| modeIIRecordId | No | ||
| adherencePenalty | No | ||
| mixedModeRecordIds | No | ||
| poissonRatioEvidence | Yes | ||
| interfaceTestRecordId | Yes | ||
| residualStiffnessRatio | No | ||
| initialStiffnessEvidence | No | ||
| initialStiffnessMPaPerMm | No | ||
| useOrthotropicBulkProperties | No | ||
| prescribedDisplacementGlobalMm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no useful safety signal from the annotations beyond readOnly/destructive flags, the description carries heavy behavioral detail: exports STEP, builds a conforming cohesive mesh, runs a 'pinned network-disabled Code_Aster solver', checks the Plasticity revision before and after solving, and saves an immutable report. It also discloses important interpretation caveats, e.g. that V3 means different things for CZM_EXP_REG vs CZM_LIN_REG, and that the result 'does not establish strength, design adequacy or print approval'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is largely substantive given the 20-parameter, multi-mode tool, and the purpose is front-loaded. However it is delivered as one dense run-on block with no headings or paragraph breaks, mixing prerequisites, axis-alignment rules, solver internals, and result-semantics caveats, which makes it hard to scan. Some sentences repeat the same-material/single-process constraint, so it is longer than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should cover what comes back; it does partially, disclosing the STEP export, immutable saved report, V3 labeling semantics, and the scope limitation on the result. Given the heavy nested schema it also explains the key mode-dependent requirements. The main gap is that it does not fully enumerate all input semantics, but for a tool this complex it is close to sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 20 parameters, so the description must compensate, and it covers a great deal: it explains modeILaw defaults, useOrthotropicBulkProperties behavior, the poissonRatio/evidence requirement, the mixedModeRecordIds plus initialStiffnessEvidence.materialProcess and prescribedDisplacementGlobalMm alignment rules, and support/load face currency. It leaves some parameters (increments, meshSizeMm, adhesionPenalty, residualStiffnessRatio, splitPlanes format) unaddressed, so it is strong compensation but not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb and resource ('Run an experimental cohesive solver response for one current native Solid split by 1..255 ordered parallel planes into bulk regions') and immediately scopes it to a single same-material interface. It also explicitly distinguishes itself from adjacent work by rejecting dissimilar-material/multi-material prints and naming plasticity_plan_cohesive_layer_planes as the required prerequisite. An agent can tell it apart from plasticity_analyze_static_fem or plasticity_cohesive_fem_report 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives strong conditions for legitimate use: 'Every new analysis requires a profile-bound layerPlanePlan created by plasticity_plan_cohesive_layer_planes; arbitrary unbound split planes are rejected', and it states which law is the default versus which must be explicitly selected (CZM_EXP_REG vs CZM_LIN_REG) and when the Turon route applies. It also gives clear exclusions (dissimilar materials, mixed-mode prerequisites). It stops short of comparing against sibling analysis tools explicitly, so a 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_analyze_cone_developmentARead-only
Calculate an area-preserving annular-sector profile from one complete native conical-frustum face bounded by two full circles and one straight seam. Returns exact B-Rep source identity, radii, sector radii, slant length and included angle; it does not create geometry. Pointed cones, partial cone faces and faces with additional boundaries are rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| face | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false; the description reinforces this with 'it does not create geometry' and enumerates the returned quantities (radii, sector radii, slant length, included angle). It adds real context about rejection behavior, though not about performance or error-reporting beyond the listed exclusions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core operation front-loaded, followed by return values and exclusions. Dense but every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned geometry values and the accepted/rejected face conditions. It leaves revision/intent semantics unexplained, but for a single-analysis tool the operational picture is essentially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for 3 parameters, so the description must carry the load. It does describe the required input face's constraints (complete conical-frustum, two full circles, one straight seam), which sharpens the 'face' parameter, but says nothing about 'revision' or 'intent'. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Calculate an area-preserving annular-sector profile' from a conical-frustum face. It is cleanly distinguished from the sibling plasticity_create_cone_development by the explicit 'it does not create geometry' clause, so an agent can route correctly without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear input preconditions (one complete native conical-frustum face, two full circles, one straight seam) and explicit rejection cases (pointed cones, partial cone faces, extra boundaries). It never names an alternative tool to use for those rejected cases, so it falls short of full when/when-not/alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_analyze_design_referenceA
Use the bounded, action-free Codex API profile to inspect the supplied photo/sketch views and text (up to four PNG/JPEG/HEIC/HEIF images, 20 MiB each; macOS converts HEIC/HEIF locally to JPEG for analysis). Returns structured functional interfaces and candidate features, an explicit scale-confidence status, and at most one next decision-relevant question package. A dimensioned/calibrated result requires traceable positive millimeter scale evidence; unscaled views cannot yield millimeter measurements. It never creates CAD or sends a print. The request is durable and is not retried under the same ID after interruption.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| answers | Yes | ||
| context | No | ||
| evidence | Yes | ||
| requestId | Yes | ||
| imagePaths | Yes | ||
| analysisMode | No | design-reference |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds rich context beyond annotations: bounded/action-free profile, no CAD creation or print dispatch, image format/size limits with macOS HEIC conversion, durable request that is not retried under the same ID after interruption. These are exactly the behavioral traits an agent cannot derive from readOnlyHint=false / openWorldHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A tightly packed paragraph that is front-loaded with the action and image limits, then return shape, then scale constraint and guarantees. Dense but every sentence carries information; slight length is justified by the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-output-schema tool the description usefully characterizes the return payload and the durability/no-CAD guarantees, but given the sprawling nested input schema and 0% parameter coverage, it leaves too much of the input contract unexplained to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 deeply nested parameters, and the description only glosses imagePaths (formats/sizes) and prompt/text. It says nothing about the large 'context' object (method enum, geometry fields, material, assignments, assumptions) or how evidence/answers feed the workflow, so the schema does the heavy lifting unaided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'inspect the supplied photo/sketch views and text' and names the output artifacts (functional interfaces, candidate features, scale-confidence status, one question package). It clearly differs from the many CAD-creation siblings, but it never names the closest sibling (plasticity_design_reference_request) to route the agent between the two.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage conditions (needs traceable mm scale evidence for dimensioned results; at most one next question package implying iteration). However, it never states when to prefer this over plasticity_design_reference_request or other analysis tools, leaving alternative-selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_analyze_edge_curvatureARead-only
Sample Plasticity's native B-Rep curvature vector at 100 positions along each selected current edge. Reference Wire segments by bodyId plus segmentEntityId from plasticity_list_curve_directions; reference Solid or Sheet edges by bodyId plus edgeId from state. Returns curvature magnitude in 1/mm, finite radii of curvature in millimeters, extrema locations, and whether any sampled point is straight. This compact sampled analysis does not use the display mesh, does not claim an exact continuous maximum, and does not change the document.
| Name | Required | Description | Default |
|---|---|---|---|
| edges | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare a safe read-only, non-destructive, closed-world operation, and the description adds substantive behavioral context: it does not use the display mesh, does not claim an exact continuous maximum (it is a sampled approximation), and does not change the document. These are real traits beyond the annotations, though the sampling resolution tradeoff could be elaborated further.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and scope, then reference sourcing, then returns and limitations. No filler; every clause conveys information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by enumerating return content (curvature magnitude in 1/mm, finite radii in mm, extrema locations, straight-flag). Only the unexplained revision parameter leaves a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the burden, and it explains the two branch shapes of the edges parameter (bodyId+edgeId vs bodyId+segmentEntityId) and where to obtain those IDs. The revision parameter is left unexplained, which keeps it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb+resource+scope: sampling Plasticity's native B-Rep curvature vector at 100 positions along each selected current edge. It clearly distinguishes itself from the numerous curve/edge siblings by naming the exact analysis performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent how to source the required references for both cases (Wire segments via plasticity_list_curve_directions, Solid/Sheet edges via state), which is strong usage guidance. It stops short of explicitly naming when to prefer this versus a continuous/exact analysis tool, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_analyze_face_draftARead-only
Sample exact native B-Rep face normals on a finite interior grid and classify each selected Solid or Sheet face as positive, negative, neutral, or mixed draft relative to an explicit pull direction and minimum draft angle. Signed draft is asin(normal dot pull): walls parallel to pull are 0 degrees, outward normals toward pull are positive, and opposite normals are negative. The compact extrema do not prove continuous extrema, mold parting, release paths, or print support requirements.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| revision | Yes | ||
| pullDirection | Yes | ||
| minimumDraftDeg | No | ||
| samplesPerDirection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, and the description adds substantial context beyond them. It discloses the finite interior-grid sampling method, the signed draft formula asin(normal dot pull), and important proof limitations of the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences: purpose first, signed-draft formula second, proof limitations third. Every sentence adds useful information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex analysis tool with no output schema and no schema descriptions, the description supplies purpose, input concepts, classification categories, and proof caveats. It is slightly incomplete on the revision parameter and exact return structure, but sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It does name the pull direction, minimum draft angle, selected faces, and hints at sampling via 'finite interior grid', but it never explains the required revision parameter or the exact samplesPerDirection/default semantics, leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: analyze/classify B-Rep face normals and classify faces as positive, negative, neutral, or mixed draft. It distinguishes itself from draft-editing siblings such as plasticity_draft_faces by being a read-only analysis operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the required context: an explicit pull direction, minimum draft angle, and sampled face normals. It also gives clear limitations, stating that compact extrema do not prove continuous extrema, mold parting, release paths, or print support requirements. It lacks explicit alternative-tool routing or a named when-to-use/not-use rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_analyze_material_interface_test_curveARead-only
Summarize a stored, complete measured traction-separation curve only when its physical method is explicitly classified as DCB Mode I, ENF Mode II or MMB, consistently with its load mode. Pure-mode records report peak, first-segment stiffness and fracture energy; mixed-mode records report normal/tangential work, mode-mix energy fraction and resultant stiffness. Legacy curves without an explicit fracture method remain readable but are not analyzed. These are measured-curve summaries only, not qualified cohesive-law parameters or design allowables.
| Name | Required | Description | Default |
|---|---|---|---|
| recordId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, non-destructive, closed-world), and the description still adds substantial behavioral context: which records are eligible, what distinguishes pure-mode from mixed-mode reporting, and that legacy/ambiguous records are readable but skipped. With no output schema, the description also carries the return-value burden by enumerating the reported quantities.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, all front-loaded with the eligibility condition first, then the reporting behavior, then the exclusions and scope caveats. Every sentence carries information, though the pure/mixed-mode enumeration is dense and could be slightly tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by naming exactly what is reported for each record kind, plus the eligibility gate and the negative scope caveat. Nothing an agent needs in order to decide whether to call this tool or interpret its summary is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (recordId) with 0% schema description coverage, and the description never explains the identifier itself, its 64-hex format, or where it comes from. It does add semantic meaning about what record qualifies (complete, method-classified, load-mode-consistent), which is real value, but the parameter's own syntax and provenance remain undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (summarize) plus precise resource (a stored, complete measured traction-separation curve), with an explicit precondition on the record's physical method classification. An agent can distinguish this from sibling analysis tools like plasticity_analyze_cohesive_interface or the energy-calculation tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States both when to use (physical method explicitly classified as DCB Mode I, ENF Mode II or MMB, consistent with load mode) and when not (legacy curves without an explicit fracture method remain readable but are not analyzed). It also implicitly routes away from cohesive-law calibration by declaring the output is 'not qualified cohesive-law parameters'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_analyze_static_femA
Run bounded linear-elastic CalculiX analyses for one selected native Solid, modeled as one material and one print process; never combine material datasets. The default isotropic model uses youngsModulusMPa and poissonRatio with exact matching evidence. A process-matched uniaxial coupon may supply the isotropic Young's modulus only; use plasticity_match_material_coupon_data first and bind only an unambiguous exact-process record. Poisson ratio always needs separate evidence.
To use an orthotropic model, pass orthotropicMaterial. In that mode youngsModulusMPa is E1 and poissonRatio is nu12; orthotropicMaterial supplies E2, E3, nu13, nu23, G12, G13 and G23. When the immutable exact-process coupon record contains the measured full tensor and nu12, bind it with orthotropicMaterial.couponRecordId and process, and set materialCoupon to the same record ID/process. The server checks E1, nu12, all seven remaining constants, each evidence object and the confirmed print frame against that record before solving and again when the saved report is read. Otherwise, provide separate exact-value evidence for every property. Measured/sourced evidence requires URL, SHA-256 and locator; assumptions require an explicit derivation and remain scenario-only. The server rejects an unstable normal-compliance matrix and non-positive moduli. Give axis1DirectionGlobal, axis2ReferenceDirectionGlobal, and buildDirectionGlobal in the global CAD frame. The build direction must be explicitly user-confirmed or sourced, and material axis 3 must align with it; axis 3 is the layer-normal direction. Axis 1 and 2 are orthogonalized into a right-handed local frame; zero or parallel axes are rejected. Without layerPlanePlan, this is one homogeneous frame. For a per-layer orientation analysis, pass a complete layerPlanePlan made from the exact single-material process and G-code: profile hash and measured layer height must match orthotropicMaterial.process; the plan must include every layer (up to 256), confirmed slicer-to-CAD and coupon-road-axis mappings, and complete planar road-direction evidence for every layer. Linear deposition and XY circular arcs are integrated for I/J offsets and signed R radii. P multi-turn arcs, malformed or mixed arc forms, non-XY arc planes, absolute I/J center mode, and G5/G5.1 splines or G5.2/G5.3 NURBS blocks remain incomplete. The server cuts the STEP B-Rep at the planned interfaces before meshing, verifies each face-to-surface fragment by exact plane/bounds/area evidence, and assigns each conformal volume region the same measured tensor with that layer's mapped frame. The report marks these components as layer-local. Static FEA treats the interfaces as perfectly bonded; it does not predict delamination or interlayer failure. Use the separate cohesive-interface analysis with measured interface tests for that. Varying layer frames cannot use directional component allowables expressed in one fixed material frame. Orthotropic analyses do not accept a von Mises allowable because it is not a qualified orthotropic failure criterion. The screen checks no multiaxial interaction and is diagnostic only; it is not a failure verdict, strengthPass or print approval. Without all nine supported directional limits, no orthotropic stress screen is returned.
For an optional measured 3D Tsai-Wu screen, bind one qualified single-material print record by supplying its ID as orthotropicMaterial.tsaiWuQualificationRecordId together with orthotropicMaterial.process. The server resolves the immutable record only when it is the unique exact match for printer, filament, profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers, nozzle temperature and measured slicer layer height, and checks that its measured print axes match the FEA material frame. It loads the nine un-factored X/Y/Z tensile/compressive and XY/XZ/YZ shear failure strengths plus three normalized XY/XZ/YZ normal-interaction coefficients and their source evidence from that record; agents do not copy these values manually. Each strength evidence entry must attest testAxis and testMode in the confirmed material frame; each biaxial interaction and its source dependencies must attest its corresponding plane. Legacy records without directional metadata remain readable but cannot be bound to Tsai-Wu FEA. Alternatively, provide the complete inline orthotropicMaterial.tsaiWuCriterion with process-matched, direction-qualified evidence. The interaction matrix must be positive definite. CalculiX evaluates the full material-local tensor at each integration point and reports the maximum failure index and proportional load factor to index one per case and mesh. This diagnostic first-failure surface never establishes whole-part strength or print approval. It assumes one homogeneous material and does not resolve individual roads, discrete layer delamination, nonlinear response, fatigue, buckling or convergence; without measured data it is omitted.
For isotropic analyses only, an optional factoredVonMisesAllowableMPa requires directly measured/sourced matching evidence with URL, SHA-256, locator and factoredVonMisesAllowableBasis. The allowable must already include design factors and apply to this material/process; do not convert a generic datasheet strength or raw coupon peak into an allowable. Its comparison with sampled mesh peaks is diagnostic only and never establishes strength, convergence, strengthPass or print approval.
Choose either legacy supportFaceIds (all three global translations fixed on each planar face) or 1–8 explicit supportConditions; each condition fixes only its listed global translation axes x/y/z to zero at every node on that face. Ask the user to confirm the actual restraints; do not infer them from a photo or face orientation. Before solving, the tool checks that mapped support-node translations remove all six rigid-body translations and rotations; this is only a restraint-rank check and does not prove elastic stability or physical support validity. It has no friction, contact or rotational support model. Provide either legacy single-case loads or up to eight named independent loadCases. Each case may combine uniform face tractions in N/mm² and resultant face loads with force N, application point mm and free moment N·mm. Resultant-load points must lie on their selected planar faces; free moments use a balanced equivalent nodal couple over that face. Optionally request one to three mesh refinement steps, each halving meshSizeMm; the job count is bounded to 12. Cases at the same mesh level are compared only when Gmsh reproduces an identical mesh byte for byte. Each case reports sampled trends for raw maximum von Mises stress and observed displacement (increasing, decreasing, unchanged, non-monotonic, or insufficient-levels), plus raw peak-locator centroid shifts. These are diagnostics only, never a convergence pass, strength pass or print approval.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyId | Yes | ||
| revision | Yes | ||
| faceLoads | No | ||
| loadCases | No | ||
| meshSizeMm | Yes | ||
| poissonRatio | Yes | ||
| layerPlanePlan | No | ||
| materialCoupon | No | ||
| resultantLoads | No | ||
| supportFaceIds | No | ||
| youngsModulusMPa | Yes | ||
| supportConditions | No | ||
| meshRefinementSteps | No | ||
| orthotropicMaterial | No | ||
| poissonRatioEvidence | Yes | ||
| youngsModulusEvidence | No | ||
| factoredVonMisesAllowableMPa | No | ||
| factoredVonMisesAllowableBasis | No | ||
| factoredVonMisesAllowableEvidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, openWorldHint=false, and destructiveHint=false; the description adds far more, including validation rules, rejection of unstable matrices, job and layer bounds, and the fact that outputs are diagnostic only and never constitute a failure verdict or print approval. It also discloses key limitations: no delamination, nonlinear response, fatigue, buckling, or convergence prediction. This is rich behavioral context beyond the annotations and does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long, dense, and formatted as a wall of text with no headings or grouping. While the first sentence is front-loaded and many sentences carry relevant constraints, the overall length and lack of structure make it difficult to parse for an agent. It is over-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 19 parameters, nested objects, 0% schema description coverage, and absence of an output schema, the description supplies a great deal of needed context, including evidence requirements, orientation semantics, layer-plan requirements, and diagnostic limitations. It is nearly complete, though it still omits explicit semantics for bodyId, revision, and meshSizeMm, and does not detail nested evidence fields. It is complete enough to use but not flawless.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must carry the full burden, and it does so for many parameters: youngsModulusMPa, poissonRatio, orthotropicMaterial fields, couponRecordId, tsaiWuQualificationRecordId, layerPlanePlan, supportFaceIds vs supportConditions, faceLoads, loadCases, and meshRefinementSteps. However, it leaves simple top-level fields like bodyId, revision, and meshSizeMm only implicitly described, and it does not detail the nested evidence object fields. It compensates substantially but not exhaustively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb and resource ('Run bounded linear-elastic CalculiX analyses for one selected native Solid') and constrains scope to one material and one print process. It also distinguishes itself from the separate cohesive-interface analysis, which covers delamination, and from the coupon-matching prerequisite tool. An agent can tell what this tool is for 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description is explicit about when to use each mode: isotropic vs orthotropic, when to call plasticity_match_material_coupon_data first, when to supply layerPlanePlan, when to bind a Tsai-Wu qualification record, and when to use the separate cohesive-interface analysis. It also states that orthotropic analyses reject von Mises allowables and that directional limits are required for an orthotropic screen. This goes well beyond implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_analyze_strength_taskC
Run one isolated Codex turn for factual extraction and the single next decision-relevant question package. Include each prior full question with its user answer on follow-up turns. This writes a durable request record, contacts Codex, never mutates CAD and never authorizes a print. Search accessible primary product/material sources before asking the user for known facts.
Before requesting missing print-material data, call plasticity_plan_single_material_strength_tests for the selected method and exact one-material process. Use its measurement matrix to ask only for evidence needed by that route; explain why the measurements matter and never invent coupon values or allowables. A DCB task may contain an explicitly labeled generic-PLA literature geometry as a starting reference only; do not present it as a Creality property, normative specimen size, or sample-count requirement, and require checking the selected process, fixture and method. Keep the confirmed road/build axes and same-material layer-interface assumptions explicit.
For Creality PLA literature references, read plasticity://strength/interlayer-literature-baseline. It contains separate CR-PLA and Hyper PLA records plus generic-PLA Z-tension/DCB context; do not merge product families or transfer values across SKUs. It is a screening reference only: do not register literature values as physical coupons or interface tests, bind them to the user's exact K1C process, treat them as design allowables, or infer a traction-separation curve from fracture energy. Manufacturer-mirror discrepancies and non-matching printer/process tests must remain visible; ask for exact-process physical tests before a calibrated cohesive result. When the user provides raw direct-tension machine CSV, call plasticity_import_interface_tensile_csv first with explicit specimen-ID/force headers, delimiter, decimal separator, force unit and sign, measured net area and observed failure location for every coupon. Review its hashed peak-force preview; the importer does not filter or correct machine data, register a test, or derive DCB/ENF/MMB curves. For directly loaded specimens supplied in another format, record every sample's measured peak force, net cross-section, observed failure location and SHA-256/source locator, then call plasticity_calculate_interface_specimen_strengths; report force/area as nominal specimen stress. Include only confirmed interface failures in its summary statistics; show bulk/fixture failures individually and do not pool them with interface failures. Keep all statistics descriptive only. Do not call these local interface tractions or design allowables, and do not use them as a cohesive law.
When a raw DCB force/displacement CSV is available, use plasticity_import_dcb_mode_i_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting explicitly, then select the exact source record for every manually observed crack-growth point and enter that measured crack length; never let the importer filter traces, infer growth or select peak loads. It converts units only, preserves the source hash/record locators and calculates an exploratory MBT G_I(a) curve. Require the caller to establish machine-compliance-corrected load-point displacement and quasi-static linear-elastic behavior; attestations are not independent verification. Review selected rows, crack lengths, calculation and limitations against the physical log. If no CSV is available, plasticity_calculate_dcb_mode_i_energy accepts equivalent manually selected observations with traceable source hash/locators. This does not conform the test to ASTM D5528 (whose stated scope is unidirectional fiber composites), create a traction-separation law, or qualify CR-PLA. Never convert G_I into peak traction or strength without separate evidence.
When raw ENF force/displacement CSV is available, use plasticity_import_enf_mode_ii_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting; group calibration rows into each measured run/crack length, manually select only the initial-linear records, and manually select the observed initiation/peak record for the fracture run. The tool fits compliance from the selected rows, then the existing ENF calculator fits C against a^3 and returns exploratory G_IIc; it never searches for the linear range, crack growth or peak. Review each compliance fit, source hash/record locator, force/displacement correction and fixture log. If pre-reduced compliances are supplied, use plasticity_calculate_enf_mode_ii_energy directly. Neither path determines ASTM D7905 validity for printed PLA, registers physical evidence, builds an R-curve or yields a cohesive law. Keep the confirmed in-plane shear direction exact; do not merge ENF runs with differing direction just because their layer normals match.
When the requested failure mode is layer separation, distinguish CR-PLA's physical tensile/infill study and the two-sample CR-PLA-associated vertical layer-adhesion screen from the Hyper PLA flat tensile/flexural study: observed flexural delamination is qualitative failure-mode evidence, not a measured interface law. The baseline also records an upright generic-PLA tensile coupon on a Creality Ender 3 Pro and a custom generic-PLA interface coupon/calibrated cohesive parameter; neither identifies the filament as Creality nor establishes a same-process cohesive calibration. For only a nominal normal-strength screen across the layers, use the focused layer-interface-normal-tension scope; require measured failure at the interface and do not use that peak as a cohesive law. Use layer-interface-mode-i for a Mode-I fracture response, layer-interface-mode-ii for exploratory ENF Mode-II initiation energy using a same-fixture compliance calibration, and layer-interface-mixed-mode only when the requested analysis needs DCB/ENF/MMB cohesive evidence. The focused ENF calculator fits the experimentally supplied compliance against crack length cubed and uses the initiation peak; it is not an R-curve, does not verify the physical fixture or raw compliance fit, and does not claim ASTM D7905 validity for printed PLA. Layerwise static FEA assumes perfectly bonded interfaces and cannot answer a delamination question.
After reviewing an exploratory DCB energy preview against the physical test log, persist it only through plasticity_record_dcb_mode_i_energy_test with explicit confirmation that the measurements came from real physical tests. Retrieve a full record with plasticity_read_dcb_mode_i_energy_test and require exact process/interface-normal/protocol matching through plasticity_match_dcb_mode_i_energy_test before comparing runs. For ENF Mode-II energy, record reviewed measurements only through plasticity_record_enf_mode_ii_energy_test with the same physical-test confirmation; retrieve all calibration/fracture inputs with plasticity_read_enf_mode_ii_energy_test and exact-match process/interface-normal/in-plane-shear-axis/protocol using plasticity_match_enf_mode_ii_energy_test. Both immutable energy registries are separate from peak-strength and traction-separation records and are not consumed by cohesive FEA.
For an exploratory mixed-mode initiation partition, use plasticity_calculate_mmb_mode_i_ii_energy only when measured MMB force and geometry, same-process flexural and orthotropic moduli, and material-axis mapping are available; require lever weight to be measured negligible or counterbalanced. This Reeder-Crews beam-theory estimate does not establish ASTM D6671 validity for printed PLA and does not replace full mixed-mode traction-separation curves or provide a cohesive law. For raw MMB force CSV, use plasticity_import_mmb_mode_i_ii_energy_csv only with manually selected initiation records and a physically observed criterion; it does not search traces for onset/peak. Record a preview only after reviewing the source and confirming the data are from physical tests; matching caller confirmation with plasticity_record_mmb_mode_i_ii_energy_test persists and server-recomputes this separate energy estimate. Use plasticity_match_mmb_mode_i_ii_energy_test only for the exact process, interface normal, shear axis and protocol; read the full evidence with plasticity_read_mmb_mode_i_ii_energy_test. This registry is not cohesive input or an FEA source.
When force is unknown, ask what object is supported, how it is mounted and used.
Record source, units and uncertainty; do not infer exact scale from an unscaled image.
Ask at most one next-step question package per response, then wait for the user's answer. Include only facts needed to choose the next safe step; defer material, manufacturing, tolerances and detailed dimensions until they affect that decision. Re-evaluate after every answer and ask a focused follow-up only when it changes the method, required evidence or next action. If the user does not know, move to one useful contextual clue such as the supported object, use, environment or mounting; do not repeat a list of unknowns or guess. On a new bracket task, first ask compactly what it supports, its load/use and how it is mounted; defer section, material/process and displacement questions until that first answer narrows the load path and method.
Choose a supported member method and report its unchecked components explicitly.
For a flat rectangular panel, establish net pressure and the real condition of all four edges before choosing the simply-supported plate method. Do not infer edge support from appearance.
For a straight prismatic rectangular member in centred axial compression, use the Euler column method only when effective-length factor K, elastic limit, compressive allowable, and the actual restraint condition are supported by evidence. Use the weakest section axis, require a negative force value for compression, and reject Euler results when its predicted critical stress exceeds the supplied elastic limit; do not guess K or treat the method as an inelastic, eccentric-load, local-buckling, or whole-part check.
For an integral rectangular enclosure wall, inspect two opposed planar faces on the same Solid with plasticity_inspect_integral_rectangular_plate, then use plasticity_verify_integral_plate_strength to replace dimensions from exact native B-rep. The inspector accepts only rectangular faces whose outlines match or inset by one wall thickness on each side. It measures geometry only: establish the real support, pressure, material and edge conditions separately; never assume a box wall is simply supported.
For section analysis, identify the critical plane and explain the load path that makes it critical. Use an existing planar face when it matches; otherwise inspect an arbitrary plane through the Solid.
For one fastener carrying in-plane plate load, establish the load direction and separate bearing, shear and tensile allowables before calculating. Never substitute compressive strength for bearing strength.
For a fastener group on a rectangular planar face, inspect exact hole centers and boundaries, then check center-to-edge distance, hole-edge clearance, pitch, ligament and every applicable head, washer, nut or driver envelope against explicitly sourced or user-approved criteria. A measured layout without criteria is not a pass, and a layout pass is not a strength pass.
When checking the fastener member, establish its grade, tensile stress area, effective shear area at the actual plane, one or two shear planes, total axial tension including applicable preload, and actual shear load. Explain why the selected combined-load interaction is applicable before accepting it.
For a tapped hole, nut, or threaded insert under axial load, establish the designation, pitch, actual engagement, fully formed engaged thread count, and configuration-matched allowable loads for internal-thread stripping, external-thread stripping, and fastener tension. Do not infer any capacity from nominal M size. A procured nut or insert requires a specified assembly allowable or dedicated test rather than an unqualified nominal shear-area calculation.
For solver-backed static FEA, first use plasticity_match_material_coupon_data when a physically tested material record may match the print process. Only an unambiguous exact match for printer, material, profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers, nozzle temperature and measured slicer layer height can supply Young's modulus; pass the selected record ID/process and the exact recorded modulus so the server binds and validates it. If match is ambiguous because compatible partial records have no single consolidated record, ask the user for the confirmed count of unique physical specimens and call plasticity_combine_material_coupon_data with those exact record IDs; it preserves measured values and evidence without averaging. If records conflict, stop and ask the user which physical measurement applies. For an orthotropic print model, do not use a uniaxial coupon as a full tensor. When an immutable exact-process record contains the complete measured tensor and nu12, pass orthotropicMaterial.couponRecordId and process, plus materialCoupon with the same record ID; the MCP checks E1, nu12, every remaining constant, each evidence object and the confirmed global print axes, and rechecks the record when reading the saved report. Otherwise pass E2/E3, nu13/nu23, G12/G13/G23 with separate exact evidence, global material axes 1 and 2, and a user-confirmed or sourced global build direction; material axis 3 must align with that build direction and represents the homogeneous layer-normal response. This does not represent individual layers or prove adhesion. Model one material and one print process per analyzed part; do not combine material datasets or infer a multi-material print. When the selected exact-process coupon record contains a qualified Tsai-Wu dataset, pass its ID as orthotropicMaterial.tsaiWuQualificationRecordId along with the identical orthotropicMaterial.process; the server loads measured strengths, biaxial interaction data and source evidence, then verifies the axes. Do not copy or reconstruct criterion values by hand. If the exact-process match remains ambiguous after consolidation, ask the user to resolve conflicting measurements; never choose a record silently. The legacy youngsModulusMPa and poissonRatio fields are E1 and nu12. Ask the user to resolve the print-axis orientation if it is unknown; never infer it from a photo or CAD face. The server checks positive-definite compliance and rejects a von Mises allowable or coupon binding for this orthotropic model. Otherwise attach youngsModulusEvidence whose value exactly matches the modulus; measured/sourced evidence needs a URL, SHA-256 and locator. poissonRatioEvidence is always required and must exactly match the ratio. A physical coupon record may store measured nu12 with its exact process. If using its Tsai-Wu record-binding path, the server verifies the nu12 value and evidence against that record; otherwise supply the input evidence directly from a traceable source. Never infer nu12 from a generic plastic label. An assumed value must include its reason and stay explicitly scenario-only after discussing the assumption with the user. Optionally supply a directly measured or sourced, process-applicable factored von Mises design allowable using factoredVonMisesAllowableMPa, exact matching factoredVonMisesAllowableEvidence with URL, SHA-256 and locator, and factoredVonMisesAllowableBasis. It must already include the design factors. Never turn a generic tensile strength or raw coupon peak into a design allowable. The report will compare every sampled raw mesh peak with it as a diagnostic screen only: above means a sampled peak exceeds that supplied allowable; below does not prove strength. This never changes strengthPass or print approval. Confirm the actual restraints with the user. Legacy supportFaceIds fix all three global translations on each selected planar face; use explicit supportConditions only when the user has specified which global x/y/z translations are zero on each face. Each condition acts on all nodes of that face, is not a frictionless-contact or rotational support, and may leave rigid-body modes or create a singular system; do not infer it from a photo or face normal. Supports and loaded faces must not share mesh nodes. Every selected planar load face needs an explicit uniform traction and/or resultant force with its point of application and free moment. Use plasticity_analyze_static_fem only for one Solid with 1–8 explicit support conditions and load vectors grounded in a selected planar face. Use named loadCases for physically distinct scenarios such as weight, operating force and handling load; do not combine mutually exclusive scenarios. Each case has a separate solver result, and comparison proceeds only when the generated meshes are byte-identical. Set meshRefinementSteps to 1–3 for two to four mesh levels when a trend across successively halved element sizes is useful; the report classifies the sampled direction of raw maximum von Mises stress and observed displacement as increasing, decreasing, unchanged, non-monotonic or insufficient-levels. For more than four levels, run separate analyses against the same current CAD revision and call plasticity_compare_static_fem_refinement_reports; it merges only reports with matching loads, supports, material evidence, native geometry and byte-identical overlapping mesh results. Check the returned freshness before relying on it. Treat all trend labels and relative changes as diagnostic evidence only. Never call a mesh trend a pass or proof of convergence. Each result includes the raw maximum C3D4 integration-point stress element and its mesh-element centroid in millimetres; this is a mesh-bound locator, not an averaged stress field, a resolved critical-region boundary, or proof of a physical hotspot. Locations may move between refinement levels. The legacy top-level load fields still represent one case. The tool returns total and per-support reaction forces and moments, global force/moment equilibrium residuals and a named displacement axis for each case; per-support values are diagnostic resultants over each support node set. Re-read it with plasticity_static_fem_report; any CAD revision change makes it stale.
For layerwise static FEA, keep the single-material exact process consistent from measurement through solver input. Read the immutable profile hash, infill pattern, wall loops, top/bottom shell layers and measured layer height from workbench_manufacturing_profiles, then slice the intended model/orientation with the selected Creality K1C profile. Record actual specimen settings if per-object overrides differ from profile defaults; an unchanged profile hash does not erase those differences. Call workbench_slicer_layer_path_orientations in batches of up to 32 and combine layer-path results for every deposited layer, including the final deposited layer, into layerPathEvidence with identical job ID, profile hash, source-artifact hash and G-code hash. Layerwise static orientation is supported only for a complete linear or planar circular-arc direction result for every layer in stacks of 2–33 layers; do not fill missing or curved-path directions by inference. Confirm pathFrameMapping.slicerXDirectionGlobal in CAD global coordinates and explicitly confirm that the same exact-process coupon's material axis 1 represents the dominant deposited-road direction in roadAxisMapping. Call plasticity_plan_cohesive_layer_planes with the same profile hash and layer height, current CAD anchor at the first interlayer plane, confirmed CAD build direction, total layer count, and the full layer-path evidence/mappings; pass its returned plan as layerPlanePlan to plasticity_analyze_static_fem. When the slicer supplies actual interface heights, call workbench_slicer_interface_heights for every interface in this complete stack, set each interfaceOffsetsMm value to its depositionLayerZMm minus firstDepositionLayerZMm, and attach the matching job/profile/source/G-code hashes as depositionPathEvidence; this preserves first-layer and adaptive heights instead of assuming nominal uniform spacing. The static analyzer requires the plan to match the one measured orthotropic process and applies the same measured orthotropic tensor to each layer with its confirmed G-code-mapped frame. It assumes perfectly bonded layers and cannot assess delamination. Do not use static FEA to assess delamination; use the separate same-material cohesive route only when matching physical interface tests are available. Never infer layer directions, material identity or interlayer strength from a photo, generic material label or nominal slicer preset.
For orthotropic FEA, optionally supply all nine directly traceable, already factored X/Y/Z tensile and compressive plus XY/XZ/YZ shear limits in orthotropicMaterial.factoredAllowables, with separate exact-value evidence and an applicability/design-factor basis. Never substitute generic datasheet strength or an unqualified coupon peak. The returned componentwise maximum-stress screen uses local material-axis stress extrema and is diagnostic only; it assumes one homogeneous orthotropic continuum, does not model layer interfaces, delamination or different-material joints, and omits multiaxial interaction. Matched interlayer-test data can inform Z-tension and XZ/YZ-shear allowables but does not turn this into a cohesive-interface analysis. Never report this screen as verified layer adhesion, part strength or print approval.
For an optional 3D Tsai-Wu first-failure screen in orthotropic linear FEA, require one exact single-material printer/material/profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers and nozzle-temperature identity in orthotropicMaterial.process. Prefer binding the unique exact-process qualification by its orthotropicMaterial.tsaiWuQualificationRecordId; the server loads its nine directly measured, un-factored X/Y/Z tensile/compressive and XY/XZ/YZ shear failure strengths, three normalized XY/XZ/YZ normal-interaction coefficients and evidence, then verifies material axes. Each strength test must attest its material-frame axis and mode (for example, x tension is material-1 tension; xy shear is material-1-2 shear); each interaction and its source dependencies must attest the corresponding biaxial plane. Legacy records without these direction attestations remain readable but cannot qualify a Tsai-Wu FEA. A complete inline orthotropicMaterial.tsaiWuCriterion remains supported when needed. Interactions must be derived from traceable biaxial tests. Ask the user for these records if missing; never copy generic datasheet values, assume the conventional interaction coefficient or infer it from uniaxial coupons. The normalized interaction matrix must be positive definite. The result reports local integration-point failure indices and proportional load factors to index one only. A load factor is not a design safety factor, and neither a sub-unity index nor a large load factor means the part passed. The model still represents one homogeneous material, not individual roads or delamination.
When actual test-coupon G-code is available, preserve its profile/source/G-code hashes, selected per-layer road summaries and explicitly user-confirmed slicer-to-global axes in depositionPathEvidence. This is test provenance only, not an adhesion measurement or solver input; never reconstruct road direction from nominal slicer settings.
When physical adhesion between printed layers of one material is relevant, use plasticity_record_material_interface_test only for caller-provided measured test results with the same exact printer/material/profile process on both sides, interface normal, test mode, load direction, fixture/specimen protocol hash and observed failure location. Normal-tension load direction must align with the interface normal; interface-shear load direction must lie in its plane; mixed-mode must contain both components. Store full compliance-corrected pure-mode curves as scalar separation/traction data and MMB curves as separate normal/tangential separation and traction components, with source SHA-256 and locator. Call plasticity_analyze_material_interface_test_curve to summarize measured work and mode mixity. When the user has a CSV of already processed physical fracture data, use plasticity_import_interface_fracture_csv for a read-only per-specimen preview; explicitly map the method, columns, units and CSV formatting, and attest that the values are already compliance-corrected physical traction-separation data. Never convert raw machine force-displacement data with this importer. Verify each source hash/record locator, specimen, fixture, exact print process and observed failure plane before separately recording any curve with plasticity_record_material_interface_test. For a CZM_TURON candidate fit, provide Mode-I DCB, Mode-II ENF and at least two MMB tests at distinct measured energy fractions; all ENF and MMB tests must use the same in-plane shear axis within one degree because this route has a single tangential cohesive law. The MCP requires those protocol identifiers in each testMethod and reports the pure-mode peaks plus fit residuals. Review residuals against test uncertainty. Do not invent ETA_BK. K is not identified by that fit and must not be silently guessed. Code_Aster CZM_TURON uses one normal and one tangential cohesive response, sharing tangential strength and fracture energy across both in-plane tangent directions; it cannot represent direction-dependent shear adhesion. Matching shear axes prevents mixing directional datasets but does not prove that the bond is isotropic. These outputs summarize physical evidence only; they are not qualified cohesive-law parameters, design allowables or a part FEA. Do not claim bond integrity from the homogeneous orthotropic FEA screen.
Use plasticity_analyze_cohesive_interface only for a single-material printed part, with an exact-process coupon for that one bulk material, traceable Poisson ratio and a matching immutable same-material layer test. Dissimilar-material printed bonds are rejected before meshing and are outside this calculation scope. Mode-I analysis requires a full normal-tension DCB traction-separation curve with failure at the layer interface. Its modeILaw may explicitly select CZM_EXP_REG or CZM_LIN_REG; omitted input preserves the CZM_EXP_REG default. Both parameterize their softening law from measured peak traction and integrated fracture energy and do not fit the full measured curve shape. Review this choice against the measured curve and record the reason; do not infer it from part geometry. Read the returned solver.result.v3Interpretation: for CZM_EXP_REG, V3 is a damage variable in [0,1]; for CZM_LIN_REG, V3=2 means the cohesive element is completely broken, so do not present it as the same normalized damage fraction. By default it uses isotropic bulk elasticity with pinned Code_Aster 15.2. If useOrthotropicBulkProperties is explicitly enabled, Mode-I uses Code_Aster 17.4 and applies one measured homogeneous orthotropic tensor; when explicit layerwise mapping is enabled, each bulk layer uses its G-code-mapped frame while all layers share that same tensor. The mixed-mode Turon route additionally requires same-process-pair DCB, ENF and at least two MMB tests at distinct measured energy fractions, traceable K, and an explicit global displacement with both opening-normal and in-plane tangential components greater than one degree. The displacement's shear axis must match the common measured ENF/MMB shear axis within one degree; reject other directions because this solver law has one tangential response. All ENF and MMB tests must use the same in-plane shear axis within one degree. Supply 1..32 ordered parallel split planes for a same-material layer stack; their normals may be tilted in global coordinates, and the same measured layer law is repeated at every plane. This equivalent-interface assumption does not resolve individual roads or within-layer raster variation. Either route may accept useOrthotropicBulkProperties when the exact-process coupon contains measured E2/E3, nu13/nu23, G12/G13/G23 evidence and a confirmed or traceable global print frame. Check the exact-process coupon match is unambiguous and do not infer axes from a photo or CAD face. Confirm the tested material's side relative to the chosen split-plane normal; do not infer this from the body or face normals. The measured test direction must match the normal/shear mode; the support face lies below the first split plane and the loaded face above the last plane along the shared normal. The server derives peak traction, integrated fracture energy and displacement endpoint from exact tests, exports the selected current Solid, creates a conforming multi-region mesh with a cohesive element set at every requested plane, and aborts if the CAD revision changes. Review the mesh-resolution screen and perform refinement/sensitivity work as needed. Turon approximates measured curves using peak/area parameters and its K still needs sensitivity analysis. The bulk tensor remains one measured single-material continuum whose local frame may vary by mapped layer; repeated cohesive planes use the same measured, direction-independent interface law and do not resolve individual deposited roads, within-layer raster mixtures or direction-dependent adhesion. Use results only as raw solver responses; never report it as a part-strength verdict, qualified layer-adhesion value, print approval or design allowable.
Before asking for a physical coupon record, obtain the selected immutable profile hash plus material.nozzleTemperatureC, slicer.layerHeightMm, slicer.nominalInfillPercent, slicer.sparseInfillPattern, slicer.wallLoops, slicer.topShellLayers, and slicer.bottomShellLayers from workbench_manufacturing_profiles when those settings are available. Carry the exact process values into the record; do not infer missing infill or substitute a generic profile. These are resolved profile defaults; sparse fill or shell settings may be overridden per object and must not be assumed when a modifier was used. If the coupon was printed with a different setting, first register/select the matching immutable process profile and hash. When layer positions should follow the actual print, record the measured profile hash and layer height in the physical interface-test and material-coupon process; layer height is part of exact process identity. After slicing, if the job reports a complete deposition-height schedule, call workbench_slicer_interface_heights for every selected interface index. Derive each offset as that interface’s depositionLayerZMm minus firstDepositionLayerZMm and pass the ordered values as interfaceOffsetsMm; this preserves first-layer and adaptive heights. Also pass the selected interface response plus its job/profile/source/G-code hashes, layer count and coordinate frame as depositionPathEvidence so the cohesive report retains the exact per-layer road-orientation observations. This evidence preserves the measured toolpath but does not qualify material properties. Use workbench_slicer_layer_path_orientations in batches of up to 32 to retrieve every layer direction (up to 33 total layers) when the user wants layerwise solver orientation. Confirm how slicer X maps into the CAD global frame and that the exact-process coupon axis 1 represents the dominant deposited-road direction; pass those confirmations as pathFrameMapping and roadAxisMapping. Combine complete responses, including the final deposited layer, as layerPathEvidence with shared job/profile/source/G-code hashes. Every layer must have complete linear or planar circular-arc coverage; do not treat unsupported arc/spline moves as complete. With explicit roadAxisMapping and useOrthotropicBulkProperties, Mode-I and Turon use one measured tensor with a separate local frame per layer. Without roadAxisMapping, frames remain candidates and do not affect solver response. This does not model multiple materials, layer-varying properties, within-layer raster mixtures or directional interface adhesion. Returned coordinates are in slicer build coordinates: map only relative offsets onto the confirmed CAD print axis, never copy absolute slicer Z into CAD. Otherwise the planner uses the nominal profile height. Call plasticity_plan_cohesive_layer_planes with that same profile hash and layer height, a point on the first interlayer plane after object placement, confirmed global build direction, total layer count and explicit interface indices. Copy both its plan and planes into layerPlanePlan and splitPlanes; analysis rejects legacy test records without a recorded layer height and any height that differs from the measured process profile. It also checks profile identity, plane coordinates, and (for orthotropic bulk) alignment with the coupon’s confirmed build direction. For up to 32 interfaces the planner requires the complete stack; for larger stacks it marks selected planes as incomplete, and omitted interfaces remain unanalyzed. Do not present selected-plane analysis as full-stack delamination resistance. If no validated placement/anchor is available, ask instead of inferring layer positions from an image or display mesh.
Read maximumVonMisesElementSICN alongside each raw stress-peak locator to see the Gmsh SICN of that exact tetrahedron. Compare it with the mesh minimum only as local mesh-shape context; neither a high value nor separation from the minimum proves stress accuracy, a resolved hotspot, convergence, or strength.
Read maximumPrincipalStressMPa and minimumPrincipalStressMPa as raw tensile/compressive principal extrema across sampled integration points, each with its own mesh locator. Their refinement trends and signed relative changes expose mesh sensitivity only; they are diagnostic and must never be compared with a von Mises allowable or reported as a pass without a criterion qualified for the selected failure mode.
The public FEA tool measures the rank of all fixed global translations at the actual mapped mesh nodes and stops before CalculiX if they leave any of the six rigid-body translation/rotation modes unconstrained. A full rank of six is necessary to remove those rigid-body modes, but it does not establish physical support validity, elastic stability, or absence of local mechanisms.
For a heat-set insert, use pullout and torque-out capacity only when the evidence matches the exact insert, host material, print profile, orientation, pocket and installation process. Ask for the worst-case demand on one insert; do not divide a group load evenly without a load-path model.
For two or more fasteners under an in-plane load, establish every transfer-point coordinate, both force components, the point of application and any free moment. Use the elastic group method only after confirming a rigid attachment and identical in-plane fastener stiffness. Use each fastener’s own vector resultant for any member check. On a rectangular mounting face, call plasticity_check_fastener_group_layout with an explicit opposedFaceId to verify matching native perforated faces and exact plate thickness. This is geometry evidence only and does not establish a load path or capacity. plasticity_verify_fastener_group_plate_bearing compares each elastic per-fastener demand with a directly traceable, configuration-matched, already factored bearing allowable using exact measured thickness and hole diameter. It can additionally check a straight transverse net-tension section only when you provide the external tensile resultant separately, identify local X or Y as its axis, supply a distinct traceable factored tensile allowable, and confirm uniform membrane tension, centered through-thickness loading and a straight transverse failure path. Never substitute per-fastener demands for the external plate tension or infer that resultant from a sketch. Optionally use edgeShearOut with a separate traceable, factored shear allowable to check local two-plane tear-out for per-fastener vectors aligned to local X or Y; diagonal vectors and e/d below 1.5 are unsupported, while e/d below 2 remains conditional. Angled/staggered fracture paths, compression-side buckling, shared-ligament interaction, unsupported tear-out directions, bypass and complete-joint strength remain unchecked; even a within-allowable result is only a conditional local screen. If a physical multi-hole plate test is run, record the measured specimen, exact hole layout, print-process/profile, fixture, load axis, individual peak loads and observed failure modes with plasticity_record_fastener_group_test, then use plasticity_match_fastener_group_test to find only an exact configuration match. A test match is evidence only: it does not produce a design allowable or pass a different part or support setup. To add a test benchmark to the CAD-bound report, first confirm that the record's exact process and fixture/load path apply to the current part. Supply the selected immutable record ID, an independently evidenced dimensional equivalence tolerance, the exact process, safety factor, and explicit process/fixture confirmations; the server then checks every measured plate and hole dimension against the live B-rep. This comparison only checks factored external tensile demand against the lowest observed specimen peak. It is not a statistically reduced allowable, strength pass/fail, or proof for unobserved failure modes. Do not select a nearby test by appearance or silently assume fixture equivalence. The single-through-fastener plate method assumes one hole; never repeat it per hole and aggregate the results into a multi-hole plate or whole-joint pass.
Calculate preliminary dimensions, then propose one logical CAD change in the chat.
Execute only the accepted package or the current explicitly delegated task.
Delegation ends when the task ends and is not restored after restart.
Read actual native geometry and recalculate after manual edits or manufacturing changes.
Workbench is optional. Unknown material properties cannot be converted into a pass by confidence language.
For an end-to-end tongue-root scenario, use plasticity_calculate_tongue_root_strength_from_coupon_data or plasticity_verify_tongue_root_strength_from_coupon_data. They match the physical coupon record to the exact Workbench profile hash, printer, material, orientation, infill, nozzle temperature and measured slicer layer height, then copy only measured Young's/shear moduli and their evidence into the calculation. Supply separately sourced tensile/shear design allowables and explain their applicability; raw coupon strengths are never substituted for allowables. These tools keep material suitability unconfirmed and the result conditional. No-match or conflicting records return without a calculation. If no record exists, ask for the report and unresolved process details, and record it only after the user confirms the physical tests. The registry does not check test-standard compliance, derive statistical design values, or certify a part. Never substitute a generic filament label or slicer properties for coupon evidence.
For axial rectangular or rectangular-cantilever scenarios with exact-process coupon data, use plasticity_calculate_rectangular_strength_from_coupon_data. It copies only measured Young's modulus and its evidence. Provide independent tensile design allowable evidence, plus an independent compressive allowable for a cantilever; state their applicability basis. Never map raw coupon tensile/compressive strengths into design allowables. These scenarios remain conditional with material suitability unconfirmed. Exact-process no-match or ambiguity returns without saving a calculation.
Nominal section stress is not whole-part validation.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| answers | Yes | ||
| context | No | ||
| evidence | Yes | ||
| requestId | Yes | ||
| imagePaths | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description adds meaningful context: it writes a durable request record, contacts Codex (an external service), never mutates CAD, and never authorizes a print. This aligns with and enriches the annotations without contradiction, though it omits details like auth requirements or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is thousands of words long and reads like a comprehensive system prompt for the entire strength-analysis suite, not a tool definition. It is not front-loaded and every sentence after the first few is oriented toward other tools, making it severely bloated for a single tool. There is minimal structure to help an agent quickly identify the essential purpose and parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has six parameters, no output schema, and minimal annotation depth, so the description should clarify how to construct requests and what responses to expect. Instead, it provides a broad domain manual while leaving parameter usage, return values, and the exact structure of the 'question package' unexplained. The result is incomplete for correctly invoking this specific tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for six parameters, including nested objects, so the description must compensate. It does not explain fields like requestId, prompt, imagePaths, evidence, answers, or context beyond vague hints such as 'Include each prior full question with its user answer' and mentions of unscaled images. The extensive text discusses engineering methods and other tools rather than the meaning or format of this tool's inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Run one isolated Codex turn for factual extraction and the single next decision-relevant question package,' and clarifies it 'writes a durable request record, contacts Codex.' However, the name 'analyze_strength_task' suggests direct strength analysis, while the description frames it as an orchestration/request step, creating a mismatch. It also does not differentiate from siblings like plasticity_strength_request or plasticity_analyze_design_reference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The vast majority of the text provides routing rules for dozens of other tools, not for this tool. There is no explicit guidance on when to invoke this tool versus alternatives such as plasticity_strength_request. Usage is only implied by its role in the workflow, with no stated exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_analyze_surface_continuityARead-only
Sample Plasticity's native B-Rep continuity evaluator at 100 positions along each selected current Solid or Sheet edge shared by exactly two faces. Returns maximum G0 position deviation in millimeters, G1 normal-angle deviation in degrees, Plasticity's dimensionless relative G2 curvature deviation, their locations, and hierarchical G0/G1/G2 tolerance results. This is native surface sampling rather than an exact continuous maximum; it does not use the display mesh and does not change the document.
| Name | Required | Description | Default |
|---|---|---|---|
| edges | Yes | ||
| revision | Yes | ||
| positionToleranceMm | No | ||
| normalAngleToleranceDeg | No | ||
| relativeCurvatureTolerance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/destructive=false, but the description adds genuinely new behavioral context: it samples at 100 discrete positions, is "native surface sampling rather than an exact continuous maximum," and "does not use the display mesh." These caveats materially affect how an agent should interpret results, though the mutation statement is somewhat redundant with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences that open with the core action, then return values, then the caveat. Dense but nearly every clause earns its place; the phrase about the document not changing is the one borderline-redundant element against the annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates return values (G0 mm, G1 degrees, dimensionless G2, locations, hierarchical tolerance results), which is the right call. However, it leaves the non-obvious "revision" parameter and exact tolerance semantics undocumented, so an agent still lacks a complete picture for a 5-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 5 parameters, so the description must carry the burden but largely does not: "revision" is never explained, and the three tolerance parameters are only obliquely hinted at through "hierarchical G0/G1/G2 tolerance results." How edges/tolerances are supplied or applied is left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("Sample Plasticity's native B-Rep continuity evaluator") and pins the exact scope ("each selected current Solid or Sheet edge shared by exactly two faces"). An agent can distinguish this surface-continuity analysis from sibling tools like plasticity_analyze_edge_curvature or plasticity_inspect_surface_structure 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when it applies via gating conditions ("edges shared by exactly two faces") and clarifies the sampling-vs-exact distinction, but never names an alternative tool or states an explicit "use this when / not when." Usage is inferable rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_body_infoBRead-only
Read one body from the current document revision.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, covering the safety profile. The description adds scoping context ("current document revision"), which is useful, but says nothing about behavior when the id is invalid or about the returned payload, so it is only modestly additive over 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. For a one-parameter read tool it is appropriately sized and wastes nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and annotations cover safety, but with no output schema and no parameter descriptions, the description leaves the agent without return-shape or error-behavior context. Adequate but with clear gaps for a body-inspection tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. "Read one body" implies the single integer id identifies a body, which is a reasonable but minimal hint; it adds no format, range, or lookup guidance beyond that implication.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Read one body from the current document revision" states a specific verb (read) and resource (one body), and the singular "one body" implicitly distinguishes it from plasticity_list_bodies. However, it does not name or contrast against any sibling, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no mention of alternatives like plasticity_list_bodies or plasticity_select_bodies, and no prerequisites. The agent must infer that this is for retrieving details of a single known body id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_booleanCDestructive
Apply exact CAD union, difference, or intersection.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| toolIds | Yes | ||
| revision | Yes | ||
| keepTools | No | ||
| operation | Yes | ||
| targetIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so the safety profile is covered. The description adds almost nothing beyond repeating the operation choices; it does not explain what geometry is consumed, how target/tool bodies are affected, or what keepTools/revision behavior means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler or repetition. It is appropriately sized for a concise summary, even though it is under-specified elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive six-parameter CAD operation with no schema descriptions and no output schema, one sentence is not enough. The description omits required parameter semantics and behavioral details an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across six parameters, and the description only names the union/difference/intersection values already present in the schema enum. It provides no meaning for targetIds, toolIds, revision, keepTools, or intent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a specific verb ('Apply') and resource ('CAD union, difference, or intersection'), making the basic operation clear. It does not differentiate itself from sibling CAD operations beyond the boolean term, and it does not clarify the target/tool body model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no conditions or exclusions. The agent must infer usage entirely from the name and operation enum.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_bridge_curvesADestructive
Create one independent native B-Spline between two exact current Wire segment endpoints while preserving both source Wires. Use plasticity_list_curve_directions immediately before this call. G0 matches position, G1 adds tangent continuity, G2 adds curvature continuity, and G3 adds third-order geometric continuity at each end. The operation occupies one Plasticity history step.
| Name | Required | Description | Default |
|---|---|---|---|
| first | Yes | ||
| intent | No | ||
| second | Yes | ||
| revision | Yes | ||
| endContinuity | No | G2 | |
| startContinuity | No | G2 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, openWorld=false, destructive=true, so the safety envelope is partly pre-supplied. The description still adds genuine behavioral context: source Wires are preserved, the result is a single independent native B-Spline, and the operation consumes exactly one Plasticity history step (undo scope). There is mild tension between 'preserving both source Wires' and destructiveHint=true, but creating new document geometry is a reasonable reading of that hint, so it is not a true contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then constraints, then the continuity legend, then the history-step note; every sentence carries information. The prerequisite sentence interrupts the flow slightly between the action statement and the continuity explanation, which keeps it just short of ideal ordering.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter mutation tool with nested objects and no output schema, the description covers the geometry intent, source preservation, continuity levels, and history-step cost. Remaining gaps are the opaque revision/intent parameters and the absence of any statement about what is returned, but the critical modeling semantics are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the whole burden. It partially compensates by fully defining the startContinuity/endContinuity enums (G0 position, G1 tangent, G2 curvature, G3 third-order) and by describing 'two exact current Wire segment endpoints' for the nested first/second objects, but it never explains revision, intent, the 'at: start|end' selector, or bodyId/segmentEntityId. Half the parameters remain semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource+scope: 'Create one independent native B-Spline between two exact current Wire segment endpoints while preserving both source Wires.' An agent can distinguish this from nearby siblings such as plasticity_bridge_curve_vertices, plasticity_bridge_shell_edges, and plasticity_loft_curves because the source (Wire segment endpoints) and output (a single B-Spline) are explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete prerequisite/ordering rule: 'Use plasticity_list_curve_directions immediately before this call.' That is real usage guidance, but it does not say when NOT to bridge (e.g., crossing vs. same-body wires) nor name the closest alternative bridging tool, so it stops short of full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_bridge_curve_verticesADestructive
Create one independent native B-Spline between two exact current open Wire vertices while preserving both source Wires. Use plasticity_list_curve_vertices immediately before this call and pass its numeric vertexId values. G0 through G3 continuity is selected independently at the two ends; internal or stale vertices are rejected before mutation.
| Name | Required | Description | Default |
|---|---|---|---|
| first | Yes | ||
| intent | No | ||
| second | Yes | ||
| revision | Yes | ||
| endContinuity | No | G2 | |
| startContinuity | No | G2 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true with no readOnly, so the description usefully narrows that: it clarifies that both source Wires are preserved and that validation of internal/stale vertices happens before any mutation. That is real added context beyond the annotations, though it omits concurrency/revision behavior and what the result object is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, then prerequisites, then continuity/validation detail. No filler, though the continuity sentence crams two distinct concepts together.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 0% schema description coverage across 6 parameters including nested objects, the description leaves meaningful gaps: revision (likely optimistic-concurrency) semantics and the meaning of intent are undocumented, and no return value is described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain vertexId sourcing and that start/end continuity are chosen independently (G0-G3), mapping onto startContinuity/endContinuity, but bodyId, revision, and intent are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create one independent native B-Spline') with exact scope ('between two exact current open Wire vertices'), and distinguishes itself from the sibling plasticity_bridge_curves by specifying the vertex-to-vertex bridge and source-Wire preservation. An agent can select it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete workflow direction: call plasticity_list_curve_vertices immediately beforehand and pass its numeric vertexId values, plus the precondition that internal or stale vertices are rejected. It does not, however, name when to prefer a sibling such as plasticity_bridge_curves over this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_bridge_shell_edgesADestructive
Create one independent native B-Spline between explicitly selected endpoints of two exact current Solid or Sheet edges while preserving both source bodies. Each reference must pair a current edgeId with one of that edge's returned vertexIds. G0 through G3 continuity is selected independently at the two ends; exact endpoint and tangent read-back is required after the one-step operation.
| Name | Required | Description | Default |
|---|---|---|---|
| first | Yes | ||
| intent | No | ||
| second | Yes | ||
| revision | Yes | ||
| endContinuity | No | G2 | |
| startContinuity | No | G2 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With destructiveHint=true already declared, the description adds real context: both source bodies are preserved, the operation is a single step, and exact endpoint/tangent read-back is required afterward. It does not explain why a body-preserving operation is flagged destructive, but it meaningfully enriches the safety picture beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense but front-loaded sentences with no obvious filler; the core action and the reference-pairing rule come first. The jargon ('native B-Spline', 'read-back') is compact rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, 6-parameter mutation tool with nested objects, 0% schema coverage and no output schema, the description covers the geometry contract well but leaves revision/intent semantics and expected failure modes unexplained. Adequate minimum-viable coverage with clear remaining gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 params, so the description must compensate. It does clarify the nested reference contract ('pair a current edgeId with one of that edge's returned vertexIds') and the independent G0–G3 start/end continuity, but bodyId, revision, and intent are left entirely to the schema's types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Create one independent native B-Spline between ... endpoints of two exact current Solid or Sheet edges') and constrains the inputs to current edge/vertex references. It is largely distinguishable from the curve-oriented siblings, though it never names bridge_curves or bridge_curve_vertices directly, so an agent must infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the description says the operation is a 'one-step' bridge between two edges and requires post-hoc read-back, which suggests when it applies. However, it never states when to choose this over the very similar plasticity_bridge_curves / plasticity_bridge_curve_vertices siblings, nor any exclusion or precondition beyond 'current' edges.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_bridge_surfaceADestructive
Create a native G2 transition surface between boundary sides of two Sheet faces. Pick points and width are millimeters; each pick point must lie on the intended boundary edge.
| Name | Required | Description | Default |
|---|---|---|---|
| first | Yes | ||
| intent | No | ||
| second | Yes | ||
| widthMm | Yes | ||
| revision | Yes | ||
| softness | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation nature is covered. The description adds genuinely useful context (millimeter units, pick-point-must-lie-on-edge constraint) but does not explain what geometry is consumed/created, whether the source sheets are modified, or any auth/rate concerns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, and the core purpose is front-loaded before the units/constraint detail. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, 6-parameter tool with nested object inputs, 0% schema coverage, and no output schema, the description is too thin. It omits revision/softness semantics and gives no sense of the resulting surface or failure modes an agent would need to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 parameters, including nested bodyId/faceId/pickPointMm objects, so the description must carry the burden. It only clarifies widthMm units and the pick-point constraint, leaving revision, softness (a key continuity parameter), intent, bodyId, and faceId entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Create) and a precise resource (a native G2 transition surface between boundary sides of two Sheet faces). The G2 continuity and 'Sheet faces' qualifiers let an agent distinguish it from siblings like plasticity_bridge_curves or plasticity_bridge_shell_edges 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a precondition ('each pick point must lie on the intended boundary edge'), which implies usage context, but never states when to choose this surface tool over alternatives such as plasticity_create_constrained_surface, plasticity_loft_faces, or plasticity_match_faces.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_dcb_mode_i_energyARead-only
Calculate an exploratory Mode-I G_I-versus-crack-length curve from caller-selected DCB crack-growth observations using Modified Beam Theory (MBT). Provide the exact single-material print process, global layer-interface normal, test method, test protocol SHA-256/date, each specimen's measured width/length/arm thickness, at least three strictly increasing observed crack lengths, corresponding positive force and machine-compliance-corrected load-point displacement, source SHA-256 and per-point source locator. Explicitly attest quasi-static linear-elastic behavior. Rows with displacement/crack-length above 0.4 are rejected because large-displacement correction is not implemented. This is not a standards-conformance determination; ASTM D5528 states a scope for unidirectional fiber-reinforced polymer composites. It does not calculate a traction-separation curve, cohesive law, design allowable, or Creality material property; only specimens with caller-confirmed interface failure are marked eligible for same-material interlayer fracture evidence. The tool is read-only and does not persist tests.
| Name | Required | Description | Default |
|---|---|---|---|
| testedAt | Yes | ||
| specimens | Yes | ||
| testMethod | Yes | ||
| materialProcess | Yes | ||
| testProtocolHash | Yes | ||
| displacementEvidence | Yes | ||
| interfaceNormalGlobal | Yes | ||
| linearElasticQuasiStaticEvidence | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/non-destructive, and the description adds substantial behavior beyond them: tests are not persisted, rows exceeding 0.4 displacement/crack-length ratio are rejected because large-displacement correction is unimplemented, and eligibility for interlayer fracture evidence depends on caller-confirmed interface failure. This is rich, decision-relevant disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and constraints are front-loaded, but the body is a single dense run-on paragraph packing attestations, exclusions, and rejection rules together. Given the complexity the length is mostly justified, but the lack of any structural separation makes it harder to scan than it needs to be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity, 8-required-parameter tool with no output schema, nested objects, and 0% schema coverage, the description covers input expectations, eligibility rules, and the nature of the returned curve well. It could still say more about how specimens/points failures surface, but nothing critical to a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it does: it explains the exact single-material print process, global interface normal, test method, protocol SHA-256/date, per-specimen width/length/arm thickness, ≥3 strictly increasing crack lengths, positive force, and machine-compliance-corrected displacement, plus the per-point source locator. It omits semantics for secondary fields like failureLocation enum and infill settings, preventing a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'Calculate an exploratory Mode-I G_I-versus-crack-length curve from caller-selected DCB crack-growth observations using Modified Beam Theory (MBT).' This clearly distinguishes it from the sibling MMB (mixed-mode) and ENF (Mode-II) energy calculators and from the record/match/list DCB tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives strong when-not guidance: 'This is not a standards-conformance determination,' does not produce a traction-separation curve/cohesive law/design allowable, and only marks specimens with caller-confirmed interface failure as eligible. It also states the row rejection rule (displacement/crack ratio above 0.4). It stops short of explicitly naming an alternative sibling to use instead, which would be needed for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_enf_mode_ii_energyARead-only
Calculate an exploratory ENF Mode-II initiation energy from caller-supplied compliance-calibration results. For each specimen provide at least three distinct crack lengths and compliances taken from the inverse initial-linear force-displacement slope, using the same specimen support/loading fixture as the fracture run; provide the measured initial crack and peak force, exact one-material process, global interface normal and perpendicular global ENF shear direction, protocol hash/date, source SHA-256 and locator for each calibration and fracture input, plus explicit linear-elastic/quasi-static and calibration attestations. The tool fits C = A + ma^3 and evaluates G_IIc = 3mPc^2a0^2/(2*b), retaining fit R-squared and each source. It does not interpret raw machine traces, correct compliance, determine ASTM validity, or claim ASTM D7905 conformity (that standard's scope is unidirectional carbon/glass fiber-reinforced laminates; printed PLA is outside the validated scope). This is a read-only exploratory energy estimate, not an R-curve, traction-separation law, cohesive parameter, design allowable or Creality material property; only caller-confirmed layer-interface failures are eligible for same-material interlayer fracture evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| testedAt | Yes | ||
| specimens | Yes | ||
| testMethod | Yes | ||
| materialProcess | Yes | ||
| testProtocolHash | Yes | ||
| complianceEvidence | Yes | ||
| interfaceNormalGlobal | Yes | ||
| interfaceShearDirectionGlobal | Yes | ||
| linearElasticQuasiStaticEvidence | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations supply readOnlyHint=true, destructiveHint=false, openWorldHint=false, so safety is already declared. The description adds substantial non-obvious context: the exact fit form C = A + m*a^3, the G_IIc formula, that fit R-squared and sources are retained, that only layer-interface failures are eligible, and the explicit scope carve-out for ASTM D7905 and R-curves. This goes well beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one long sentence followed by another dense sentence of disqualifiers and a third sentence of scope caveats. It is front-loaded with the core action, which is good, but the run-on sentence style and repeated hedging ('exploratory', 'not a design allowable or Creality material property') reduce readability without adding new operational detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a 9-parameter nested schema, no output schema, and no annotation detail beyond read-only, the description is largely complete: it explains inputs, the computation, what is retained, what is out of scope, and what the result is not. No output schema exists, so it does not need to describe returns, but it could more explicitly state the output is a scalar energy estimate. The current text implies it but doesn't state it plainly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry all parameter meaning. It does: it explains which specimen fields are required, what the compliance values represent (inverse initial-linear slope), the required numeric vectors (interface normal and perpendicular global shear), the protocol hash/date, and per-input source hash/locator. It stops short of mapping every schema field (e.g., orientationDeg, wallLoops), but the critical inputs are covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise verb+resource+scope: 'Calculate an exploratory ENF Mode-II initiation energy from caller-supplied compliance-calibration results.' This clearly distinguishes it from siblings such as calculate_mmb_mode_i_ii_energy, calculate_dcb_mode_i_energy, and record/read/import ENF variants, which handle different test modes or different stages in the workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lays out the prerequisites for calling the tool (at least three crack lengths/compliances, same fixture, measured crack and peak force, global normal/shear vectors, protocol hash/date, source hashes and locators, attestations). It also gives exclusions ('does not interpret raw machine traces, correct compliance, determine ASTM validity'). It doesn't point to a sibling for the preceding steps (e.g., import_enf_mode_ii_energy_csv), but the when/when-not is otherwise clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_fastener_member_strengthB
Calculate and persist a screening scenario for one fastener in axial tension, direct shear, and NASA combined tension-shear interaction. Effective areas, plane count, plane location, loads, and material limits must be explicit and traceable.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| kind | Yes | ||
| loads | Yes | ||
| method | Yes | ||
| evidence | Yes | ||
| geometry | Yes | ||
| material | Yes | ||
| assignments | Yes | ||
| assumptions | Yes | ||
| safetyFactor | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false with destructiveHint=false, so the agent already knows this writes state without destroying anything. The description confirms persistence ('persist a screening scenario') and adds the traceability requirement for inputs, but says nothing about permissions, idempotency, or what happens to previously stored scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two densely packed sentences with no filler; the action and the mode set are front-loaded and the input-traceability constraint follows. Slightly terse for a 10-parameter tool, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter required-only tool with nested objects, zero schema descriptions, and no output schema, the description omits too much: the role of evidence entries, assumptions, assignments, goal, method/kind constants, and safetyFactor semantics are all unexplained. The two sentences cover the mechanical intent but leave an agent guessing at how to populate most of the payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries real weight: it names effective areas, plane count, plane location, loads, and material limits, mapping to tensileStressAreaMm2/shearAreaPerPlaneMm2, shearPlaneCount, shearPlaneLocation, loads, and material limits. However, 10 required top-level parameters exist and goal, kind, method, evidence, assignments, assumptions, and safetyFactor get no explanation of their expected content or structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (calculate and persist) and a clear resource (a screening scenario for one fastener in axial tension, direct shear, and NASA combined tension-shear interaction). It is distinguishable from the many verify_* siblings by the word 'persist' and the explicit three-mode scope, though it never names an alternative directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not guidance, and no routing to siblings such as plasticity_verify_single_fastener_strength, plasticity_calculate_single_fastener_strength, or plasticity_calculate_threaded_receiver_strength. The scenario framing implies a usage context but the agent must infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_heat_set_insert_retentionC
Calculate and persist independent pullout and torque-out screening for one installed heat-set insert. Qualification capacities must match the insert, host, print, pocket, and installation process; simultaneous modes remain conditional.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| kind | Yes | ||
| method | Yes | ||
| demands | Yes | ||
| capacity | Yes | ||
| evidence | Yes | ||
| assignments | Yes | ||
| assumptions | Yes | ||
| safetyFactor | Yes | ||
| configuration | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnly=false, destructive=false, and openWorld=false, so the agent knows this writes state without destroying anything; the description's 'persist' is consistent with that. It adds only marginal nuance ('independent' modes, simultaneous modes conditional) and says nothing about what record is persisted, idempotency, or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose and scope, with no filler. Dense but appropriately sized for a short description, though the second sentence is terse to the point of ambiguity ('remain conditional' on what?).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, deeply nested, mutation-style tool with no output schema and 0% schema coverage, this description is far too thin. It omits what gets persisted, expected return/result shape, parameter-level meaning, and prerequisite/evidence requirements, leaving the agent to infer most invocation semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 10 required nested parameters, so the description must carry the burden and does not. The phrase 'insert, host, print, pocket, and installation process' loosely maps to some configuration fields but leaves goal, kind, method, demands, capacity, evidence, assignments, assumptions, and safetyFactor unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb pair (calculate and persist) and resource (pullout and torque-out screening for one installed heat-set insert), which an agent can distinguish from siblings like calculate_threaded_receiver_strength. It does not name the sibling it should be preferred over, but the scope is clear enough to route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description asserts a precondition ('Qualification capacities must match the insert, host, print, pocket, and installation process') and notes a conditional case ('simultaneous modes remain conditional'), but gives no when-to-use vs alternative guidance relative to the many verify_*/calculate_* siblings. There is no explicit trigger or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_interface_specimen_strengthsARead-only
Calculate nominal peak stress for each directly loaded physical specimen as measured peak force in N divided by measured net cross-section in mm² (N/mm² = MPa). Preserves per-specimen failure location and hashed source locator; only specimens confirmed to fail at the printed interface contribute to the descriptive range, mean and sample standard deviation. Other failures remain individually visible and are excluded; no interface failures yields null summary values. These values are not local interface tractions, design allowables, statistically qualified bounds or a cohesive law.
| Name | Required | Description | Default |
|---|---|---|---|
| specimens | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly, not open-world, non-destructive); the description adds substantial behavioral context: per-specimen failure location and hashed locator are preserved, only interface failures feed the summary, other failures stay visible but excluded, and no interface failures yields nulls. It also preempts misinterpretation by stating these are not tractions, allowables, qualified bounds, or a cohesive law.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the computational definition, then the inclusion/exclusion rule, then the scope caveats. Dense but each clause carries information; the final negation sentence is long yet earns its place as a guardrail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description discloses the returned quantities (range, mean, sample standard deviation, per-specimen visibility, null summaries), so an agent understands both inputs and outputs. Complete enough for a read-only calculation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with a single nested specimens array. The description clarifies that peakForceN and netCrossSectionMm2 drive the ratio and that failureLocation/sourceHash/sourceLocator are carried through, giving real meaning, but it does not document each field's contraints or the enum semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (calculate) and resource (nominal peak stress per directly loaded physical specimen) and even gives the governing formula N/mm² = MPa. It is highly specific about the interface-specimen scope, though it never explicitly names a sibling to contrast with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It defines the domain conditions under which the tool applies (specimens failing at the printed interface) and what is excluded, but offers no explicit when-to-use-vs-alternative routing among the many strength/interface siblings. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_mmb_mode_i_ii_energyARead-only
Calculate an exploratory mixed-mode initiation-energy partition from manually measured MMB critical force, crack length, specimen/fixture geometry, exact one-material process, interface normal and interface-plane shear direction. Requires source hashes/locators for each specimen and measured flexural modulus plus orthotropic E11/E22/G13 evidence with an explicitly confirmed mapping (axis 1 = shear, axis 2 = in-plane transverse, axis 3 = interface normal). Requires the caller to confirm lever self-weight is measured negligible or counterbalanced. Uses the Reeder-Crews beam-theory equations to return Mode-I, Mode-II and total energy-release rates and the Mode-II energy fraction. It does not select initiation from raw test traces, establish ASTM D6671 conformity (printed PLA is outside that laminate standard's validated scope), infer a traction-separation law, qualify material, or authorize design/printing. Only confirmed interface failures are eligible as same-material interface-energy evidence; this read-only estimate is separate from the measured-curve registry and cohesive FEA.
| Name | Required | Description | Default |
|---|---|---|---|
| testedAt | Yes | ||
| specimens | Yes | ||
| testMethod | Yes | ||
| leverWeight | Yes | ||
| flexuralModulus | Yes | ||
| materialProcess | Yes | ||
| testProtocolHash | Yes | ||
| orthotropicModuli | Yes | ||
| axesMappingConfirmed | Yes | ||
| interfaceNormalGlobal | Yes | ||
| interfaceShearDirectionGlobal | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare read-only/non-destructive; the description adds substantial behavioural context: required source hashes/locators, an explicitly confirmed axis mapping, a confirmed lever-weight condition, the Reeder-Crews beam-theory basis, and the returned quantities (Mode-I, Mode-II, total ERR and Mode-II fraction).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and scope, then requirements, then exclusions; every sentence carries information. It is densely packed into long clauses, which slightly hurts readability but not substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, no-output-schema, read-only calculation tool, the description fully covers inputs expected, preconditions, computation method, and returned values, leaving nothing essential for correct invocation unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning; it does well, naming materialProcess, interface normal/shear direction, source hashes and locators, flexural modulus, orthotropic E11/E22/G13, axes mapping, and lever weight. It leaves testProtocolHash, testMethod, testedAt and the individual specimen sub-fields (width, span, lever arm, crack length, criterion) only implicitly covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Calculate an exploratory mixed-mode initiation-energy partition') plus the exact inputs (MMB critical force, crack length, specimen/fixture geometry, one-material process, interface normal and shear direction). It is immediately distinguishable from the DCB Mode-I, ENF Mode-II, and cohesive-FEA siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly scopes what the tool is not for ('does not select initiation from raw test traces, establish ASTM D6671 conformity, infer a traction-separation law, qualify material, or authorize design/printing') and positions it against the measured-curve registry and cohesive FEA. It also states eligibility ('Only confirmed interface failures are eligible').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_rectangular_strength_from_coupon_dataA
Calculate axial-tension or rectangular-cantilever scenarios using Young's modulus copied from an exact printer/material/profile/orientation coupon record. Tensile allowable, and for cantilevers compressive allowable, must be separately evidenced. Raw coupon strengths are never mapped to allowables. Process suitability remains unconfirmed; no-match or ambiguity returns without saving a calculation.
| Name | Required | Description | Default |
|---|---|---|---|
| process | Yes | ||
| scenario | Yes | ||
| allowables | Yes | ||
| allowablesBasis | Yes | ||
| effectiveSection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=false) indicate a non-destructive write. The description adds genuinely new behavioral context beyond annotations: raw coupon strengths are never mapped to allowables, and no-match or ambiguity returns without saving. That failure-mode persistence behavior is not derivable from the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences that front-load the verb and the required coupon-data dependency. Dense but each sentence carries distinct semantics; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should ideally convey what a successful calculation produces or persists. It notes the no-save-on-failure case but never describes the successful result format, and the heavily nested input is only partially addressed. Adequate but with a clear gap for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% with five nested top-level parameters, so the description carries a heavier burden. It clarifies semantics for allowables (tensile, and compressive for cantilevers, must be separately evidenced) and constrains the allowablesBasis intent, but leaves process, scenario, and effectiveSection structurally unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states a specific verb (calculate) and resource (rectangular axial-tension or cantilever strength derived from coupon data). It is distinguishable from the tongue-root and generic calculate_strength siblings, though the exact 'rectangular' object of analysis is implied via the name rather than spelled out in the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the prerequisite context (an exact printer/material/profile/orientation coupon record and separately evidenced allowables), which is useful usage guidance. However it never explicitly names when to prefer this over siblings like plasticity_calculate_strength or plasticity_calculate_tongue_root_strength_from_coupon_data, so selection still requires inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_section_strengthC
Calculate and persist a labelled planar-section scenario. Caller-supplied geometry remains unverified and any supplied CAD binding is removed.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| kind | Yes | ||
| frame | Yes | ||
| loops | Yes | ||
| method | Yes | ||
| binding | No | ||
| evidence | Yes | ||
| material | Yes | ||
| properties | Yes | ||
| assignments | Yes | ||
| assumptions | Yes | ||
| freeMoments | Yes | ||
| pointForces | Yes | ||
| safetyFactor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only declaring write/not-destructive/not-open-world, the description adds genuine behavioral context: it says the operation persists state and that caller geometry 'remains unverified' while any CAD binding is 'removed'. That is useful, non-obvious disclosure about side effects. It stops short of explaining validation failure modes or what persistence implies for later reads.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences with no filler; the primary action leads and the side-effect caveat follows. Efficient given the space allotted, though it could have spent a sentence on parameter guidance instead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter, nested, write operation with no output schema and no per-parameter help, the description is far too thin. It covers only two behavioral facts and leaves the agent with no guidance on the elaborate input contract, which is the tool's main source of invocation error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 14 parameters (12 required, deeply nested), and the description adds nothing about any of them. An agent gets no explanation of how to supply geometry, evidence, material, or assignments. This is a severe compensation failure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific compound verb ('calculate and persist') and a defined resource ('a labelled planar-section scenario'), which distinguishes it from siblings like plasticity_inspect_planar_section (read-only inspection) and plasticity_verify_section_strength. It does not, however, explicitly name or contrast any sibling, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many section-strength siblings (verify_section_strength, scan_section_strength, inspect_planar_section, calculate_strength). Usage is only implied by the word 'calculate'; no prerequisites, alternatives, or exclusion conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_single_fastener_strengthC
Calculate and persist bearing, loaded-edge shear-out and net-section tension for one caller-described through fastener. Caller CAD bindings are removed.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| kind | Yes | ||
| loadN | Yes | ||
| method | Yes | ||
| binding | No | ||
| evidence | Yes | ||
| geometry | Yes | ||
| material | Yes | ||
| assignments | Yes | ||
| assumptions | Yes | ||
| safetyFactor | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write/read profile (readOnlyHint=false, destructiveHint=false), and 'persist' is consistent with that. The description adds one genuine behavioral fact beyond the annotations: that caller CAD bindings are removed, i.e. the operation does not retain the binding. However this is vague (removed from where, and is it recoverable?) and nothing is said about auth, rate, or what gets written.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, and the scope/behavior split is front-loaded with the calculation targets first. Appropriately tight, though for an 11-parameter nested schema the terseness edges toward under-specification rather than elegance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 required nested parameters, 0% schema coverage, no output schema, and heavy sibling overlap, the description is far too thin — an agent learns the arithmetic result it computes but nothing about the required inputs (kind/method constants, binding tokens, evidence, safetyFactor) or what is persisted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters (10 required, deeply nested: binding, geometry, material/manufacturing, evidence, assumptions). The description names no parameter, no unit convention, and no required-vs-optional distinction, so it compensates for none of the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb pair (calculate and persist) plus three named failure modes (bearing, loaded-edge shear-out, net-section tension) and scopes to one through fastener. That is clear and evidence-rich, but it never distinguishes this tool from the very similar sibling plasticity_verify_single_fastener_strength, so the agent is left to infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus the many adjacent strength tools (verify_single_fastener_strength, calculate_fastener_member_strength, inspect_single_fastener_plate). No prerequisites, no exclusions, no triggering context beyond the implied 'you have a single-fastener plate problem'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_strengthC
Calculate and persist a labelled scenario from caller-supplied dimensions. A supplied CAD binding is not treated as verified geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| forceN | No | ||
| method | Yes | ||
| binding | No | ||
| widthMm | No | ||
| evidence | Yes | ||
| heightMm | No | ||
| lengthMm | No | ||
| material | Yes | ||
| assignments | Yes | ||
| assumptions | Yes | ||
| pressureMPa | No | ||
| poissonRatio | No | ||
| safetyFactor | No | ||
| maxDisplacementMm | No | ||
| effectiveLengthFactor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, aligning with 'persist'. The description adds real behavioral content beyond the annotations: the scenario is persisted, and a supplied CAD binding 'is not treated as verified geometry' — an important caveat about how that input is trusted. It does not explain permissions, replay, or side effects of persistence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no filler, and the persist-then-binding-caveat ordering is sensible. Brevity is appropriate, though the second sentence earns its place more than the first's vague phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter tool with deeply nested objects, a method enum, 6 required fields, and no output schema, two sentences are far too thin. The agent gets no orientation on how method, material, evidence, assignments, and assumptions relate or what the result represents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 16 parameters (method enum with 4 formulas, nested evidence/material/assumptions structures, dimensions), yet the description explains almost none of them. It only gestures at 'caller-supplied dimensions' and the binding caveat, leaving the 6 required params and the method selection undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a verb (calculate and persist) and a resource, but 'a labelled scenario' is vague jargon that doesn't clearly say it runs a strength/member calculation. It does partially distinguish itself from the many verify_* siblings by the calculate+persist framing, but an agent can't confidently tell what it produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus the numerous verify_*/calculate_* strength siblings, nor any prerequisite or triggering condition. The reader must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_threaded_receiver_strengthA
Calculate and persist axial stripping and tensile-failure checks for one tapped hole, nut, or threaded insert. All three allowable loads, engagement, fully formed thread count, load, and evidence must be explicit; nominal M size alone never supplies capacity.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| kind | Yes | ||
| loads | Yes | ||
| method | Yes | ||
| capacity | Yes | ||
| criteria | Yes | ||
| evidence | Yes | ||
| assignments | Yes | ||
| assumptions | Yes | ||
| safetyFactor | Yes | ||
| configuration | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a write operation (readOnlyHint=false) with destructiveHint=false, and 'persist' is consistent with that. The description adds a genuine behavioral constraint (explicit inputs required, nominal size insufficient) beyond the annotations, but says nothing about failure modes, error behavior, or what gets written.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the core action is front-loaded. The second sentence is dense but each clause adds real constraint information, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity tool with 11 required, nested, entirely undocumented parameters and no output schema, the description covers only part of the surface. The roles of method, criteria, safetyFactor, assignments, and assumptions — all required — are never addressed, leaving an agent to guess at the contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 required parameters, so the description must carry the burden. It names and semantically clusters five of them in prose (three allowable loads, engagement, complete thread count, load, evidence), but leaves goal, method, criteria, safetyFactor, assignments, and assumptions entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb pair (calculate and persist), a specific resource (axial stripping and tensile-failure checks), and a tightly bounded scope (one tapped hole, nut, or threaded insert). This distinguishes it from the many sibling strength/verify tools without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a strong precondition ('all three allowable loads, engagement, fully formed thread count, load, and evidence must be explicit; nominal M size alone never supplies capacity') that implies when the tool is appropriate. However, it never names an alternative tool or explicitly states when-not to use it, so routing against siblings like plasticity_verify_single_fastener_strength is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_tongue_root_strengthB
Calculate and persist a root-only screening scenario for a rectangular tongue under transverse point load. Requires traceable geometry, load, orientation-matched effective material properties, allowables, shear correction factor, safety factor, and deflection limit. A result never validates the complete tongue-and-groove joint.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| kind | Yes | ||
| loads | Yes | ||
| method | Yes | ||
| binding | No | ||
| evidence | Yes | ||
| geometry | Yes | ||
| material | Yes | ||
| assignments | Yes | ||
| assumptions | Yes | ||
| safetyFactor | Yes | ||
| maxDeflectionMm | Yes | ||
| shearCorrectionFactor | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations establish non-read-only and non-destructive behavior, and the description adds important context by saying it persists results and produces only a root-level screening result that never validates the complete joint. It still does not describe what a persisted result contains, permissions required, or side effects beyond persistence, but it goes beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is three compact sentences, front-loaded with the core action and scope, then requirements, then the key limitation. Every sentence carries information, though the middle sentence is dense and could be easier to scan with structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex calculation tool with 13 parameters, nested inputs, no output schema, and only basic annotations, the description is only a high-level overview. It says what the tool is for and lists broad input categories, but it leaves many required input structures unexplained and gives no sense of the result format or persisted output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for a 13-parameter, deeply nested input, so the description carries the full burden. It mentions geometry, load, orientation-matched material properties, allowables, shear correction factor, safety factor, and deflection limit, but it omits many parameters such as kind, goal, method, evidence, assignments, assumptions, and binding. The added meaning is useful but insufficient to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (calculate and persist) and a precise resource (a root-only screening scenario for a rectangular tongue under transverse point load). It also distinguishes the scope from a complete tongue-and-groove joint validation, but it does not explicitly name or differentiate from sibling tools such as verify_tongue_root_strength or calculate_tongue_root_strength_from_coupon_data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'root-only screening scenario' and 'A result never validates the complete tongue-and-groove joint' imply when the tool is appropriate and when it is not. However, no alternative sibling tool is named, so the agent must infer whether to use this calculation, the verification tool, or the coupon-data variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calculate_tongue_root_strength_from_coupon_dataA
Resolve one exact physical coupon record by printer/material/profile hash/orientation/infill percentage and pattern/wall loops/top-bottom shell layers/temperature, copy only its measured Young's and shear moduli plus source evidence, and calculate a labelled tongue-root scenario. Tensile and shear design allowables must still be supplied with independent evidence and an applicability basis. No-match or ambiguity returns without saving a calculation; material suitability remains unconfirmed, so this cannot produce a pass.
| Name | Required | Description | Default |
|---|---|---|---|
| process | Yes | ||
| scenario | Yes | ||
| allowables | Yes | ||
| allowablesBasis | Yes | ||
| effectiveSection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, and the description adds real context: a match saves a calculation while a no-match/ambiguity aborts without saving, material suitability stays unconfirmed, and the tool cannot emit a pass. That aligns with and enriches the write-permitting annotation. It stops short of describing persistence side effects or auth/permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and followed by prerequisite and failure semantics. The first sentence is long and dense, but every sentence earns its place and nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity calculation tool with a large nested schema and no output schema, the description covers the workflow and failure behavior but leaves much of the input contract (scenario fields, effectiveSection meaning) and any notion of the returned/saved artifact unexplained. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema is deeply nested, so the description carries the burden. It usefully enumerates the coupon-matching keys (printer/material/profile hash/orientation/infill percent and pattern/wall loops/top-bottom shell layers/temperature) and the allowables requirement, which partially compensates. But the entire scenario sub-tree (binding, evidence, geometry, loads, assignments, assumptions, safety factors) and the effectiveSection enum are undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: resolve an exact physical coupon record by a well-enumerated key set, copy measured Young's/shear moduli, and calculate a labelled tongue-root scenario. This is far more specific than the bare name. However, it does not explicitly distinguish itself from siblings like plasticity_calculate_tongue_root_strength (non-coupon) or plasticity_verify_tongue_root_strength_from_coupon_data, so the 'from_coupon_data' variant boundary is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the tool requires an exact coupon match and externally supplied tensile/shear allowables with an independent basis. The failure condition ('no-match or ambiguity returns without saving') is a useful guard, but no alternative sibling is named and no explicit 'use this instead of X when Y' guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_calibrate_turon_mixed_mode_lawARead-only
Fit a candidate Code_Aster CZM_TURON ETA_BK only from immutable measured Mode-I DCB, Mode-II ENF and at least two distinct-ratio MMB test records for one same-material printed-layer interface and its exact single print process; different-material bond tests are rejected. Each testMethod must explicitly identify DCB, ENF or MMB. Rejects missing curves, non-interface failure, conflicting exact-setup records or mismatched processes/interface normals. Returns measured pure-mode peak tractions and per-MMB energy residuals for engineering review. It does not identify the initial stiffness K, qualify a cohesive law, authorize FEA, establish a design allowable or approve a part.
| Name | Required | Description | Default |
|---|---|---|---|
| modeIRecordId | Yes | ||
| modeIIRecordId | Yes | ||
| mixedModeRecordIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare it a safe read (readOnlyHint=true, no writes/open-world), but the description adds substantial behavioral context beyond that: rejection rules, the exact-setup/interface-normal consistency checks, the returned quantities (peak tractions and per-MMB residuals), and an explicit list of non-capabilities (does not identify K, qualify the law, authorize FEA, establish allowables, or approve a part). This is rich disclosure that goes well past the annotations and is internally consistent with them (a computation that returns results for review, not a persisted write).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the opening clause before any constraints, and each subsequent sentence (format rule, rejection conditions, return values, non-capabilities) earns its place. It is dense and jargon-heavy, but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description appropriately explains what is returned (pure-mode peak tractions and per-MMB energy residuals). Combined with the input preconditions and the explicit non-capabilities, an agent has everything needed to decide to call it and interpret its scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry meaning, and it does: modeIRecordId maps to the DCB record, modeIIRecordId to the ENF record, and mixedModeRecordIds to 'at least two distinct-ratio MMB' records, matching the minItems=2 constraint. It does not restate the 64-hex-hash format (which the schema pattern already enforces), but the semantic role of each parameter is well conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb and artifact: 'Fit a candidate Code_Aster CZM_TURON ETA_BK' from specific measured test records. This is unmistakably distinct from sibling tools like plasticity_calculate_mmb_mode_i_ii_energy (computes energy) or plasticity_analyze_cohesive_interface, and the scope constraints (same-material printed-layer interface, single process) further sharpen its identity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives strong when-to-use/when-not conditions: requires immutable measured DCB, ENF and at least two distinct-ratio MMB records, and rejects different-material bond tests, missing curves, non-interface failure, conflicting setups and mismatched processes/normals. The one gap is that it never names an alternative tool to reach for when these preconditions fail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_callPlasticity tool catalog and dispatcherADestructive
Browse the bounded catalog of registered Plasticity MCP operations or invoke one by its exact tool name. Use toolName='catalog' with query/offset/limit to read descriptions and JSON input schemas; set toolName to a returned operation name and pass its arguments object to invoke it. Only registered MCP operations are callable; the selected operation's original Zod schema and safety checks are applied. This is not JavaScript execution.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| offset | No | ||
| toolName | No | catalog | |
| arguments | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and openWorldHint=true, and the description complements this by clarifying the catalog is 'bounded', only registered MCP operations are callable, the selected operation's original Zod schema and safety checks are applied, and it is 'not JavaScript execution'. That last point usefully closes off a plausible misinterpretation, though it does not describe what an invocation returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences with the core operation stated first, then the two usage modes, then the safety framing. No filler, no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a dispatcher with a nested free-form 'arguments' object, no output schema, and 0% schema description coverage, the description covers the essential contract: how to browse, how to invoke, and that safety checks are enforced. It could still say what a successful invocation returns or how an invalid toolName is reported.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden, and it maps the parameters well: toolName selects 'catalog' or an operation name, query/offset/limit drive catalog browsing, and arguments is the target operation's argument object. It adds real meaning over bare type declarations, though limit/offset pagination semantics are only implied by the schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource pair: 'Browse the bounded catalog of registered Plasticity MCP operations or invoke one by its exact tool name.' This cleanly separates the dispatcher role from every sibling in the list, which are the individual operations it would dispatch to.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete usage mechanics: use toolName='catalog' with query/offset/limit to read schemas, then set toolName to a returned operation name and pass its arguments. What is missing is guidance on when to route through this dispatcher versus calling a sibling tool (e.g. plasticity_create_circle) directly, which is the primary decision an agent faces.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_capabilitiesARead-only
Page through native renderer bindings found in Plasticity 26.1.3. Defaults to 100 bindings per page; filter by case-insensitive substring with query. Returns total and matching counts plus nextOffset so large binding lists do not flood MCP context.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so safety is covered. The description adds genuinely useful behavior beyond that: a 100-item default page size, case-insensitive matching, the returned total/matching counts and nextOffset, and the rationale that pagination exists to avoid flooding MCP context. It stops short of noting rate limits or ordering guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences that are front-loaded with the purpose before the paging/filter details. Every clause earns its place, though the single second sentence stacks four facts and could be marginally clearer if split.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description helpfully states the return shape (total and matching counts plus nextOffset). All parameters are optional and the safe-read profile is covered by annotations. A brief note on result ordering or what a binding entry looks like would make it fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It explains limit (defaults to 100 per page) and query (case-insensitive substring), but offset is only implied through the returned nextOffset rather than being described as an input control, and the 250/200 bounds aren't mentioned. Partial compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (page through) and resource (native renderer bindings in Plasticity 26.1.3), and the version anchor makes the scope concrete. It clearly distinguishes itself from the CAD-modeling siblings, though it never explicitly names a counterpart. The purpose is only slightly fuzzy because an agent may not know why it would want renderer bindings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the mechanics of paging and substring filtering, which implies the usage (browse/discover bindings in a controlled way). It does not state when to reach for this tool versus e.g. plasticity_call or plasticity_status, and no alternative is named. Implied usage only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_cap_sheet_holesBDestructive
Cap every planar open boundary of one or more native Sheet bodies in one history step.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation/safety profile is covered. The description adds useful context ('native Sheet bodies' only, 'one history step' for undo granularity) but omits whether new faces replace or add geometry and what the result state looks like. Modest value beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the key scope constraint front-loaded. No wasted words, though it is terse enough to leave gaps rather than being a model of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and 0% schema coverage, the description gives the operation but not the required 'revision' token handling, the optional 'intent', or the return state. Annotations cover safety, so it is not dangerously incomplete, but a caller lacks enough to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 3 parameters. The phrase 'one or more native Sheet bodies' partially maps to the ids parameter, but 'revision' (required) and 'intent' are entirely undocumented in both schema and description. The description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Cap'), resource ('planar open boundaries of native Sheet bodies'), and scope ('every ... in one or more'). An agent understands the intended operation. However, it does not name or contrast with the close sibling plasticity_patch_sheet_hole, so the differentiator must be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or exclusion. The description implies capping is for open boundaries, but it never says when to prefer this over plasticity_patch_sheet_hole, plasticity_patch_regions, or plasticity_extend_sheet_edges. The choice is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_capture_snapshotARead-only
Capture an in-memory scene baseline before manual edits. Returns only the snapshot ID, document/revision identity and object counts; use that ID with plasticity_changes_since or plasticity_wait_for_change.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, and the description does not contradict them — the snapshot is an in-memory baseline read of the scene, not a mutation. It adds real value by describing the payload scope ('returns only the snapshot ID, document/revision identity and object counts'), which compensates for the absent output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, with the action and its purpose front-loaded and the follow-up usage trailing. No filler or repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully summarizes what is returned, and annotations cover the safety profile, so an agent has what it needs to call and chain the tool. The only gap is the undocumented 'label' parameter, a minor omission for a 0-required-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single optional 'label' parameter has 0% schema description coverage and is never mentioned in the description, so no semantics are added. Impact is limited because the parameter is optional and self-explanatory, which keeps this at the minimum-viable baseline rather than lower.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Capture an in-memory scene baseline') with an explicit scope and timing condition ('before manual edits'). It also names the downstream consumers (plasticity_changes_since, plasticity_wait_for_change), so an agent immediately understands this tool's role in the workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'before manual edits' states the intended moment to call it, and the second sentence tells the agent what to do with the returned ID, effectively routing to the two companion tools. There is no explicit when-not-to-use or statement of alternatives to this specific tool, but the workflow context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_chamferCDestructive
Chamfer current edge IDs by an equal distance in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| edgeIds | Yes | ||
| revision | Yes | ||
| distanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=false, so the safety profile is covered. The description adds only that the chamfer is uniform ('equal distance'), and says nothing about whether the operation is revertible, how revision conflicts are handled, or what happens to the original edge geometry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb, resource, and magnitude; nothing is wasted. It is arguably too short rather than too long, but the structure itself is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation tool with 5 parameters at 0% schema coverage and no output schema needs more than one sentence. An agent cannot tell what revision means, what intent does, or what a successful result looks like, so the definition is under-specified for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, so the description must compensate and largely fails. It implies distanceMm and edgeIds but leaves id, intent, and especially revision (a required string with no explanation of its purpose or conflict semantics) entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific modeling verb (Chamfer) against a specific resource (edge IDs) with a defined magnitude (equal distance in mm). The phrase 'current edge IDs' is slightly awkward, and it does not distinguish chamfering from the sibling operations plasticity_fillet / plasticity_refillet_faces, but the core action is identifiable 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to chamfer versus fillet, no prerequisite that the edges exist or that a revision/ID must be current, and no mention of the destructive nature relative to alternatives. The only implicit guidance is that edge IDs must already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_changes_sinceARead-only
Return a structured diff from a captured scene baseline. Exact changed-body B-Rep descriptors are summarized and paginated (bodyOffset default 0, bodyLimit default 20, maximum 100); follow bodyPagination.nextOffset with expectedRevision set to current.revision. Use plasticity_body_info for detailed topology of selected bodies. The diff also reports sketch Regions, construction planes, materials, visibility, instances, groups, and selection. Check sceneChanged for a reportable scene edit; revisionChanged can be true without a reportable scene diff.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyLimit | No | ||
| bodyOffset | No | ||
| snapshotId | Yes | ||
| expectedRevision | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description goes further by disclosing pagination mechanics (bodyOffset default 0, bodyLimit default 20, max 100), the optimistic-revision contract, and the subtle sceneChanged vs revisionChanged distinction. That is real behavioral context an agent could not infer from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the core purpose leads, then pagination instructions, then the companion tool, then the reporting caveat. Every sentence carries information, though the enumeration of diffed categories is long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of describing the return payload (changed-body B-Rep descriptors plus regions, planes, materials, visibility, instances, groups, selection), which is substantial. Remaining gap is minor: no error/expiry behavior and only implicit explanation of how the baseline snapshot is identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning, and it does for three of four: bodyOffset/bodyLimit defaults and maximum, and expectedRevision tied to current.revision. snapshotId is only implicitly described as the 'captured scene baseline', leaving its exact format/relationship to capture_snapshot unstated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return a structured diff from a captured scene baseline') and enumerates the diffed categories, so an agent can distinguish it from sibling inspection tools. It also explicitly routes topology-level detail to plasticity_body_info rather than leaving the boundary implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete operating guidance: follow bodyPagination.nextOffset with expectedRevision set to current.revision, and use plasticity_body_info for detailed topology of selected bodies. It also tells the agent to check sceneChanged for a reportable edit. It stops short of stating explicit when-not conditions or the snapshot prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_check_fastener_group_layoutARead-only
Measure and optionally check a fastener group on one exact rectangular planar face. Returns center-to-edge and hole-edge distances, every pair's center spacing and remaining ligament, plus clearance for supplied circular head, washer, nut, or driver envelopes. Optionally provide opposedFaceId to verify the matching perforated opposite face and exact native B-rep plate thickness. A pass is returned only when explicit layout requirements with a recorded basis are supplied. Geometry verification remains a layout check, not a strength or tool-motion analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| frame | Yes | ||
| bodyId | Yes | ||
| revision | Yes | ||
| requirements | No | ||
| opposedFaceId | No | ||
| boundaryFaceId | Yes | ||
| cylindricalFaceIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond that: the metrics returned, the requirement that a 'recorded basis' be supplied for an explicit pass, and the explicit limitation that this is a layout check rather than strength or tool-motion analysis.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and then returns in the second sentence, with the conditional-pass rule and scope disclaimer after. Four dense sentences, each adding information; no filler or restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 7 parameters at 0% schema description coverage, the description compensates reasonably by describing the returned distances/clearances and pass conditions. But it leaves several required parameters (bodyId, frame, revision, cylindricalFaceIds) unexplained and gives no return shape, so an agent still faces real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it covers only part of it: opposedFaceId, the requirements/basis gating, and the envelope concept (head, washer, nut, driver). It says nothing about bodyId, revision, frame, boundaryFaceId semantics, or cylindricalFaceIds, leaving several required parameters unintroduced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Measure and optionally check a fastener group on one exact rectangular planar face') and closes by scoping itself out of strength and tool-motion analysis, which distinguishes it from siblings like verify_fastener_group_load and calculate_fastener_member_strength. Clear enough to select without opening the schema, though it never names a direct alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives conditional guidance for parameters ('Optionally provide opposedFaceId to verify...', 'A pass is returned only when explicit layout requirements with a recorded basis are supplied'), which tells the agent when a pass verdict is meaningful. However it never states when to prefer this tool over inspect_fastener_group or the verify_* siblings, so tool selection remains inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_check_fastener_stackARead-only
Check whether the nominal length in an ISO metric screw or bolt designation fits an explicit clamped stack and either a nut or threaded receiver. All layers, nut/washer envelope, engagement, tip clearance, and the product's under-head versus overall length datum remain explicit inputs. This deterministic check does not claim strength, preload, access, fit, or thread-stripping capacity.
| Name | Required | Description | Default |
|---|---|---|---|
| receiver | Yes | ||
| gripItems | Yes | ||
| designation | Yes | ||
| headAxialLengthMm | No | ||
| lengthMeasurement | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/openWorldHint=false/destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond them: it is deterministic, it treats every layer/envelope/engagement/tip-clearance/datum value as a caller-supplied explicit input (no implicit defaults assumed), and it enumerates what the result explicitly does NOT assert. That is useful disclosure, though it says nothing about failure modes or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and followed by the input-policy and boundary clauses. Every sentence carries information, though the second sentence is dense and slightly awkwardly phrased ('remain explicit inputs'), keeping it just short of a clean 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a 5-parameter schema including a two-branch oneOf receiver, 4 required params, and no output schema, the description is thin: it correctly avoids explaining return values but does not clarify the designation input format or how nut vs threaded receivers change required inputs. The stated scope boundary is the main thing keeping it at minimum-viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does: 'clamped stack' maps to gripItems, 'nut/washer envelope, engagement, tip clearance' maps to the nut/threaded receiver variant fields, and 'under-head versus overall length datum' maps to lengthMeasurement. It still leaves the designation string format and the broader receiver oneOf branches undocumented, so coverage remains incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Check whether the nominal length ... fits an explicit clamped stack') with a precise scope (ISO metric screw/bolt designation, nut or threaded receiver). The closing negative clause ('does not claim strength, preload, access, fit, or thread-stripping capacity') cleanly separates it from the many strength-verification siblings without needing to name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the phrase 'explicit inputs' and the deterministic scope note tell the agent this is a pure length/fit check, and the negative clause hints at when-not (anything strength-related). However, it never explicitly names alternatives like measure_fastener_grip_stack or resolve_fastener_designation, nor the condition selecting them, so guidance stays at implied level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_check_interferenceARead-only
Check explicit pairs of current Solid bodies for exact volumetric interference by intersecting native B-Rep clones in a temporary database. The check does not change the document or Undo history. A no-volumetric-interference result does not distinguish touching from separation and is not a minimum-clearance measurement.
| Name | Required | Description | Default |
|---|---|---|---|
| pairs | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds valuable behavioral detail: it operates on native B-Rep clones in a temporary database, does not affect the document or Undo history, and clarifies that a negative result does not distinguish touching from separation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The three sentences are tightly structured: purpose first, behavior second, and result limitation third. Every sentence adds useful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only check operation with annotations covering safety and no output schema, the description gives strong behavioral context and clearly bounds the meaning of results. It remains incomplete on parameter semantics, especially the revision input and pair identifier format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two required parameters. The description mentions 'pairs' and 'current Solid bodies,' which somewhat maps to the pairs parameter, but it provides no explanation of body ID semantics, pair structure, maximum pair count, or the required revision parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: checking explicit pairs of current Solid bodies for exact volumetric interference. It also distinguishes this from adjacent measurement concepts by explicitly stating it is not a minimum-clearance measurement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly implies usage for exact volumetric interference and explicitly excludes minimum-clearance interpretation, giving useful context for selecting the tool. However, it does not name sibling alternatives or provide explicit when-not conditions beyond the clearance caveat.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_cohesive_fem_reportARead-only
Read a persisted cohesive-interface solver report by ID and report whether its saved CAD session, document, body, revision, immutable interface test, and exact-process coupon records still match current evidence. The saved output remains a raw solver response with mesh-screening diagnostics; it never establishes strength or print approval.
| Name | Required | Description | Default |
|---|---|---|---|
| reportId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds real context beyond them: it performs a staleness/consistency check against current evidence, returns a 'raw solver response with mesh-screening diagnostics', and explicitly disclaims that it 'never establishes strength or print approval'. That last point is a meaningful guardrail for downstream reasoning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, then the caveat about what the output is not. The enumeration of verified record types is dense but each item carries substantive meaning. No filler, though the sentence is long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of describing what is returned, and it does: a matching-status determination plus raw solver output with mesh-screening diagnostics and an explicit non-certification caveat. Annotations cover the read-only safety profile. It is complete enough to call correctly; only ID provenance is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter at 0% schema description coverage. The description only says 'by ID', which maps to reportId but adds nothing about format, sourcing, or how a valid ID is obtained. The schema supplies the UUID format/pattern, but the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Read a persisted cohesive-interface solver report by ID'. It also describes the salient output behavior (reporting whether saved records still match current evidence), which is more than a restatement of the name. It does not explicitly name how it differs from the similarly-named sibling plasticity_static_fem_report, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is for retrieving an already-persisted cohesive report when it has an ID. There is no explicit statement of when to use this versus plasticity_static_fem_report, plasticity_analyze_cohesive_interface, or the comparison report tool, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_combine_material_coupon_dataA
Explicitly consolidate 2–8 compatible immutable physical coupon records for one exact single-material print process. It combines only non-conflicting measured properties and their source evidence; it never averages or infers values. Supply specimenCount as the caller-confirmed number of unique physical specimens across all source records. The result is a new immutable record with composedFromRecordIds, and can be used for exact-process matching and FEA binding. Different processes, conflicting values or print frames are rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| recordIds | Yes | ||
| specimenCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare a non-destructive write in a closed world; the description adds substantive semantics beyond that: it never averages or infers values, only non-conflicting properties are merged, conflicts cause rejection, and the output is a new immutable record carrying composedFromRecordIds. These are behavior rules an agent could not infer from the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded, leading with the action and its scope before the specimenCount instruction and the outcome. Five sentences is close to the useful maximum; a sentence explaining FEA/exact-process reuse is informative but the most expendable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still states the return value (a new immutable record with composedFromRecordIds) and the usable downstream purposes. Combined with the rejection rules and the specimenCount explanation, nothing essential for a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load: it explains that specimenCount is the caller-confirmed count of unique physical specimens across all source records, which the schema only types as an integer. It also conveys that recordIds is a set of 2–8 coupon identifiers to be merged, though it leaves the id format to the schema pattern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('consolidate ... coupon records') and pins the scope with hard constraints: 2–8 records, one exact single-material print process. This is clearly distinguishable from sibling operations such as match_/list_/record_material_coupon_data, which do not merge records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit preconditions for use (compatible immutable coupon records, single material, single print process) and names rejection cases (different processes, conflicting values, differing print frames). It does not explicitly route the agent to an alternative sibling when those preconditions fail, so it stops 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.
plasticity_compare_static_fem_refinement_reportsARead-only
Compare 2–4 saved static FEA reports from the same CAD revision, body, supports, loads, material evidence and native geometry. It merges only byte-identical repeated mesh hashes with matching solver results, then reports sampled stress/displacement trends across the combined levels. If all inputs share a directly traceable factored von Mises allowable, returns its raw peak screen; if they share all nine orthotropic factored directional allowables, returns the material-local componentwise maximum-stress screen. The orthotropic screen assumes one homogeneous continuum; it does not model layer interfaces, delamination or different-material joints. Both omit unresolved failure modes and are diagnostic only, not convergence estimates, strength verdicts or print approval. CAD or material evidence freshness is reported separately.
| Name | Required | Description | Default |
|---|---|---|---|
| reportIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/non-destructive annotations: it discloses the merge rule, the two conditional screen outputs and their preconditions, the homogeneous-continuum assumption (no layer interfaces, delamination or mixed-material joints), and explicit limits ('diagnostic only, not convergence estimates, strength verdicts or print approval'). This is unusually rich behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded, leading with purpose before the merge mechanics and caveats. Most sentences carry distinct load-bearing detail, though the allowable-screen paragraph is long and could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still explains what comes back: sampled stress/displacement trends across combined levels, plus either the raw peak screen or the componentwise maximum-stress screen, and separately reported CAD/material evidence freshness. Nothing an agent needs to invoke or interpret the result is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, reportIds, and the schema carries no descriptions (0% coverage). The description compensates by stating the 2–4 cardinality and that inputs must be saved reports from one CAD revision, but it never explains the ID format (36-char UUID pattern) that the schema enforces silently.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a precise verb+resource+cardinality: 'Compare 2–4 saved static FEA reports from the same CAD revision...'. It enumerates the matching dimensions (body, supports, loads, material evidence, native geometry) and distinguishes itself from report-producing siblings like plasticity_static_fem_report by being explicitly a comparison/merge tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the prerequisites for valid use (same CAD revision, body, supports, loads, material evidence and native geometry) and what merging requires (byte-identical mesh hashes with matching solver results). It does not name an alternative tool or say when not to use this one, so it falls short of explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_connectADestructive
Connect this MCP process to one explicit Plasticity window and return its compact initial scene summary. Body bounds/counts are paginated; use plasticity_body_info for exact topology of a selected body.
| Name | Required | Description | Default |
|---|---|---|---|
| targetId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, so the safety profile is partly covered. The description adds that the initial scene summary is compact and that body bounds/counts are paginated, but never explains what 'connect' does to any existing connection/lifecycle state — which the destructive hint implies matters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the primary action and its result, then the sibling routing. Nothing wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does supply a return summary and a pagination caveat. But for a connection-establishing tool with a required, undocumented parameter, it omits the target identifier format and any connection lifecycle/replacement behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required targetId. The phrase 'one explicit Plasticity window' implies targetId identifies a window, which is some added meaning, but the accepted format (id vs name) and the 'one window at a time' constraint are left unstated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: connecting the MCP process to one explicit Plasticity window, plus the return value (compact initial scene summary). This clearly distinguishes it from siblings like plasticity_list_windows, plasticity_status, or plasticity_call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to plasticity_body_info when exact body topology is needed, and warns that body bounds/counts are paginated. It does not, however, say when to prefer connect over plasticity_list_windows or plasticity_status, so the alternative routing is only partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_construction_historyARead-only
Read the private local construction-event history, including operation inputs, outcomes and compact added/removed/modified B-Rep measurements. History survives MCP restarts and does not require a connected Plasticity window. Use offset/limit for paging; records are historical and never authorize replay.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the bar is lower, yet the description still adds substantive context: the history is private and local, survives MCP restarts, works without a connected Plasticity window, and records are historical and never authorize replay. That last point meaningfully closes off an incorrect replay interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with what is read, followed by the persistence/lifecycle conditions, then paging. No filler or restated boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does describe the record contents. It omits ordering (newest-first vs oldest-first), which matters for a paged history read, but is otherwise complete for a simple read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the load. It names both parameters and frames them as a paging pair, which clarifies their combined intent beyond the bare integer bounds and defaults in the schema. Minor gap: it doesn't state the default page size or the 100 cap from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (private local construction-event history) and enumerates what the records contain: operation inputs, outcomes, and added/removed/modified B-Rep measurements. However, it never distinguishes itself from near-identical siblings like plasticity_construction_journal or plasticity_changes_since, so an agent cannot route confidently between them from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use offset/limit for paging" is invocation mechanics, not when-to-use guidance. Given a dense sibling field containing plasticity_construction_journal, plasticity_changes_since, and plasticity_capture_snapshot, the absence of any explicit selection criteria or exclusions is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_construction_journalBRead-only
Read current-process MCP mutation inputs and compact B-Rep change measurements in pages. This does not replay commands. The response also detects document changes made outside the journal and compares the live document against the last durable construction event.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: results are paginated, commands are not replayed, external document changes are detected, and the live document is compared against the last durable construction event.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three reasonably tight sentences, with the core read purpose front-loaded and the constraints following. No filler, though the dense terminology slightly hinders scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must describe returns, and it does: journal entries, B-Rep change measurements, detected out-of-journal changes, and a live-vs-durable comparison. Combined with the annotation-covered read-only profile, an agent has enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with two pagination parameters (limit, offset), so the description must compensate and largely does not. 'In pages' only vaguely implies pagination and never explains offset/limit semantics, defaults, or ranges that the schema lists without prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('read') and resource ('current-process MCP mutation inputs and compact B-Rep change measurements'), and clarifies scope ('in pages', 'does not replay commands'). However, the jargon-heavy phrasing is opaque and it never names or contrasts with close siblings like plasticity_construction_history or plasticity_changes_since, so an agent can't easily route among them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a negative constraint ('does not replay commands') but no positive when-to-use guidance and no alternatives named. With siblings such as construction_history, changes_since, and wait_for_change available, the agent gets no signal for choosing this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_convert_curve_vertices_to_control_pointsADestructive
Convert one or more exact current interior or closed Wire vertices into native B-Spline control vertices in one Plasticity history step. References must come from plasticity_list_curve_vertices at the current revision. Open endpoints are not convertible. The Wire path, segment structure, length, and topology change, so discard every old vertex and segment reference and inspect the returned Wire before continuing.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| vertices | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive and non-read-only, but the description adds substantial behavioral context: the Wire path, segment structure, length, and topology all change, all old vertex and segment references must be discarded, and the returned Wire must be inspected before continuing. This is exactly the invalidation and mutation detail an agent needs beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, followed by prerequisites, exclusions, and the critical post-call warning. Every sentence adds operational value with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, no-output-schema mutation tool, the description covers the source of references, current-revision requirement, unsupported inputs, topology-changing consequences, reference invalidation, and the need to inspect the returned Wire. Nothing critical is missing for correct invocation and safe follow-up.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden. It meaningfully constrains the vertices and revision inputs by requiring current-revision references from plasticity_list_curve_vertices and excluding open endpoints, but it says nothing about the optional intent parameter or the bodyId/vertexId shape beyond what the schema itself defines.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: converting exact current interior or closed Wire vertices into native B-Spline control vertices. It also distinguishes the operation from adjacent curve tools by requiring references from plasticity_list_curve_vertices and excluding open endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear preconditions: references must come from plasticity_list_curve_vertices at the current revision, and open endpoints are not convertible. It does not explicitly name an alternative conversion tool, but the when-to-use context is strong and unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_blind_holeADestructive
Cut one exact flat-bottom blind round hole into a current Solid. The entry center lies on the target surface, the axis points into the material, and the explicit finished diameter and depth must come from the selected tap, screw, insert, or qualified process rather than the nominal thread diameter or fastener length. Material depth is required and must exceed hole depth. The cutter and Boolean are two explicit native history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| holeDepthMm | Yes | ||
| overshootMm | No | ||
| entryCenterMm | Yes | ||
| holeDiameterMm | Yes | ||
| materialDepthMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the destructive mutation profile (readOnlyHint=false, destructiveHint=true), so the bar is lower. The description adds genuinely new behavioral context beyond annotations: the cutter and Boolean become two explicit native history steps, and material depth must exceed hole depth. It stops short of noting auth/revision or reversibility specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the operation and its geometric constraints, with no filler. The technical density is appropriate for a CAD operation, though the history-step detail could be positioned later.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter destructive mutation tool with no output schema, the description covers geometry, material constraint, and history-step side effects well. It omits the required revision parameter (concurrency guard) and overshootMm behavior, which are meaningful gaps but not fatal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the full burden, and it does well: entry center 'lies on the target surface', axis 'points into the material', and diameter/depth/materialDepth semantics are all explained. It does not address revision, intent, or the overshootMm parameter, so coverage of the 9 params is partial but strong on the geometry-critical ones.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Cut one exact flat-bottom blind round hole into a current Solid') and qualifies it heavily enough (blind, flat-bottom, round, on a target surface) to distinguish it from siblings like create_through_hole, create_counterbore, and create_blind_hole_pattern. An agent can select this 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives input-selection guidance (diameter/depth must come from the tap/screw/insert or qualified process, not nominal thread diameter or fastener length) and a feasibility rule (material depth must exceed hole depth). However, it never states when to use this versus a through hole, counterbore, or the blind-hole pattern variant, so the when-to-use decision is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_blind_hole_patternADestructive
Cut 2-256 equal exact flat-bottom blind round holes at explicit entry centers on one current Solid. The shared axis points into the material; qualified finished diameter and hole depth are explicit, and material depth must be greater than hole depth. Each native cylinder is a confirmed history step and one final Boolean consumes every cutter.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| holeDepthMm | Yes | ||
| overshootMm | No | ||
| entryCentersMm | Yes | ||
| holeDiameterMm | Yes | ||
| materialDepthMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: the axis points into the material, each cutter is a confirmed history step, and a single final Boolean consumes every cutter. It does not mention auth, rate limits, or failure modes, but for a CAD cutter the disclosed modeling behavior is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with the operation front-loaded and the geometric constraints following. Every clause carries information; no filler, though the packing is heavy enough to read as terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and 9 parameters at 0% schema coverage mean the description bears the load. It covers the geometric operation and its key preconditions well, but omits the auxiliary parameters (revision, intent, overshootMm) an agent may still need to supply correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains entryCentersMm, axis direction, holeDiameterMm ('qualified finished diameter'), holeDepthMm, materialDepthMm (with the depth constraint) and targetId, but leaves revision, intent, and overshootMm (the 0.5mm default) entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Cut'), resource ('equal exact flat-bottom blind round holes'), quantity range (2-256), and target ('one current Solid'). This clearly distinguishes it from the single-hole sibling plasticity_create_blind_hole and the other pattern tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies when to use it (multiple identical holes at explicit entry centers) and states hard preconditions ('material depth must be greater than hole depth'), but never names an alternative such as plasticity_create_blind_hole for single holes, so the routing decision is left to inference from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_body_intersection_curvesADestructive
Create independent exact Wire curves at every native intersection between one Solid or Sheet target and one or more Solid or Sheet tools. All source bodies are preserved and the complete operation occupies one Plasticity history step.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| toolIds | Yes | ||
| revision | Yes | ||
| targetId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-read-only, destructive mutation, and the description adds genuinely useful context beyond them: all source bodies are preserved (purely additive geometry) and the whole operation collapses into one Plasticity history step, so the agent understands undo granularity. It does not explain failure behavior, whether existing curves are duplicated, or how the destructive hint relates to body preservation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, front-loaded with the action and the produced entity before the side-effect and history guarantees. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation with no output schema and 0% schema coverage, the description covers the essentials (what is created, side effects on sources, history granularity) but omits failure/precondition handling, the meaning of the required revision token, and any return information. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must carry the load. It usefully clarifies that the target role is a single body and the tool roles are one-or-more bodies, and that all of them must be Solid or Sheet bodies. It says nothing about 'revision' (a required parameter) or 'intent', leaving half the parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and output ('Create independent exact Wire curves'), the exact geometric trigger (native intersection), and the input topology (one Solid/Sheet target vs. one or more Solid/Sheet tools). That is enough to distinguish it from read-only siblings like plasticity_list_curve_intersections and from surface-mutation siblings like plasticity_imprint_curves_on_body, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the stated geometric precondition (bodies must natively intersect). There is no explicit when-to-use/when-not, no guidance on choosing this over imprinting, projecting, or boolean alternatives, and no statement about what happens if no intersection exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_body_outlinesADestructive
Create exact native Wire silhouettes from current Solid or Sheet bodies on an explicit current construction plane. Source placement keeps each outline at the source silhouette plane; workplane placement projects it onto the selected plane. Source bodies are preserved and the selected plane becomes active.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| plane | Yes | ||
| intent | No | ||
| revision | Yes | ||
| placement | No | workplane |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, and the description usefully narrows that: it clarifies that source bodies are preserved while the selected plane becomes active, so the agent understands what is actually mutated. It adds real context beyond the annotations, though it omits failure modes (e.g. non-planar sources) that would raise this further.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense, front-loaded sentences with no filler: purpose first, then the placement distinction, then the side-effect note. Terminology is specialized but each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, 0% schema coverage, and a nested 'plane' object, the description covers placement behavior and the preservation guarantee but leaves the identity/revision parameters and any failure or return behavior unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, so the description must compensate. It does explain the 'placement' enum values ('source' keeps each outline at the source silhouette plane; 'workplane' projects it) and the role of 'plane', but says nothing about 'ids', 'revision', or 'intent'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+source entity types ('Create exact native Wire silhouettes from current Solid or Sheet bodies') and the target ('on an explicit current construction plane'). This is clearly distinguishable from sibling curve-creation tools like create_circle or project_curves_onto_body, which do not produce silhouettes of bodies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the two placement modes but never says when to choose this tool over plausible alternatives such as plasticity_create_body_intersection_curves or plasticity_project_curves_onto_body, nor does it state prerequisites or exclusions. Usage is implied by the source-entity framing rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_boxCDestructive
Create an axis-aligned exact CAD box. Coordinates and size are millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| intent | No | ||
| sizeMm | Yes | ||
| originMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is covered. The description adds nothing behavioral beyond that: it does not mention the required revision/concurrency semantics, whether creation is undoable, or what the operation returns. 'Exact CAD' hints at exact-vs-mesh geometry but is not developed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with zero filler; the unit clarification is a good second beat. It is efficient, though the brevity reflects under-specification rather than disciplined completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 5-parameter, 3-required creation tool with no output schema and no annotation-substitute explanation is not adequately described. The required revision parameter, the optional name/intent metadata, and the effect of the call (new body, selection state) are all absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, so the description must compensate, and it only clarifies that coordinates and size are in millimeters (covering originMm and sizeMm). The name, intent, and required revision parameters carry no explanation anywhere, leaving the agent to guess at revision's role in a create operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create an ... exact CAD box') and distinguishes it as axis-aligned and exact CAD geometry. However, with many sibling primitives (create_cylinder, create_cone, create_torus, create_sphere, create_rectangle), it does not explicitly differentiate from them, so it lands at a clear-but-underspecified 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives among the dozens of sibling primitive-creation tools. The agent must infer when a box is the right choice versus a rectangle, cylinder, or extrude.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_cantilever_snap_fitADestructive
Create an exact cantilever snap-fit beam with an integral end hook and join it to one Solid. The base point lies on the support, beam and thickness directions define the profile plane, and width is centered across its normal. The editable profile remains in the document and the recipe uses three native history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| widthMm | Yes | ||
| lengthMm | Yes | ||
| revision | Yes | ||
| targetId | Yes | ||
| thicknessMm | Yes | ||
| baseCenterMm | Yes | ||
| hookHeightMm | Yes | ||
| hookLengthMm | Yes | ||
| baseOverlapMm | No | ||
| beamDirection | Yes | ||
| thicknessDirection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the destructive, non-read-only, closed-world profile, so the bar is lower; the description still adds genuine non-obvious behavior — that the editable profile is retained in the document and the recipe uses three native history steps. It does not clarify editability of the generated hook or what happens on re-run.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences with the core action first and setup detail after; dense but each clause carries geometric or behavioral information. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-required-parameter mutation tool with no output schema and zero schema descriptions, the description covers the frame/orientation parameters well but is silent on most dimensional parameters and the revision/target semantics, leaving real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 12 parameters, so the description carries the burden. It clarifies baseCenterMm (on the support), beamDirection/thicknessDirection (define the profile plane), and widthMm (centered across its normal), but leaves lengthMm, thicknessMm, hookLengthMm, hookHeightMm, baseOverlapMm, targetId, revision, and intent entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and highly specific resource ('create an exact cantilever snap-fit beam with an integral end hook and join it to one Solid'), which is clearly distinguishable from the many other create_* siblings such as dovetail or tongue-groove joints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when the tool applies (creating a snap-fit beam) and gives geometry setup context, but never states when to prefer it over alternative joint creators or any prerequisites/exclusions. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_center_arcADestructive
Create one exact native circular arc from center, radius, start angle, and signed sweep. Positive sweep is counterclockwise around the plane normal; the sweep magnitude must be below 360 degrees. Inputs may use world coordinates or a referenced construction plane.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, and the description adds genuinely useful behavioral conventions: positive sweep is counterclockwise around the plane normal, the sweep must be under 360 degrees, and inputs may be world coordinates or a referenced plane. It does not contradict the annotations, and the magnitude limit is a real constraint an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose first, then the sign/magnitude convention, then coordinate-system options. Every sentence carries information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a geometry-creation tool with no output schema and an empty input schema, the description covers purpose, sign conventions, magnitude limits, and coordinate options well. It omits return behavior and units, but nothing essential to invoking it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty ({}) with zero properties, so the description is the sole source of parameter meaning, and it supplies the full set (center, radius, start angle, signed sweep, optional plane). It adds semantics (signed sweep, CCW-positive) but gives no types or units, keeping it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Create one exact native circular arc') and defines it by its construction inputs (center, radius, start angle, signed sweep), which intrinsically distinguishes it from the point-based siblings like create_three_point_arc. It never names a sibling explicitly, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how the arc is constructed but gives no guidance on when to choose this tool over create_three_point_arc, create_circle, or create_tangent_arc. Usage is only implied by the parameter list, with no alternatives or conditions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_circleBDestructive
Create a native circle in world coordinates or a referenced construction plane.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered and the description does not contradict it. But the description adds almost no behavior beyond that: it doesn't say which plane is used by default, whether the circle is a fixed/undoable document edit, or what happens when no construction plane is referenced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the resource and the placement options come first. It is efficient, though its brevity is partly under-specification rather than pure conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a geometry-creation tool sitting among many near-identical siblings, with no output schema and an empty input schema, the description does too little: it omits how the circle is defined, what the default construction plane is, and any disambiguation from the other circle tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema exposes zero parameters and 100% coverage, so by the baseline rule for parameterless tools a 4 is appropriate. The description's mention of world coordinates vs. a referenced plane is the only signal about what context the call consumes, which is mildly useful but not parameter-level detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a native circle') and even names the two placement modes (world coordinates or a referenced construction plane). However, it does not distinguish this from the several sibling circle constructors (two_point_circle, three_point_circle, tangent_circle, ellipse), leaving the agent to guess which creation method this represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'in world coordinates or a referenced construction plane' hints at placement context but gives no when-to-use guidance and never names an alternative. An agent choosing among five circle-creation siblings gets no discriminating rule for picking this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_coneADestructive
Create an exact cone or conical frustum Solid and preserve its editable meridional polyline profile in one Plasticity history step. The bottom center, unequal bottom and top radii, height, axis, and nonparallel radial direction are explicit. Use topRadiusMm=0 for a pointed cone and plasticity_create_cylinder when the radii are equal.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | ||
| name | No | ||
| intent | No | ||
| heightMm | Yes | ||
| revision | Yes | ||
| topRadiusMm | Yes | ||
| bottomCenterMm | Yes | ||
| bottomRadiusMm | Yes | ||
| radialDirection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=false. The description adds genuinely new behavioral context by disclosing that the profile remains editable and that the whole thing is a single history step, but it says nothing about the destructiveHint=true implication, permission/revision prerequisites, or what happens to overlapping geometry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no filler, and the front-loaded opening carries the core purpose before the parameter and alternative guidance. Every sentence contributes actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter creation tool with no output schema, the description covers the geometric parameters and the key routing decision well. It is slightly short of complete because the utility parameters (name, intent, revision) are undocumented in both description and schema, leaving an agent guessing about the required revision token.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does partially compensate: it explains that bottom center, unequal bottom/top radii, height, axis and nonparallel radial direction are all explicit parameters, and gives semantics for topRadiusMm (0 = pointed cone) plus implied mm units. It does not address name, intent, or revision, so it is not fully complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create an exact cone or conical frustum Solid') and adds the distinguishing scope that it preserves an editable meridional polyline profile in one history step. It also names the sibling it is not (plasticity_create_cylinder) under a stated condition, so an agent can separate it from neighbors without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing rules: use topRadiusMm=0 for a pointed cone, and use plasticity_create_cylinder instead when the two radii are equal. Both the when-to-use and the when-to-use-something-else cases are stated, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_cone_developmentA
Create an exact area-preserving planar annular-sector Sheet from one complete native conical-frustum face. The profile is placed in the world XY plane with its inner arc starting at originMm; source Solid is preserved. This performs six native history steps (two arcs, two radial lines, join and patch), validates the Sheet and compares exact B-Rep boundary lengths and face area with the source. If interrupted or an error is returned after edits begin, inspect plasticity_status/changes before deciding whether to continue or undo; this tool never retries or rolls back automatically. Pointed cones, partial cone faces, and faces with additional boundary loops are unsupported.
| Name | Required | Description | Default |
|---|---|---|---|
| face | Yes | ||
| intent | No | ||
| originMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only declaring write/safety hints, the description adds substantial behavioral context: six native history steps, Sheet validation, exact B-Rep length/area comparison against the source, no automatic retry or rollback, and guidance to inspect plasticity_status/changes after an interrupted error. This is exactly the kind of context annotations cannot supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and geometry setup, then layers on history/validation and error-recovery guidance. Every sentence carries information, though the density is high and the error-handling clause could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive-capable mutation tool with nested object params, no output schema, and 0% schema coverage, the description is unusually complete: preconditions, unsupported inputs, history side effects, error semantics, and source preservation are all covered. The only gap is that two parameters (intent, revision) are never explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 4 parameters, so the description must compensate. It clarifies originMm (inner arc origin) and face (one complete native conical-frustum face with bodyId/faceId), but leaves intent and revision unexplained, so compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Create) and a precisely-specified resource (an exact area-preserving planar annular-sector Sheet from one complete native conical-frustum face). It is clearly distinguishable from the sibling plasticity_analyze_cone_development, which analyzes rather than creates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-not conditions (pointed cones, partial cone faces, faces with additional boundary loops are unsupported) and states the source Solid is preserved. It does not explicitly name the sibling analyze_cone_development as the alternative for the unsupported/inspection case, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_connector_openingADestructive
Cut an exact rectangular or rounded-rectangular connector opening into one Solid. The entry center lies on the target surface, the axis points into it, and width direction lies in that surface. The editable profile remains in the document; native extrusion, optional fillet, and Boolean steps are recorded separately.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| widthMm | Yes | ||
| heightMm | Yes | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| entryCenterMm | Yes | ||
| cornerRadiusMm | No | ||
| throughDepthMm | Yes | ||
| widthDirection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that: it discloses that the profile is editable and that native extrusion, optional fillet, and Boolean steps are recorded separately, which tells the agent this is a parametric, history-preserving feature rather than a bare boolean cut.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no filler; the operative phrase ('Cut an exact ... opening into one Solid') is front-loaded and the geometric and behavioral clauses follow in priority order. Every sentence carries information the agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 11-parameter, 8-required mutation with no output schema and 0% schema coverage, the description conveys the operation and its orientation semantics but leaves several required parameters (revision, widthMm, heightMm, throughDepthMm, overshootMm) unaddressed. It is adequate on shape but not complete enough to call the tool confidently without schema inspection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description has to compensate. It usefully explains the geometry of three key parameters (entryCenterMm lies on the target surface, axis points into it, widthDirection lies in that surface) and implies cornerRadiusMm via 'rounded-rectangular'. However, revision, targetId, intent, widthMm, heightMm, throughDepthMm, and overshootMm remain undocumented in both schema and description, so coverage is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise verb+resource: 'Cut an exact rectangular or rounded-rectangular connector opening into one Solid.' That is far more specific than the tool name alone and distinguishes it from generic hole-cutting siblings. It stops short of explicitly naming how it differs from plasticity_create_slotted_hole or plasticity_create_through_hole, so it does not reach the sibling-differentiation bar of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternatives guidance. Given the many overlapping cutting siblings (through_hole, blind_hole, counterbore, countersink, cut_cable_channel), an agent gets no help choosing this tool over those; it must infer from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_constrained_surfaceCDestructive
Create a native B-Surface constrained by paired 3D points and normal vectors.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| normals | Yes | ||
| pointsMm | Yes | ||
| revision | Yes | ||
| toleranceMm | No | ||
| optimization | No | performance | |
| angularToleranceDegrees | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, but the description never addresses the destructive nature, whether it overwrites/replaces existing geometry, or what 'revision' requires of the caller. With annotations carrying the safety profile the bar is lower, yet the description still adds essentially zero behavioral context for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, tight sentence with no filler and a front-loaded verb. It is efficient, though its brevity here borders on under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutating geometry tool with 0% schema coverage and no output schema, one sentence is inadequate. An agent gets no guidance on the numeric tolerances, the optimization mode, the required revision string, or the destructive side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate and largely fails. It only indirectly evokes pointsMm and normals ('paired 3D points and normal vectors'); toleranceMm, angularToleranceDegrees, optimization (performance vs smoothness tradeoff), revision, and intent are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create'), a specific resource ('native B-Surface'), and the mechanism that distinguishes it ('constrained by paired 3D points and normal vectors'). It does not name any sibling (e.g. patch_regions, bridge_surface, loft_faces) to route the agent, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many other surface-creation siblings (patch_regions, bridge_surface, loft_faces, patch_sheet_hole). No prerequisites, no exclusions, no context beyond the mechanical description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_construction_planeCDestructive
Create a native saved construction plane from an exact plane definition.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| intent | No | ||
| revision | Yes | ||
| definition | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds only 'native saved' (implying document persistence) but says nothing about the required revision/concurrency token, whether the operation modifies existing geometry, or how the five definition variants behave. Little value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It is well-structured, though the brevity comes at the cost of the detail the complex schema needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a 5-variant polymorphic definition parameter, a required revision parameter, 0% schema coverage, and no output schema, one sentence is substantially under-specified. An agent cannot confidently construct a valid 'definition' from this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It only vaguely gestures at one parameter ('an exact plane definition') and never explains the five oneOf variants (explicit, three-points, planar-face, offset, rotated), the required 'revision' token, or the 'intent' field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create') and resource ('construction plane'), qualified as 'native saved' and sourced from 'an exact plane definition'. An agent can distinguish it from siblings like plasticity_list_construction_geometry or plasticity_remove_construction_plane, though it does not address when to prefer it over plasticity_set_workplane.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Given siblings such as plasticity_set_workplane, plasticity_define_datum_point/axis, and plasticity_remove_construction_plane, the description should route among these but gives nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_counterboreADestructive
Cut an exact through hole with a concentric flat-bottom counterbore into one Solid. The entry point lies on the target surface and the axis points into it. The recipe uses three explicit native history steps and returns each confirmed revision.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| entryCenterMm | Yes | ||
| throughDepthMm | Yes | ||
| throughDiameterMm | Yes | ||
| counterboreDepthMm | Yes | ||
| counterboreDiameterMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds real value beyond them: the geometric interpretation of axis/entry point, that the cut is built as 'three explicit native history steps', and that it returns each confirmed revision. It does not cover what happens on failure or whether the cut is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences, front-loaded with the operation and its geometry, with no filler. The final clause about native history steps and confirmed revisions is slightly cryptic but earns its place as behavioral context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, zero-coverage destructive tool with no output schema, the description covers geometry and history behavior but leaves most parameter naming, unit, and revision-semantics questions open. Adequate as a minimum-viable definition, with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 10 parameters (8 required), so the description carries the full burden and only partially delivers. It clarifies the axis direction convention and the meaning of entryCenterMm, but says nothing about overshootMm, intent, revision, or the distinction between throughDepthMm and counterboreDepthMm.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource ('Cut an exact through hole with a concentric flat-bottom counterbore') and it explicitly distinguishes itself from the nearby siblings (create_countersink, create_through_hole) by naming the flat-bottom concentric geometry. An agent can pick this over create_through_hole or create_countersink without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is only implied through a geometric precondition ('entry point lies on the target surface and the axis points into it'). No explicit when-to-use/when-not, no named alternatives among the ~8 hole/counterbore siblings, and no prerequisite (e.g. a valid revision or target body) is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_counterbore_patternADestructive
Cut 2-128 equal through holes with concentric flat-bottom counterbores at explicit entry centers on one current Solid. Each center creates one through cutter and one recess cutter; one final Boolean consumes every cutter. Finished dimensions must come from the selected head, fit, manufacturing process, and actual material depth.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| entryCentersMm | Yes | ||
| throughDepthMm | Yes | ||
| throughDiameterMm | Yes | ||
| counterboreDepthMm | Yes | ||
| counterboreDiameterMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=false, so the safety profile is covered. The description adds real mechanics beyond that: one through cutter plus one recess cutter per center, a single final Boolean consuming all cutters, and the 2-128 count bound. It stops short of describing failure modes, whether the cut is reversible, or how the tool behaves if centers fall outside the solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded sentences that lead with the operation and then the cutter/Boolean mechanics. Every clause carries information; the final sentence about dimension sourcing is slightly abstract but earns its place as a domain constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 10-parameter mutation with no output schema and no annotation detail beyond safety hints, the description covers the core geometry well but leaves notable gaps: the semantics of revision (likely concurrency control), overshootMm behavior, intent, and what the agent should expect on success are all unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the full burden. It conveys the meaning of entryCentersMm (count range, equal holes), the concentric through/counterbore relationship, and ties targetId to 'one current Solid.' It never mentions overshootMm, revision, or intent, and gives no unit/format guidance beyond the 'Mm' embedded in parameter names, so coverage is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource+scope: 'Cut 2-128 equal through holes with concentric flat-bottom counterbores at explicit entry centers on one current Solid.' It also distinguishes itself from the singular siblings (create_counterbore, create_through_hole) and from create_countersink_pattern by naming the counterbore geometry and the pattern count range.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage through 'explicit entry centers' (the caller must supply centers rather than infer them) and notes that finished dimensions must be derived from the selected head, fit, process, and material depth. However, it never names an alternative tool (create_counterbore for a single hole, create_countersink_pattern for a different recess geometry) or states when-not to use this pattern tool, so the agent must infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_countersinkADestructive
Cut an exact through hole with a concentric conical countersink into one Solid. The caller supplies the finished through diameter, major diameter, included angle, material depth, and an in-plane radial direction from the selected standard or manufacturer record. The recipe preserves its editable annular meridional Wire and records through cutter, profile, Revolve, and Boolean as four native history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| entryCenterMm | Yes | ||
| throughDepthMm | Yes | ||
| radialDirection | Yes | ||
| includedAngleDeg | Yes | ||
| throughDiameterMm | Yes | ||
| countersinkMajorDiameterMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation/destructive profile (readOnlyHint=false, destructiveHint=true), so the bar is lowered. The description still adds real value beyond that: it discloses that the recipe produces editable geometry (an annular meridional Wire) and creates four native history steps (through cutter, profile, Revolve, Boolean), which tells the agent the result is undoable/parametric. It stops short of permissions or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, purpose front-loaded, with no filler. The closing sentence on history steps is denser than necessary for a description but carries behavioral information, so it earns most of its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, destructive, 0%-schema-coverage tool with no output schema, the description conveys purpose and some behavior but leaves most parameters and the exact effect on the target solid unspecified. It is adequate but clearly incomplete for a definition of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 11 parameters, so the description must carry the burden. It names five by concept (finished through diameter, major diameter, included angle, material depth, in-plane radial direction), which helps, but it is silent on targetId, entryCenterMm, axis, revision, intent, and overshootMm, leaving key identification and orientation inputs undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specifies a concrete verb (Cut) and resource (an exact through hole with a concentric conical countersink) scoped to exactly one Solid. This is clearly distinguishable from siblings like plasticity_create_through_hole (no countersink) and plasticity_create_counterbore (cylindrical recess), so an agent can route correctly 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that values come 'from the selected standard or manufacturer record', hinting at a workflow, but never states when to use this tool versus alternatives such as create_counterbore or create_through_hole, nor any prerequisites or exclusions. An agent gets no explicit guidance on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_countersink_patternADestructive
Cut 2-64 equal through holes with concentric conical countersinks at explicit entry centers on one current Solid. Each center creates a through cutter and an editable meridional Wire revolved into a countersink cutter; one final Boolean consumes every cutter while preserving the source Wires. Finished dimensions must come from the selected fastener standard, fit, process, and actual material depth.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| entryCentersMm | Yes | ||
| throughDepthMm | Yes | ||
| radialDirection | Yes | ||
| includedAngleDeg | Yes | ||
| throughDiameterMm | Yes | ||
| countersinkMajorDiameterMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, so the mutating nature is known; the description adds genuinely new behavioral detail: each center yields a through cutter plus an editable meridional Wire revolved into a countersink cutter, and a single final Boolean consumes all cutters while preserving the source Wires. That discloses construction semantics and what survives the operation, which the annotations do not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the operation and scope, with no filler. The middle sentence is dense technical prose about cutter construction, but every clause contributes information an agent could use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, 9-required mutation tool with zero schema description coverage and no output schema, the description covers behavior and dimension sourcing but leaves several required parameters (axis, radialDirection, revision, targetId) and optional ones (overshootMm, intent) unexplained. It is adequate but not complete enough to call blind.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description carries the burden and only partially compensates: it clarifies entryCentersMm (2-64 explicit centers), the through/countersink diameter and angle intent, and that dimensions must be sourced from the fastener standard rather than guessed. It says nothing about axis, radialDirection, overshootMm, revision, intent, or targetId.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (cut), resource (equal through holes with concentric conical countersinks), and scope (2-64 holes at explicit entry centers on one current Solid). This clearly distinguishes it from single-hole siblings like plasticity_create_countersink and from plain hole patterns like plasticity_create_through_hole_pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing sentence gives real guidance on where dimensions must come from (fastener standard, fit, process, material depth), which tells the agent not to invent values. However, it never states when to choose this pattern tool over plasticity_create_countersink or plasticity_create_through_hole_pattern, nor any prerequisites like needing a selected body.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_curves_from_regionsA
Create independent exact native Wire copies of the boundaries of explicit current planar Regions while preserving the source Wire geometry. Coincident boundary copies make Plasticity recompute automatic Regions, so all previous Region references become stale; use the returned state or plasticity_list_regions before downstream work.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| regionIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses a non-obvious global side effect that annotations do not cover: coincident boundary copies cause Plasticity to recompute automatic Regions and invalidate all previous Region references. It also flags the need to re-read state before downstream work. This is exactly the kind of behavioral context a mutation tool with destructiveHint=false needs to surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and then the critical caveat; no filler. The second sentence is dense and jargon-heavy ('coincident boundary copies', 'automatic Regions') but every clause carries operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and annotations that only assert a non-destructive, non-open-world profile, the description supplies the key missing piece (the Region recompute side effect and required follow-up). It falls short only on parameter documentation, which the schema also leaves blank.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with three parameters (regionIds, revision, intent), and the description never explains their meaning or format. Only regionIds is obliquely implied by 'boundaries of ... Regions', and the concurrency role of 'revision' is never stated despite being a required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource plus scope qualifiers: it creates 'independent exact native Wire copies of the boundaries of explicit current planar Regions while preserving the source Wire geometry.' That is far more precise than a generic curve-creation sibling, though it never names the nearest alternatives (e.g. plasticity_create_body_outlines) to differentiate explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied (operate on 'explicit current planar Regions') and it prescribes a follow-up step ('use the returned state or plasticity_list_regions before downstream work'), but it never states when to pick this tool over sibling curve/region tools or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_cylinderBDestructive
Create an exact CAD cylinder along a world-space axis. Dimensions are millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | ||
| name | No | ||
| intent | No | ||
| centerMm | Yes | ||
| heightMm | Yes | ||
| radiusMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, and openWorldHint=false, so the agent knows this mutates model state. The description adds useful context that dimensions are millimeters and the axis is world-space, but says nothing about the required revision argument or the effect of adding a body. With annotations carrying the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, and the core action is front-loaded before the units/frame qualifiers. Nothing is wasted or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool with no output schema and 0% schema coverage, the description is too thin. The required revision parameter and the name/intent fields are unexplained, and there is no indication of the return value or how the new body is identified afterward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters. "Dimensions are millimeters" gives units for centerMm/radiusMm/heightMm and "world-space axis" frames the axis parameter, which is genuine added meaning, but name, intent, and especially the required revision parameter remain entirely undocumented. It does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Create an exact CAD cylinder") and even narrows the geometry (world-space axis, millimeters), which clearly separates it from siblings like create_box, create_cone, create_sphere, and create_torus. It stops short of naming any alternative, so it earns a solid 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-selection guidance. It never says when a cylinder primitive is preferable to building one via extrude/revolve, nor mentions prerequisites. Like the calibration update_drive example, this is purpose-only with no usage framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_dovetail_jointADestructive
Create an exact flared trapezoidal male dovetail on one Solid and cut the radially and axially clearance-expanded female socket into another. rootWidthMm is the narrow root, each side flares by flareMm toward the tip, widthDirection lies in the mating plane, and the explicitly supplied clearances are geometric inputs rather than qualified print-fit recommendations. Both editable profiles remain in the document; six native history steps are returned.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| flareMm | Yes | ||
| revision | Yes | ||
| rootWidthMm | Yes | ||
| baseCenterMm | Yes | ||
| maleTargetId | Yes | ||
| baseOverlapMm | No | ||
| femaleTargetId | Yes | ||
| tongueHeightMm | Yes | ||
| widthDirection | Yes | ||
| axialClearanceMm | Yes | ||
| cutterOvershootMm | No | ||
| radialClearanceMm | Yes | ||
| tongueThicknessMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, destructive write (destructiveHint=true), so the safety profile is carried by structured data. The description adds genuinely non-obvious behavior: both editable profiles remain in the document and six native history steps are returned, which tells the agent about reversibility and history cost. It stops short of stating permissions, failure modes, or what happens if the two solids don't mate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core action before the parameter clarifications and history note. Every sentence carries information; there is minor awkwardness in packing geometric definitions into a single run-on sentence, but no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 12-required destructive modeling tool with no output schema, the description covers the overall effect and the resulting history/state but leaves many inputs and the failure/return contract unaddressed. It is adequate to understand what the tool does, less so to call it correctly on the first attempt.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 15 parameters, so the description carries the burden, and it does clarify several: rootWidthMm as the narrow root, flareMm as the per-side flare toward the tip, widthDirection as lying in the mating plane, and the clearances as unqualified geometric inputs. However, the majority of parameters (maleTargetId, femaleTargetId, baseCenterMm, axis, tongueThicknessMm, tongueHeightMm, revision, baseOverlapMm, cutterOvershootMm) receive no prose explanation, so the compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource — creating a flared trapezoidal male dovetail on one solid and cutting the matching female socket into another — so an agent can tell this apart from generic boolean/join tools. It does not, however, explicitly contrast itself with the nearby sibling plasticity_create_tongue_groove_joint or create_mating_enclosure_joint, so differentiation is left to the reader's inference about joint geometry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the geometry described (two bodies, mating plane, clearances), but there is no explicit when-to-use / when-not-to-use statement and no named alternative such as the tongue-and-groove sibling. The advisory that clearances are 'geometric inputs rather than qualified print-fit recommendations' points the agent toward a verification sibling, but only obliquely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_ellipseADestructive
Create one exact native closed elliptical Wire and Region from explicit major and minor radii. The major axis follows xDirection rotated by angleDegrees in the selected plane. Inputs may use world coordinates or a referenced construction plane.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=false, and destructiveHint=true. The description adds meaningful context beyond those annotations by specifying that it produces a Wire and Region, defines the major axis via xDirection rotated by angleDegrees, and notes that inputs may use world coordinates or a referenced construction plane.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with the creation action front-loaded and no wasted words. Each sentence contributes distinct information about output, orientation, and input coordinates.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with an empty input schema and no output schema, the description gives a reasonable conceptual overview but leaves invocation details ambiguous. It does not explain how the described radii, direction, angle, and plane inputs are actually supplied given the schema shows no parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so per the rubric the baseline is 4. The description adds useful semantic meaning by naming major and minor radii, orientation via xDirection and angleDegrees, and coordinate modes, but it cannot fully compensate for the absence of any schema-level parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Create) and resource (elliptical Wire and Region) with scope (exact native closed) and method (from explicit major and minor radii). It clearly distinguishes this tool from sibling circle, arc, and polygon creation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains what the tool does and some input characteristics, but provides no when-to-use guidance, no conditions for choosing it over alternatives like create_circle or create_slot_profiles, and no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_groupA
Create one native Plasticity group around the supplied current bodies, linked instances, approximate reference meshes, or child groups. The root Scene group cannot be nested.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| intent | No | ||
| bodyIds | No | ||
| groupIds | No | ||
| revision | Yes | ||
| instanceIds | No | ||
| referenceMeshIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds one genuine behavioral constraint beyond the annotations (root Scene group cannot be nested), but says nothing about creation semantics, atomicity, or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, with the core action front-loaded and the nesting constraint appended as a brief caveat. Nothing redundant against the structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool with no output schema and 0% schema coverage, the description covers the entity inputs and one nesting rule but omits the semantics of the required revision token and the name/intent fields, so it is adequate but not complete enough for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It maps the four content arrays (bodyIds, instanceIds, referenceMeshIds, groupIds) to concrete entity types, which is useful, but it leaves name, intent, and the required revision parameter unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Create) and resource (native Plasticity group) and enumerates what the group can wrap: current bodies, linked instances, approximate reference meshes, and child groups. The resource and scope are unambiguous, though it does not explicitly differentiate itself from sibling grouping tools like move_to_group or dissolve_groups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by listing acceptable grouping inputs and gives one boundary rule (the root Scene group cannot be nested), but it never states when to prefer this tool over alternatives such as move_to_group, activate_group, or rename_group, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_heat_set_insert_pocketADestructive
Cut an exact three-stage pocket for a heat-set insert: a deep pilot, insert bore, and wider shallow lead-in. The entry point lies on the target surface and the axis points into it. Explicit material depth must exceed pilot depth. The recipe uses four explicit native history steps and returns each confirmed revision.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| pilotDepthMm | Yes | ||
| entryCenterMm | Yes | ||
| insertDepthMm | Yes | ||
| leadInDepthMm | Yes | ||
| materialDepthMm | Yes | ||
| pilotDiameterMm | Yes | ||
| insertDiameterMm | Yes | ||
| leadInDiameterMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true and openWorld=false, so the safety profile is covered. The description adds genuinely useful behavior beyond that: it names the four-step native history recipe and states each confirmed revision is returned, which is not derivable from the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences ordered from geometry to constraints to history behavior, with the core purpose front-loaded. The final sentence about native history steps is slightly opaque, but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 13-parameter tool with no output schema, the description conveys the geometric model, one precondition, and revision behavior. It is enough to understand the operation conceptually but not enough to fill in most parameter semantics, leaving a real gap for a tool this complex.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 13 parameters, so the description must compensate. It partially does — clarifying entryCenterMm ('entry point lies on the target surface'), axis orientation ('axis points into it'), and the pilot/materialDepth relationship — but leaves diameters, insertDepth, leadInDepth, overshootMm, intent, and revision entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Cut') and resource ('three-stage pocket for a heat-set insert') and enumerates the three stages (pilot, bore, lead-in). This distinguishes it from siblings like create_counterbore, create_hex_nut_pocket, and the pattern variant without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies its purpose (heat-set insert pockets) and gives one hard precondition — 'Explicit material depth must exceed pilot depth' — but never routes the agent to or away from alternatives such as the pattern tool or create_hex_nut_pocket. Usage is inferable from the name and geometry, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_heat_set_insert_pocket_patternADestructive
Cut 2-64 equal exact three-stage heat-set-insert pockets at explicit entry centers on one Solid. Qualified pilot, insert-bore, lead-in, and material depths are shared; three native cylinders per center and one final Boolean yield 3N+1 confirmed history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| pilotDepthMm | Yes | ||
| insertDepthMm | Yes | ||
| leadInDepthMm | Yes | ||
| entryCentersMm | Yes | ||
| materialDepthMm | Yes | ||
| pilotDiameterMm | Yes | ||
| insertDiameterMm | Yes | ||
| leadInDiameterMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, and 'Cut' is consistent with that. The description goes beyond the structured data by disclosing the internal construction (three native cylinders per center plus one final Boolean) and the resulting 3N+1 confirmed history steps, which tells the agent about modeling/undo footprint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with the action and scope front-loaded and effectively no filler. The second sentence carries real information but is somewhat terse to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter destructive tool with no output schema and 0% parameter description coverage, the description covers the operation and construction well but omits meaning for several required inputs (axis direction, targetId, revision) and any note on return/confirmation beyond step count.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 13 parameters, so the description must carry the param burden. It names the pilot, insert-bore, lead-in, and material depths and clarifies they are 'shared' across all centers, plus the 2-64 count and entry centers, but leaves targetId, axis, revision, intent, and overshootMm undocumented both here and in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Cut), resource (heat-set-insert pockets), and scope (2-64 equal, at explicit entry centers, one Solid), so the agent knows exactly what geometry is produced. The plural/pattern nature implicitly separates it from the singular sibling plasticity_create_heat_set_insert_pocket, but no alternative is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage conditions: multiple equal pockets (2-64), a single target Solid, and explicit entry centers. However it never states when to prefer this over the single-pocket sibling or a generic pattern tool, and gives no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_helixBDestructive
Create a constant-radius native helix around a world-space axis. Coordinates and radius are millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| turns | Yes | ||
| intent | No | ||
| radiusMm | Yes | ||
| revision | Yes | ||
| axisEndMm | Yes | ||
| handedness | No | right | |
| axisStartMm | Yes | ||
| radialDirection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=false, so the agent knows this mutates the document. The description usefully adds that coordinates and radius are in millimeters and that the axis is world-space, which the annotations do not cover. It does not disclose whether a curve or solid body is produced, nor any revision/concurrency behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and followed immediately by the unit convention. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 8-parameter creation tool with no output schema and 0% schema coverage, the description omits far too much: what the 'revision' parameter is for, handedness/radialDirection defaults, and what geometry (curve vs. solid) results. An agent could not call this confidently without inspecting the schema for every field.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must carry the burden and it only partially does: it clarifies units for axisStartMm/axisEndMm/radiusMm and that the axis is world-space. It says nothing about turns limits, the required 'revision' string, 'intent', 'handedness', or 'radialDirection', leaving five parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create a ... native helix'), plus two distinguishing qualifiers: constant-radius and world-space axis. It clearly separates this from the other curve-creation siblings (circle, arc, ellipse, polyline). It stops short of naming a sibling or stating what it does not do, so it lands at a solid 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many alternative curve creators, nor any prerequisite (e.g., does a helix need a workplane or an existing axis?). The agent must infer context entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_hex_nut_pocketBDestructive
Cut an exact blind regular-hex pocket into one Solid. Across-flats size, pocket depth, material depth, orientation, and clearance must come from the selected nut, manufacturing process, and access requirements; nominal thread diameter is not used as pocket geometry. The profile Wire remains editable and the recipe records profile, Extrude, and Boolean as three native history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| acrossFlatsMm | Yes | ||
| entryCenterMm | Yes | ||
| pocketDepthMm | Yes | ||
| materialDepthMm | Yes | ||
| flatNormalDirection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true and readOnlyHint=false, so the write nature is known. The description adds valuable behavioral context beyond annotations: the profile Wire remains editable and the recipe records profile, Extrude, and Boolean as three native history steps. It does not cover permissions or undo behavior, but the extra editability and history information is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses three tightly packed sentences, front-loading the core action before presenting parameter constraints and behavioral details. It is appropriately sized for a 10-parameter destructive operation, though the middle sentence is dense and could be slightly easier to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 10 parameters, 8 required, no output schema, and 0% schema description coverage, the description covers the main geometric concept and some behavior but omits needed context for targetId, entryCenterMm, revision, and intent. It is adequate for the core operation but not fully complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry semantic load. It does map several key parameters—across-flats size, pocket depth, material depth, orientation, and clearance—and clarifies that nominal thread diameter is not used. However, it leaves targetId, entryCenterMm, revision, and intent unexplained, which is a meaningful gap for a 10-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Cut an exact blind regular-hex pocket into one Solid.' It adds a meaningful caveat that nominal thread diameter is not used as pocket geometry, which helps distinguish the operation. However, it does not explicitly distinguish this tool from sibling alternatives such as plasticity_create_hex_nut_pocket_pattern or plasticity_create_heat_set_insert_pocket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating that sizes and depths must come from the selected nut, manufacturing process, and access requirements, but it never says when to choose this tool over alternatives. There is no routing guidance to the pattern variant or to other pocket-creating siblings, and no explicit when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_hex_nut_pocket_patternADestructive
Cut 2-128 equal blind regular-hex nut pockets at explicit entry centers on one current Solid. Each center creates one editable profile and one extruded cutter; one final Boolean consumes every cutter while preserving the source Wires. Across-flats size, depth, orientation, clearance, and material depth must come from the selected nut and manufacturing process.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| acrossFlatsMm | Yes | ||
| pocketDepthMm | Yes | ||
| entryCentersMm | Yes | ||
| materialDepthMm | Yes | ||
| flatNormalDirection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=true), so those add no credit. The description goes beyond them by disclosing the construction mechanism per center ('one editable profile and one extruded cutter') and the final Boolean behavior ('consumes every cutter while preserving the source Wires'), plus the constraint that geometry values must be derived from the selected nut and process.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and cardinality; each sentence carries distinct information (what is cut, what gets built, what inputs must be satisfied). Minor redundancy in enumerating size/depth/orientation/clearance/material depth without detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 10-parameter modeling operation with no output schema, the description establishes intent and rough geometry roles but stops short on return/result information (created profile/cutter identities, resulting Boolean state) and error or edge-case behavior (what happens with fewer than 2 or more than 128 centers, invalid material depth).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 10 parameters (8 required), so the description must compensate. It names the conceptual quantities (across-flats size, depth, orientation, clearance, material depth) and states the entry centers are explicit, but adds no units, formats, ranges, or constraints for the many remaining parameters (targetId, revision, axis/flatNormalDirection vs the named quantities), leaving the job only partly done.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Cut ... blind regular-hex nut pockets' — with an explicit cardinality range (2-128) and a binding target ('one current Solid'). An agent can immediately tell this apart from the single-pocket sibling and from unrelated creation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the pattern framing ('2-128 equal ... on one current Solid', 'explicit entry centers'), but the description never explicitly states when to prefer this over plasticity_create_hex_nut_pocket or names any alternative. No when-not conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_hinge_barrelADestructive
Create an exact hollow cylindrical hinge barrel along a world-space axis and join it to one existing Solid. The bore diameter is the finished pin-clearance diameter. The recipe uses four native history steps and returns every confirmed revision.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| lengthMm | Yes | ||
| revision | Yes | ||
| targetId | Yes | ||
| axisStartMm | Yes | ||
| outerDiameterMm | Yes | ||
| cutterOvershootMm | No | ||
| pinBoreDiameterMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, and the description adds worthwhile context: the recipe uses four native history steps and returns every confirmed revision. However, it never states what geometry is destroyed or how the join affects the target Solid, leaving a gap against the destructive annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the operation, with no filler. The sizing/seam details are reasonably placed but the third sentence is somewhat clipped.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter composite CAD operation with 0% schema coverage, no output schema, and a destructive annotation, the description leaves several required parameters (revision, outerDiameterMm, lengthMm, intent) and the cutterOvershoot default unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It clarifies that the axis is world-space and that the bore is the finished pin-clearance diameter, but lengthMm, outerDiameterMm, cutterOvershootMm, revision, and intent go entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Create), a specific resource (hollow cylindrical hinge barrel), and scope (along a world-space axis, joined to one existing Solid). This distinguishes it from generic siblings like plasticity_create_cylinder without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It establishes context that the barrel is joined to exactly one existing Solid, implying when the tool applies, but never states when to prefer it over alternatives such as create_cylinder or boolean. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_instanceA
Create one native linked instance from a current source body, optionally translated in millimeters. Later source-body edits propagate through the instance.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyId | Yes | ||
| intent | No | ||
| revision | Yes | ||
| translationMm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (readOnly=false, destructive=false, openWorld=false), and the description adds a genuinely non-obvious behavioral trait: the instance stays linked so later source-body edits propagate. That linkage-vs-static-copy distinction is real value beyond the annotations. No auth or rate-limit context, but none is clearly needed for a local CAD mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, zero filler, with the core action front-loaded and the propagation caveat placed where it matters. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param mutation tool with an output-schema-free surface, the description covers the key behavioral trait but leaves two parameters (intent, revision) undocumented and says nothing about what is returned. Adequate but with clear gaps against 0% schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must carry the burden. It only clarifies translationMm ("optionally translated in millimeters") and obliquely bodyId; the required "revision" and the "intent" parameter are never mentioned or explained anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: "Create one native linked instance from a current source body." The qualifier "native linked" distinguishes it semantically from plasticity_duplicate_bodies (which makes independent copies), but the description never names that sibling or explicitly routes between them, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The propagation clause ("Later source-body edits propagate through the instance") implies when to prefer this over a static duplicate, but it never states when-not to use it or names alternatives (duplicate_bodies, realize_instances, list_instances). Usage is inferable rather than instructed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_locating_pin_pairADestructive
Add one exact cylindrical locating pin to a male Solid and cut its clearance-matched socket into a different female Solid. The base center lies on the mating plane and the axis points from the pin into the socket. Radial and axial clearances are explicit millimeter inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| pinHeightMm | Yes | ||
| baseCenterMm | Yes | ||
| maleTargetId | Yes | ||
| baseOverlapMm | No | ||
| pinDiameterMm | Yes | ||
| femaleTargetId | Yes | ||
| axialClearanceMm | Yes | ||
| cutterOvershootMm | No | ||
| radialClearanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, so the write/destructive nature is already covered. The description goes beyond that by specifying exactly what is modified: a pin added to the male Solid and a socket cut into a different female Solid, which tells the agent two bodies are affected. It does not cover permissions or reversibility, but that is a minor gap given 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core operation front-loaded, then geometric conventions, then the clearance inputs. There is little waste, though the final sentence restates that clearances are in millimeters rather than adding new meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 12-parameter geometry operation with no output schema and no parameter documentation in the schema, the description supplies the key geometric semantics but omits the roles of several required and optional parameters (revision, intent, baseOverlapMm, cutterOvershootMm) and gives no return-value context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 12 parameters, so the description must carry the load. It clarifies baseCenterMm (lies on the mating plane), axis (points from pin into socket), and radial/axial clearances (explicit millimeter inputs), but leaves maleTargetId, femaleTargetId, revision, intent, baseOverlapMm, cutterOvershootMm, pinDiameterMm, and pinHeightMm unexplained, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific compound verb+resource: add a cylindrical pin to a male Solid and cut a clearance-matched socket into a separate female Solid. This is clear enough to distinguish from curve/profile creation siblings, though it never explicitly names the closest sibling (plasticity_create_locating_pin_pair_pattern).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied. The phrase 'one exact cylindrical locating pin' hints at the singular case versus the pattern variant, and the two-body male/female framing implies this is for mating locating features, but there is no explicit when-to-use or when-not-to-use guidance or named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_locating_pin_pair_patternADestructive
Add 2-64 explicit cylindrical locating pins to a male Solid and cut matching radially and axially clearanced sockets into a different female Solid. Centers lie on the mating plane; the axis points from pins into sockets. One native union joins all pins and one native Boolean cuts all sockets. Clearances are exact geometric inputs, not process-qualified print-fit recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| pinHeightMm | Yes | ||
| maleTargetId | Yes | ||
| baseCentersMm | Yes | ||
| baseOverlapMm | No | ||
| pinDiameterMm | Yes | ||
| femaleTargetId | Yes | ||
| axialClearanceMm | Yes | ||
| cutterOvershootMm | No | ||
| radialClearanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and readOnlyHint=false, and the description adds substantive behavior: pins are explicitly unioned into the male solid, sockets are cut by a native Boolean from the female, centers must lie on the mating plane, and the axis direction is defined. It stops short of stating reversibility or whether the operation is transactional, but adds real context beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the operation, then the geometric constraint, then the construction mechanism, closing with a useful caveat about clearance interpretation. Nearly every clause earns its place, though the 'native union/native Boolean' detail is mildly implementation-facing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter, 9-required tool with no output schema and no parameter descriptions, the description covers the core operation and geometry but omits return/failure behavior, unit conventions, and definitions for the two defaulted clearance/overlap parameters. Adequate but with clear gaps for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains axis orientation, the mating-plane placement of baseCentersMm, the radial/axial clearance semantics, and implies the pin diameter/height, but leaves baseOverlapMm, cutterOvershootMm, intent, and revision entirely undefined. Partial compensation, not full.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource pair ('Add 2-64 explicit cylindrical locating pins... and cut matching sockets') with the exact mechanical outcome and geometry. The multi-pin count (2-64) and 'different female Solid' implicitly separate it from the single-pin sibling plasticity_create_locating_pin_pair.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides semantic guidance ('Clearances are exact geometric inputs, not process-qualified print-fit recommendations') that shapes how inputs should be chosen, but never says when to prefer this over the single-pin sibling or what preconditions the male/female solids must satisfy. Usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_mating_enclosure_jointBDestructive
Add an exact male lip and clearance-matched female groove to two existing axis-aligned enclosure halves. The seam origin is the lower-left outer corner at the mating plane. All temporary ring solids are consumed and eight native history steps are returned.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| overlapMm | No | ||
| clearanceMm | Yes | ||
| lipHeightMm | Yes | ||
| maleTargetId | Yes | ||
| outerDepthMm | Yes | ||
| outerWidthMm | Yes | ||
| seamOriginMm | Yes | ||
| femaleTargetId | Yes | ||
| lipThicknessMm | Yes | ||
| wallThicknessMm | Yes | ||
| cutterOvershootMm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructive=true and readOnly=false, and the description earns its keep by disclosing that all temporary ring solids are consumed and that eight native history steps are returned. This tells the agent the operation is mutating and that intermediate solids are destroyed, which the annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core purpose and followed by the geometric convention and the side effects. Every sentence carries information; the only minor cost is that the very dense phrasing presumes domain vocabulary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter destructive tool with no output schema and no schema descriptions, the description is incomplete: it explains the geometric intent, one parameter convention, and the return count, but leaves most parameters unexplained. It is enough to understand the tool's purpose but not enough to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 13 parameters and 0% schema description coverage, the description carries the full documentation burden, yet it only clarifies one point: the seamOriginMm convention (lower-left outer corner at the mating plane). The remaining fields (lipThicknessMm, lipHeightMm, clearanceMm, overlapMm, cutterOvershootMm, wallThicknessMm, targets, revision) are entirely undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a precise verb and resource: it adds a clearance-matched male lip and female groove to two existing axis-aligned enclosure halves. This is far more specific than the name and clearly differentiates it from generic joint siblings like create_tongue_groove_joint, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only contextual hint is that the targets must be 'existing axis-aligned enclosure halves,' which reads as a precondition rather than usage guidance. There is no indication of when to pick this over the many other joint tools (tongue_groove, dovetail, split_screw_insert), nor any when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_nurbs_curveBDestructive
Create a native interpolating NURBS curve through three or more world-space points in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| closed | No | ||
| intent | No | ||
| pointsMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation is not read-only, is destructive, and is not open-world, so the description need not restate safety metadata. It adds useful context about geometry type and world-space millimeter units, but it does not explain destructive effects, prerequisites, or what happens to prior geometry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded with the action and resource and contains no filler. It is appropriately sized for a creation tool, though its efficiency comes at the cost of detail captured in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter, destructive, no-output-schema mutation tool, the description is too thin. It omits important context such as the meaning of revision, the closed option, intent, required application state, and what the tool modifies or returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains pointsMm as world-space millimeter coordinates and at least three points, but it is silent on the closed, intent, and revision parameters, leaving most inputs undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a precise verb ('Create') and a specific resource ('native interpolating NURBS curve'), and its 'through three or more world-space points in millimeters' phrasing distinguishes it from sibling linear, polyline, arc, and circle creators. It is not a tautology and gives the agent enough to identify the tool's core output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative-tool guidance is given. A large set of curve-creation siblings exists (polyline, arcs, circles, ellipse, etc.), yet the description never explains why an agent would choose this NURBS interpolating curve over those options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_pipesBDestructive
Create native solid or hollow circular pipes along one or more Wire spines. Diameter and optional wall thickness are millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| spineIds | Yes | ||
| diameterMm | Yes | ||
| wallThicknessMm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the write nature is covered structurally. The description adds useful semantic context (result is a native solid, solid vs hollow variants, millimeter units) but says nothing about the destructive implications, the required concurrency 'revision' token, or what existing geometry is affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the core capability is front-loaded before the unit convention. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and a required, undocumented revision parameter, the description is only minimally sufficient. An agent still lacks the spine-type prerequisite and the meaning of the concurrency token required to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It does clarify diameterMm/wallThicknessMm units in millimeters and implies spineIds are Wire spines, but the required 'revision' parameter (apparently an optimistic-concurrency token) and the optional 'intent' field are completely unexplained anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Create native solid or hollow circular pipes along one or more Wire spines'), which lets an agent distinguish this from generic primitive creators like create_cylinder or revolve_profile. It does not, however, name any sibling it should be preferred over the way a 5 requires.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool versus sweep_regions, create_cylinder, create_torus, or the other solid-generation siblings, and no prerequisites (spines must be Wire-type) or exclusions are stated. Usage is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_polylineBDestructive
Create a native polyline or closed profile in world coordinates or a referenced construction plane.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=false, so the safety profile is covered externally. The description adds nothing about what is created, whether existing geometry is affected, or what happens on failure; it merely restates a creation action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and output type come first. It is efficient, though so terse that it omits information an agent needs for a creation operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an empty input schema, no output schema, and only three annotation hints, the description carries the full burden of telling the agent how geometry is defined (points? selection?) and what is produced. Mentioning the coordinate/plane option is useful, but the definition is thin for a creation tool in a library of dozens of curve creators.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool declares zero parameters, which sets the baseline at 4 per the rubric. The phrase "in world coordinates or a referenced construction plane" is the only signal about how the curve is positioned, but with an empty schema there is nothing else the description could add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ("Create a native polyline or closed profile") and identifies the coordinate context. It is distinguishable from siblings such as plasticity_create_nurbs_curve or plasticity_create_circle by the polyline/profile output, but it never explicitly contrasts itself with those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose a polyline over the many sibling curve creators (nurbs curve, circle, rectangle, regular polygon) nor any prerequisite or exclusion. The only contextual hint is where geometry may be placed, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_printed_external_threadADestructive
Create a standalone exact one-start rounded thread intended for a matched printed part. It creates and preserves a native Helix, forms the ridge with Pipe and Boolean, and clips the result to the explicit crest diameter and length. Nominal diameter is geometry only: this rounded-print profile is not an ISO metric thread and needs printer/material/profile-qualified depth and pitch.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| name | No | ||
| intent | No | ||
| pitchMm | Yes | ||
| revision | Yes | ||
| handedness | No | right | |
| axisStartMm | Yes | ||
| threadDepthMm | Yes | ||
| threadLengthMm | Yes | ||
| radialDirection | No | ||
| nominalDiameterMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry the safety profile (destructiveHint=true, readOnlyHint=false), so the bar is lower, yet the description still adds real value: it discloses the construction sequence (native Helix, Pipe, Boolean, clip to crest diameter/length) and the important non-obvious caveat that this is not an ISO metric profile. It omits permission/rate/dependency details but goes well beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core action and followed by implementation details and the critical ISO caveat. Zero filler, though the construction-sequence sentence is arguably more than a caller needs before invoking.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, 11-parameter geometry mutation with no output schema and no per-parameter schema docs, the description covers behavior and the key profile caveat well. It still leaves parameter documentation and any statement about what is created/returned or how errors surface unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage across 11 parameters, the description must compensate, and it partially does—clarifying that nominalDiameterMm is geometry-only (not ISO) and that pitch/depth are profile-qualified. But axis, axisStartMm, radialDirection, handedness, revision, name, and intent get no semantic detail, leaving most parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Create) and a precise resource (standalone one-start rounded external thread), and the words 'standalone' and 'printed/external' differentiate it from the cut_printed_internal_thread sibling. It stops short of explicitly naming alternatives, but the purpose is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the intended use ('for a matched printed part') and a precondition ('needs printer/material/profile-qualified depth and pitch'), which implies the qualification workflow. However, it never explicitly contrasts this with cut_printed_internal_thread or the printed hex screw/nut creators, so the agent must infer which thread tool to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_printed_hex_nutADestructive
Create an exact extruded hex nut with a matched one-start rounded internal print thread. Across-flats size, thickness, minimum remaining wall, pitch, depth and normal profile clearance are explicit; the source hex Wire and Helix remain editable. It is a custom printed mating part, not an ISO nut unless a separate verified standard-profile workflow is used.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| pitchMm | Yes | ||
| revision | Yes | ||
| handedness | No | right | |
| thicknessMm | Yes | ||
| acrossFlatsMm | Yes | ||
| entryCenterMm | Yes | ||
| threadDepthMm | Yes | ||
| radialDirection | No | ||
| cutterOvershootMm | No | ||
| nominalDiameterMm | Yes | ||
| profileClearanceMm | Yes | ||
| flatNormalDirection | Yes | ||
| minimumWallThicknessMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, so the mutation profile is known. The description adds one genuinely new behavioral fact — 'the source hex Wire and Helix remain editable' — but says nothing about permissions, feature-tree effects, or failure modes beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the create action, and each sentence adds positional or scope information. Slight verbosity from qualifiers ('exact', 'matched') but no filler padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter (11 required), no-output-schema, zero-coverage tool, the description omits how the direction vectors and coordinate inputs relate to each other and what 'revision' or 'intent' mean. An agent could not confidently construct a call from this description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden. It names the semantics of only about six of fifteen parameters (across-flats, thickness, minimum wall, pitch, depth, profile clearance) and leaves direction vectors (axis, entryCenterMm, flatNormalDirection, radialDirection), handedness, revision and intent unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create') plus a precise resource ('extruded hex nut with a matched one-start rounded internal print thread'), which is clearly distinguishable from siblings like plasticity_create_printed_hex_screw, plasticity_cut_printed_internal_thread, and plasticity_create_hex_nut_pocket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The final sentence establishes scope and routes the agent away from this tool: it is 'a custom printed mating part, not an ISO nut unless a separate verified standard-profile workflow is used.' That is a real when-not condition, though it never names the sibling tool that handles standard/ISO threads.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_printed_hex_pairADestructive
Create a complete matched printable hex screw and nut from a designation such as 'printed M5x10 pair'. The designation supplies only crest diameter and screw thread length; pitch, rounded-profile depth, normal clearance, head and nut envelopes remain explicit and shared. Printer, material, slicer profile, nozzle, layer height, orientation, clearance evidence and sizing basis are recorded. An optional immutable physical qualification ID is checked against the exact process, thread definition, clearance, and required engagement before mutation. Without it, the result remains marked as requiring a physical fit test. This custom rounded-print-v1 pair is not ISO metric hardware.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| pitchMm | Yes | ||
| process | Yes | ||
| revision | Yes | ||
| screwName | No | ||
| handedness | No | right | |
| designation | Yes | ||
| sizingBasis | Yes | ||
| threadDepthMm | Yes | ||
| nutThicknessMm | Yes | ||
| qualificationId | No | ||
| radialDirection | No | ||
| nutAcrossFlatsMm | Yes | ||
| nutEntryCenterMm | Yes | ||
| screwAxisStartMm | Yes | ||
| cutterOvershootMm | No | ||
| screwHeadHeightMm | Yes | ||
| profileClearanceMm | Yes | ||
| flatNormalDirection | Yes | ||
| screwHeadAcrossFlatsMm | Yes | ||
| screwJunctionOverlapMm | Yes | ||
| nutMinimumWallThicknessMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly=false, destructive=true, openWorld=false), the description discloses real behavior: process metadata (printer, material, slicer profile, nozzle, layer height, orientation, clearance evidence) is recorded, an optional immutable qualification ID is validated against the exact process/thread/clearance/engagement before mutation, and without it the output is flagged as needing a physical fit test. That is meaningful mutation-time context an agent cannot get from the declared hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the create statement, then the designation/parameter split, then the qualification behavior, then the ISO caveat. Sentences are dense but each carries distinct information; no filler or restatement of the name. Slightly clause-heavy for a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-required-parameter, nested-schema, no-output-schema mutation tool, the description covers the conceptual model and the qualification gate well, but leaves the geometric vector inputs, defaults (handedness, radialDirection, cutterOvershootMm), units, and what is returned/created (bodies, groups, names) unspecified. Adequate but with real gaps given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 23 parameters, so the description must carry the load. It successfully maps designation to crest diameter plus thread length and names pitch, rounded-profile depth, normal clearance, and head/nut envelopes as explicit, and enumerates the process sub-fields — but positional/vector params (axis, flatNormalDirection, radialDirection, screwAxisStartMm, nutEntryCenterMm), plus handedness, revision, intent, cutterOvershootMm and wall thickness, go unexplained. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Create) and resource (a complete matched printable hex screw and nut pair), plus the input form ('printed M5x10 pair'). The 'matched pair' framing and the closing note that it is 'not ISO metric hardware' clearly separate it from sibling tools that make only a screw (plasticity_create_printed_hex_screw), only a nut (plasticity_create_printed_hex_nut), or bare threads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implicitly defines its scope by explaining what the designation supplies versus what remains explicit, and it explains the qualification-ID path versus the no-ID path. But it never says when to choose this pair tool over the individual screw/nut/thread siblings, nor states prerequisites (units, existing document state). Usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_printed_hex_screwADestructive
Create an exact wrenchable hex-head screw with a standalone one-start rounded print thread. The thread is clipped to its explicit crest envelope and joined to an overlapping hex head; the source head Wire and Helix remain editable. This is a custom matched print profile and is not ISO metric hardware solely because its crest diameter is named M5 or similar.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| name | No | ||
| intent | No | ||
| pitchMm | Yes | ||
| revision | Yes | ||
| handedness | No | right | |
| axisStartMm | Yes | ||
| headHeightMm | Yes | ||
| threadDepthMm | Yes | ||
| threadLengthMm | Yes | ||
| radialDirection | No | ||
| headAcrossFlatsMm | Yes | ||
| junctionOverlapMm | Yes | ||
| nominalDiameterMm | Yes | ||
| flatNormalDirection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, so the safety profile is covered. The description adds substantive behavioral detail: the thread is clipped to an explicit crest envelope, it is joined to an overlapping hex head, and the source head Wire and Helix remain editable afterwards. It does not explain what the destructive aspect actually removes or what the resulting body set looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the construction method and kept tight with no filler. The final ISO-metric caveat earns its place as a misinterpretation guard, though the middle sentence is somewhat dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter mutation tool with no output schema and no parameter descriptions, the definition conveys the geometric mental model well but leaves the agent without guidance on units, defaults (handedness, radialDirection), required-vs-optional behavior, or what the revision/name/intent fields are for. Adequate but with clear gaps given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 15 parameters (11 required), so the description carries the full burden. It only obliquely maps concepts to parameters — 'crest envelope' gestures at nominalDiameterMm, 'overlapping hex head' at junctionOverlapMm and headAcrossFlatsMm — and says nothing about pitchMm, threadDepthMm, axisStartMm/axis, flatNormalDirection, revision, name, or intent, or about units.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource (create a wrenchable hex-head screw with a one-start rounded print thread) and pins down the geometric construction: crest-clipped thread joined to an overlapping hex head. An agent can separate it from siblings like plasticity_create_printed_external_thread, plasticity_create_printed_hex_nut, and plasticity_create_printed_hex_pair.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing sentence usefully warns that this is a custom matched print profile and that an 'M5' crest diameter does not make it ISO metric hardware, which is real usage context. However, it never states when to choose this tool over the external-thread or hex-pair variants, nor any prerequisites; usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_printed_thread_calibration_setADestructive
Create one custom rounded-print-v1 hex screw and 2-8 separate hex nuts with explicit, unique normal profile clearances. Use this process-specific clearance ladder before choosing the working fit for a printer, material, slicing profile, and orientation. The result remains unqualified until the specimens are physically printed and tested; it is not ISO metric hardware even when the crest diameter is written like M5.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| pitchMm | Yes | ||
| process | Yes | ||
| samples | Yes | ||
| revision | Yes | ||
| screwName | No | ||
| handedness | No | right | |
| designation | Yes | ||
| sizingBasis | Yes | ||
| threadDepthMm | Yes | ||
| nutThicknessMm | Yes | ||
| radialDirection | No | ||
| nutAcrossFlatsMm | Yes | ||
| screwAxisStartMm | Yes | ||
| cutterOvershootMm | No | ||
| screwHeadHeightMm | Yes | ||
| flatNormalDirection | Yes | ||
| screwHeadAcrossFlatsMm | Yes | ||
| screwJunctionOverlapMm | Yes | ||
| nutMinimumWallThicknessMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false and destructive=true, so the write/mutation nature is covered. The description adds real domain behavior beyond that: the result stays 'unqualified until the specimens are physically printed and tested' and is not ISO metric hardware despite M5-style naming. It does not explain what existing model state is altered, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences with the create action front-loaded and the qualification caveat at the end. No filler sentences. It is dense technical prose, which is acceptable given the domain, though the second and third sentences carry a lot of implied context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-required-parameter, nested-object, no-output-schema tool, the description explains intent but leaves all critical geometry and process parameter semantics undocumented (0% schema coverage). An agent still lacks the information needed to populate axis, directions, samples, or the process fingerprint fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 21 parameters with 0% schema description coverage, so the description carries the full burden. It gestures at categories (screw, nuts, profile clearance, printer/material/slicing profile/orientation) but never maps meaning to any named parameter such as pitchMm, threadDepthMm, axis, flatNormalDirection, or the samples array. An agent cannot infer formats or units from the text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it creates one custom rounded-print-v1 hex screw plus 2-8 hex nuts with unique normal profile clearances. This distinguishes it from the plain create_printed_hex_screw / _nut / _pair siblings by emphasizing the calibration-ladder intent. It is clear, though it does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear when-to-use directive: run this clearance ladder 'before choosing the working fit for a printer, material, slicing profile, and orientation.' This positions it correctly in the qualification workflow. It stops short of naming alternative tools (e.g. record/match_printed_thread_qualification) or explicit when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_radius_measurementA
Create a persistent native Plasticity radius measurement on one exact current circular edge. Reference a Wire segment by bodyId plus segmentEntityId from plasticity_list_curve_directions, or a Solid/Sheet edge by bodyId plus edgeId from state. The measurement remains attached to topology, participates in Undo/Redo, and plasticity_list_measurements reports both radius and derived diameter in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| edge | Yes | ||
| name | No | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare it is a non-read-only, non-destructive, closed-world write. The description adds real behavioral detail beyond that: the measurement is persistent and attached to topology, participates in Undo/Redo (i.e., reversible), and is surfaced by plasticity_list_measurements with radius plus derived diameter in millimeters. It does not cover any permission or failure-mode behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action and target, then edge-reference mechanics, then persistence/output facts. Dense but each sentence carries new information; only the phrasing is slightly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param tool with no output schema and no annotation detail, the description covers the hard part (which edge identifier shape to supply and where to get it) plus persistence and Undo semantics. It falls short on explaining the required `revision` parameter and any failure conditions when the edge is not circular.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and it partially does: it fully disambiguates the two-branch `edge` union (bodyId+segmentEntityId for Wire segments vs. bodyId+edgeId for Solid/Sheet edges) and their ID sources. However, the required `revision` token and the `name`/`intent` fields are never explained, leaving half the parameters undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a persistent native Plasticity radius measurement'), constrains it to 'one exact current circular edge,' and thereby distinguishes itself from sibling measurement creators like create_topology_distance_measurement and create_vertex_distance_measurement as well as from the non-persistent set_radius_dimension.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete invocation guidance: reference a Wire segment via bodyId + segmentEntityId sourced from plasticity_list_curve_directions, or a Solid/Sheet edge via bodyId + edgeId sourced from state. That is strong 'how/when to use' context, though it never names an alternative (e.g., set_radius_dimension) or states when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_rectangleADestructive
Create an exact native rectangular Wire and Region from its center, width, and height in world coordinates or a referenced construction plane. Positive angle rotates the width axis around the plane normal in degrees.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, destructive, non-open-world operation. The description adds useful behavior beyond that: it produces two entities (a Wire and a Region), not just geometry, and specifies the angle sign convention. It does not say whether existing geometry is consumed, whether the result is a new body, or anything about undo semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both earning their place; construction inputs come first and the angle convention is appended as a footnote-style clarification. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive creation tool with no output schema, the description covers what is built and how it is parameterized but omits what happens to existing geometry, what the created Wire/Region are named or how they are selected afterward, and any failure/prerequisite conditions. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares no properties at all, so the description is the only source of parameter meaning, and it delivers real semantics: the rectangle is defined from its center, width and height, optionally on a referenced construction plane, and 'positive angle rotates the width axis around the plane normal in degrees' pins down the rotation convention. It still omits parameter names, units for length, and which inputs are optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Create an exact native rectangular Wire and Region,' plus the defining inputs (center, width, height, plane). It is clearly distinct from create_circle/create_regular_polygon/create_box, but it never names a sibling or explicitly contrasts with set_rectangle_dimensions, so differentiation is by inference rather than statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mention of 'world coordinates or a referenced construction plane' implies the two placement contexts in which the tool is used, but there is no explicit when-to-use vs. when-not, no prerequisite about needing an active construction plane, and no alternative tool named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_regular_polygonADestructive
Create one exact native closed regular-polygon Wire and Region with 3-256 vertices. radiusMode=circumradius places every vertex on the supplied radius; radiusMode=inradius uses the supplied center-to-edge distance. Inputs may use world coordinates or a referenced construction plane.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=false, and destructiveHint=true, so the mutation/safety profile is covered structurally. The description adds useful geometry semantics ('exact native', vertex limit, coordinate frame options) but says nothing about whether existing geometry is replaced, what is selected/created, or how the result interacts with the current construction plane state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and vertex constraint, then the two modes, then the coordinate caveat. Every sentence earns its place, though the radiusMode sentence is dense compared to the rest.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with an empty schema, no output schema, and annotations that only cover the safety profile, the description supplies the essential geometry contract (vertex range, radius semantics, coordinate frame). A brief note on output/body-vs-region behavior or plane defaulting would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema exposes no properties at all, so the description must carry the parameter burden and does: it names radiusMode with its two values (circumradius vs inradius) and defines radius as vertex-to-center versus center-to-edge distance. It stops short of enumerating center coordinates or plane-reference argument names, but adds clear meaning beyond the (empty) schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Create one exact native closed regular-polygon Wire and Region with 3-256 vertices.' It clearly distinguishes itself from sibling creators like plasticity_create_circle, plasticity_create_rectangle, and plasticity_create_ellipse by naming the exact primitive and its vertex-count range.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the two radiusMode behaviors and that inputs may use world coordinates or a construction plane, which is actionable context. However, it never states when to choose this polygon over an alternative (e.g., create_circle for smooth shapes, create_rectangle for quads), so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_ribADestructive
Create an exact rib from a closed coplanar world-space profile, extrude it by a signed thickness, and join it to one existing Solid. The profile Wire remains editable. The recipe uses three explicit native history steps and returns each confirmed revision.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| thicknessMm | Yes | ||
| profilePointsMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations establish the safety profile (readOnlyHint=false, destructiveHint=true), so the description's job is to add context — and it does: the profile Wire remains editable, the operation is built from three explicit native history steps, and each confirmed revision is returned. What is not disclosed is the fate of the joined target Solid's existing geometry or any failure/rejection behavior, which matters for a destructive join.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the create/extrude/join action front-loaded and the key constraint (editable profile Wire) immediately after. No filler, though 'native history steps' and 'recipe' assume domain vocabulary without defining it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter, destructive, no-output-schema mutation tool, the description covers geometry inputs and result shape but omits the required revision token's semantics (optimistic concurrency? version pinning?) and gives no indication of failure conditions or what the caller must do next. Adequate, but not sufficient to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It meaningfully explains profilePointsMm (points forming a closed coplanar world-space profile), thicknessMm (a *signed* thickness, which the schema only types as a number), and targetId (one existing Solid) — but leaves the required revision parameter and the intent parameter entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Create) and resource (rib), plus the exact input form (closed coplanar world-space profile), the operation performed (extruded by a signed thickness), and the result (joined to one existing Solid). This is clearly distinguishable from sibling profile/extrusion tools like plasticity_extrude_profile or plasticity_create_polyline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives real preconditions — the profile must be closed, coplanar, world-space, and the target must be one existing Solid — which tells the agent when this tool is applicable. But it never names an alternative (e.g. extrude_profile, thicken_sheets, create_solid_from_sheet) or states when not to use it, so the routing guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_round_vent_arrayADestructive
Cut an exact rectangular array of round through-vents into one Solid. The first center lies on the entry surface, the axis points into it, and both array directions lie in that surface plane. One seed cylinder, one native rectangular pattern, and one Boolean produce up to 400 holes in three history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| count1 | Yes | ||
| count2 | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| direction1 | Yes | ||
| direction2 | Yes | ||
| spacing1Mm | Yes | ||
| spacing2Mm | Yes | ||
| overshootMm | No | ||
| firstCenterMm | Yes | ||
| holeDiameterMm | Yes | ||
| throughDepthMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and not-readOnly, so the safety profile is covered. The description adds genuinely non-redundant behavior: it discloses the construction strategy (one seed cylinder, one native rectangular pattern, one Boolean), the history cost (three history steps), and an implicit scale cap (up to 400 holes). It does not discuss failure modes or what happens on non-planar entry surfaces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler, front-loaded with the operation and followed by the geometric contract and the construction/scale facts. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter, 0%-coverage, output-schema-less mutation tool, the description covers the core geometry well but is silent on roughly a third of the parameters and on revision/targetId semantics. Adequate for the geometric intent, incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 14 parameters, so the description must carry meaning for all of them. It does explain firstCenterMm, axis, direction1/direction2, and encodes the count limits (up to 400 = 20x20), but leaves overshootMm, throughDepthMm, revision, targetId, and intent entirely unaddressed. Partial compensation at best.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb, resource, and geometric scope: cutting a rectangular array of round through-vents into a single Solid. It is clearly distinguishable from neighbors like plasticity_create_through_hole_pattern and plasticity_create_counterbore_pattern, which are single-feature patterns rather than a combined vent array.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the geometry (entry surface, axis direction, in-plane array directions) but never states when to choose this over plasticity_create_through_hole_pattern or the other hole-pattern siblings, nor any preconditions such as the target being a single solid. Usage is implied by the geometric setup rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_screw_bossADestructive
Create an exact cylindrical screw boss joined to an existing Solid, then cut a blind pilot hole from its top. The base point lies on the support surface and the axis points outward. The recipe uses four explicit native history steps and returns each confirmed revision.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| heightMm | Yes | ||
| revision | Yes | ||
| targetId | Yes | ||
| holeDepthMm | Yes | ||
| baseCenterMm | Yes | ||
| baseOverlapMm | No | ||
| holeDiameterMm | Yes | ||
| outerDiameterMm | Yes | ||
| cutterOvershootMm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so safety is covered. The description adds genuine behavioral context beyond that: the recipe uses four explicit native history steps and returns each confirmed revision, telling the agent this is a multi-step modeling operation whose intermediate states matter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences, with the core action front-loaded and no filler. The geometry conventions and history-step note each pull weight, though the transition phrasing is slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and for an 11-parameter construction tool with zero schema descriptions the definition should do more to explain units, the role of baseOverlapMm/cutterOvershootMm, and what 'revision' represents. It fully describes the operation but leaves the parameter surface under-supported.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 11 parameters, so the description must compensate. It only clarifies two: baseCenterMm ('the base point lies on the support surface') and axis ('points outward'). Key parameters like baseOverlapMm, cutterOvershootMm, intent, and revision are given no semantic meaning despite being non-obvious.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource ('Create an exact cylindrical screw boss') and adds the full operation sequence (joined to an existing Solid, then cut a blind pilot hole). This clearly distinguishes it from the sibling plasticity_create_screw_boss_pattern, which presumably repeats the feature instead of creating one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by describing the geometry and constraints (base point on the support surface, axis pointing outward), but there is no explicit when-to-use-vs-alternative guidance. It never tells the agent to prefer this over plasticity_create_screw_boss_pattern for a single feature versus an array.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_screw_boss_patternADestructive
Create 2-64 equal exact cylindrical screw bosses at explicit base centers, join all bosses to one existing Solid in one native union, then cut every blind pilot in one native difference. The shared axis points outward; base overlap gives every boss real union volume. The recipe returns 2N+2 confirmed history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| heightMm | Yes | ||
| revision | Yes | ||
| targetId | Yes | ||
| holeDepthMm | Yes | ||
| baseCentersMm | Yes | ||
| baseOverlapMm | No | ||
| holeDiameterMm | Yes | ||
| outerDiameterMm | Yes | ||
| cutterOvershootMm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag this as a non-read-only, destructive operation, so the bar is lower, and the description still adds real context: it discloses the native union-then-difference sequence, that base overlap supplies genuine union volume, that the axis points outward, and the resulting history step count (2N+2). It never spells out which existing features may be affected or permission needs, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences, front-loaded with the primary action, and each sentence contributes either scope, geometry rationale, or return info. Some phrasing is dense bordering on jargon ('native union', 'recipe returns'), but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 11-parameter mutating operation with no output schema, the description explains the workflow and the return step count but omits parameter-level meaning and failure conditions. Annotations cover safety, so the gap is not critical, but it is not complete for calling this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description must carry the load, but it only gestures at three of them ('base centers', 'shared axis', 'base overlap') and leaves outerDiameterMm, heightMm, holeDiameterMm, holeDepthMm, cutterOvershootMm, revision, and targetId entirely unexplained. The geometry-oriented prose is not enough to compensate for a total schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create ... cylindrical screw bosses') and adds scope ('2-64 equal exact') plus the full operation sequence (union to a Solid, cut blind pilots). The count-based phrasing clearly separates it from the singular sibling plasticity_create_screw_boss.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '2-64 ... at explicit base centers' framing implies the multi-boss pattern use case, but the description never states when to prefer this over plasticity_create_screw_boss or how to call it repeatedly. Usage is inferable rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_section_analysisA
Apply a native Plasticity section plane to the current viewport from a world-space origin and normal. The normal points toward the half-space to clip. An optional nonparallel xDirection sets the plane helper orientation; otherwise MCP derives one. Plasticity supports one active section plane at a time; delete it before applying another. The change is immediately visible in Plasticity and changes the MCP revision, but does not modify B-Rep or Undo history.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| intent | No | ||
| normal | Yes | ||
| originMm | Yes | ||
| revision | Yes | ||
| xDirection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-read-only, non-destructive, closed-world operation; the description goes further by disclosing that the change is viewport-visible, bumps the MCP revision, and does not touch B-Rep or Undo history, plus the single-plane constraint and auto-derived xDirection. The only gap is what the MCP revision change implies for subsequent calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences: geometry inputs first, then orientation behavior, then the single-plane constraint, then side effects. No restatement of the name or fillers, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex viewport-state tool with no output schema, it covers the operation, side effects, revision impact, and exclusivity constraint. The remaining gap is the purpose of the name/intent parameters, which are neither described nor in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden, and it does explain originMm (world-space origin), normal (points toward the clipped half-space), and xDirection (optional, must be nonparallel, else derived). However, name, intent, and revision receive no explanation beyond a passing mention of 'revision', leaving half the parameters ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Apply a native Plasticity section plane') plus the scope ('to the current viewport from a world-space origin and normal'), which clearly distinguishes it from sibling plasticity_list_section_analyses and plasticity_delete_section_analysis. An agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete when-not constraint — only one active section plane is supported, so the agent must delete the existing one before applying another — which implies the alternative tool (plasticity_delete_section_analysis). It does not explicitly name that sibling or state when a section analysis is the right approach versus other planar-split tools, so it falls 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.
plasticity_create_slot_profilesADestructive
Create exact closed constant-width slot or channel profiles around one or more current planar Wire spines in one native Plasticity history step. Each source Wire is preserved and each result is a separate editable Wire suitable for Region extrusion or cutting. Width is the full finished profile width. A lone straight segment does not define a unique native plane; use a planar multi-segment or curved spine, or use plasticity_create_slotted_hole for a straight fastener slot.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| widthMm | Yes | ||
| wireIds | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: source Wires are preserved, each result is a separate editable Wire, the output is suited for Region extrusion or cutting, and the operation happens in a single history step. It does not explain the role of the revision parameter, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences that are front-loaded with the core action, then the preservation/result behavior, then the width clarification, then the caveat and alternative. Every sentence earns its place; it is dense but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description covers what is created, that sources survive, and the plane constraint that governs valid input. The notable omission is any hint about the revision parameter (likely concurrency/state guard), which an agent would otherwise have to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning, and it only partially does. 'Width is the full finished profile width' usefully disambiguates widthMm, and the spine wording implies wireIds, but revision and intent are never explained, leaving a real coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Create) and a precise resource (exact closed constant-width slot or channel profiles around planar Wire spines), plus the scope of operating 'in one native Plasticity history step'. It explicitly differentiates from the sibling plasticity_create_slotted_hole, so an agent can distinguish it without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit precondition ('A lone straight segment does not define a unique native plane') and names the correct alternative for that case ('use a planar multi-segment or curved spine, or use plasticity_create_slotted_hole for a straight fastener slot'). This is exactly the when-to-use / when-not-to-use routing guidance the dimension asks for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_slotted_holeADestructive
Cut an exact straight through-slot with semicircular ends into one Solid. Overall length includes the round ends and must exceed width; entry center, in-plane slot direction, cutting axis, material depth, positive edge distance, and clearance-adjusted finished dimensions are explicit. Exact tangency to an exterior boundary is invalid. The editable center profile remains and five native history steps are returned.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| widthMm | Yes | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| entryCenterMm | Yes | ||
| slotDirection | Yes | ||
| throughDepthMm | Yes | ||
| overallLengthMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is covered. The description still adds real value beyond that: it warns that exact tangency fails, states that an editable center profile survives, and promises five native history steps. It does not mention undo/reversibility or permission requirements, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the action, then constraints, then result behavior. Every sentence carries information, though the middle sentence packs several distinct ideas together and could be split for scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter destructive tool with no output schema, the description covers geometry semantics and failure conditions well, and the returned-history-steps note substitutes for an output schema. It omits any explanation of revision (concurrency), intent, targetId, and overshootMm, which leaves an agent guessing at four required or available inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 10 params, so the description carries the burden and does supply meaning for the geometric core: overall length includes the round ends and must exceed width, entry center, slot direction, cutting axis, material depth, and clearance-adjusted finished dimensions. But four params (targetId, revision, intent, overshootMm) get no explanation at all, notably revision and overshootMm, so compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource plus exact geometry: 'Cut an exact straight through-slot with semicircular ends into one Solid.' An agent can distinguish this from plasticity_create_through_hole or plasticity_create_cylinder without opening any schema. The scope ('into one Solid') is also explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Constrains the call indirectly ('overall length... must exceed width'; 'exact tangency to an exterior boundary is invalid'), which is useful usage-level guidance. However, it never names when to prefer this over siblings such as plasticity_create_slotted_hole_pattern or plasticity_create_through_hole, so routing is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_slotted_hole_patternADestructive
Cut 2-64 equal exact straight through-slots with semicircular ends at explicit entry centers on one Solid. Shared in-plane adjustment direction, overall length, finished width, cutting axis, actual material depth, and positive edge distance are explicit; exact tangency to an exterior boundary is invalid. One editable center profile and three cutters are created per slot; one final Boolean yields 4N+1 confirmed history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| widthMm | Yes | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| slotDirection | Yes | ||
| entryCentersMm | Yes | ||
| throughDepthMm | Yes | ||
| overallLengthMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so safety is covered. The description adds real behavioral depth beyond that: it discloses the construction topology (one editable center profile plus three cutters per slot) and the resulting history cost (4N+1 confirmed steps), which an agent could not infer from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and cardinality, then constraints, then construction behavior. It is dense run-on prose rather than broken structure, but nearly every clause carries actionable geometry or validity information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter destructive modeling tool with no output schema and no annotation detail, the description supplies the geometry semantics, a validity rule, and history impact. Gaps remain on auxiliary inputs (overshootMm, intent, revision) but the core invocation is well covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden, and it maps most parameters semantically: shared in-plane direction (slotDirection), overall length (overallLengthMm), finished width (widthMm), cutting axis (axis), actual material depth (throughDepthMm), and entry centers (entryCentersMm). targetId, revision, intent, and overshootMm are left unexplained, so it is not fully compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Cut) and resource (equal straight through-slots with semicircular ends) with the concrete count range 2-64, on a single Solid. The 'pattern' scope and the 2-64 cardinality clearly separate it from the singular plasticity_create_slotted_hole sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an important validity constraint (exact tangency to an exterior boundary is invalid) and the geometry conditions required, but never explicitly tells the agent when to prefer this over plasticity_create_slotted_hole or plasticity_create_slot_profiles. Usage is implied by the multi-slot scope rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_solid_from_sheetBDestructive
Create a native Solid from one closed Sheet shell while preserving the source Sheet.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the source Sheet is 'preserved' and the input must be a single closed shell. However, it doesn't clarify the tension between 'preserving the source' and destructiveHint=true, nor error behavior for open/multiple shells, keeping it at 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler; the scope qualifier ('one closed Sheet shell') and the preservation note are packed efficiently. Appropriately sized for the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema the description needn't explain return values, and it does state the key precondition and preservation behavior. But for a mutation tool with three completely undocumented parameters, it leaves an agent short of what is needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and none of the three parameters (id, intent, revision) are explained in the description. The phrasing hints that the id refers to a Sheet shell, but intent and revision receive no meaning at all, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Create a native Solid from one closed Sheet shell'. It clearly differs from neighbors like plasticity_thicken_sheets, plasticity_join_sheets, and plasticity_cap_sheet_holes by stating the conversion (sheet to solid) and the scope ('one', 'closed'). No sibling is named explicitly, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the precondition (a closed Sheet shell) but gives no when-to-use guidance or alternatives, e.g. why choose this over plasticity_thicken_sheets or plasticity_insert_sheet. An agent must infer the routing decision entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_sphereBDestructive
Create an exact CAD sphere in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| intent | No | ||
| centerMm | Yes | ||
| radiusMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=false, so the mutation/safety profile is covered. The description adds genuine value by specifying 'exact' geometry and millimeter units, but says nothing about whether a new body is created, how it interacts with the current selection, or how the required 'revision' token behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the unit qualifier front-loaded and zero filler. Every word earns its place; the thinness is a completeness problem, not a verbosity problem.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter mutation tool with 0% schema description coverage and no output schema, one sentence is far from sufficient. It omits any mention of the required revision token, naming/intent parameters, or what the call returns or affects, leaving the agent to guess at invocation details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, and the description only implies units for centerMm and radiusMm via 'millimeters'. Required parameters 'revision' and the optional 'name'/'intent' fields are left entirely unexplained in both the schema and the prose, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create an ... CAD sphere'), which cleanly separates it from sibling primitives such as create_box, create_cylinder, create_cone, and create_torus. The 'exact CAD' phrasing also signals B-rep/solid geometry rather than a tessellated mesh. It stops short of explicitly differentiating itself from any sibling by name or scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no alternatives named, and no prerequisites (e.g., active document, workplane, or revision context). The agent must infer from the tool name alone that this is the right call for a solid sphere primitive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_split_screw_insert_jointADestructive
Build a split-half fastener pattern in one logical recipe: cut matched clearance holes through the male half, then create exact pilot, heat-set insert, and lead-in pockets from the mating plane into the female half. Supply paired coaxial centers, a resolved headed screw designation and under-head length, exact insert part number and HTTPS source, matching insert thread diameter/pitch, explicit engagement limits, and qualified process-specific pocket dimensions. The tool rejects thread or length mismatches before CAD mutation and verifies that all stations align within 0.01 mm. It does not infer insert geometry, thread capacity, print clearance, head seat, or joint strength.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| maleTargetId | Yes | ||
| pilotDepthMm | Yes | ||
| insertDepthMm | Yes | ||
| leadInDepthMm | Yes | ||
| screwLengthMm | Yes | ||
| femaleTargetId | Yes | ||
| holeDiameterMm | Yes | ||
| holeOvershootMm | No | ||
| insertSourceUrl | Yes | ||
| pilotDiameterMm | Yes | ||
| insertDiameterMm | Yes | ||
| insertPartNumber | Yes | ||
| leadInDiameterMm | Yes | ||
| insertOvershootMm | No | ||
| maleThroughDepthMm | Yes | ||
| fastenerDesignation | Yes | ||
| insertThreadPitchMm | Yes | ||
| maximumEngagementMm | Yes | ||
| minimumEngagementMm | Yes | ||
| screwEntryCentersMm | Yes | ||
| insertEntryCentersMm | Yes | ||
| femaleMaterialDepthMm | Yes | ||
| insertThreadNominalDiameterMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is known. The description adds real value beyond that: input validation that 'rejects thread or length mismatches before CAD mutation' and an alignment tolerance check ('all stations align within 0.01 mm'), plus explicit non-inference boundaries. It stops short of describing the result state or any partial-mutation behavior on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the two-stage workflow, followed by required inputs, then validation and limitations. Dense but each clause does work; only minor redundancy between the input list and the non-inference sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 26-parameter destructive tool with no output schema, the description covers the workflow, the pre-mutation validation, the tolerance guarantee, and the boundaries of what it will not infer – enough for an agent to decide to call it and know the inputs must be fully qualified. Remaining gaps are per-parameter semantics and the returned result, which are lower priority given the annotations already signal the destructive nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 26 parameters and 0% schema description coverage, the description carries the full documentation burden. It groups inputs into meaningful categories (paired coaxial centers, screw designation and under-head length, insert part number with HTTPS source, thread diameter/pitch, engagement limits, process-specific pocket dimensions), which is better than nothing, but it does not map these to specific fields or clarify ambiguous ones like holeOvershootMm, insertOvershootMm, revision, or the axis vector, and it never states units.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and compound resource ('Build a split-half fastener pattern... cut matched clearance holes through the male half, then create exact pilot, heat-set insert, and lead-in pockets... into the female half'). This clearly distinguishes it from the granular siblings like plasticity_create_heat_set_insert_pocket and plasticity_create_through_hole_pattern, which do only half of the recipe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It makes the selection context clear: this is the 'one logical recipe' that combines clearance holes plus insert pockets, versus the individual operations. It also states an exclusion ('It does not infer insert geometry, thread capacity, print clearance, head seat, or joint strength'), which tells the agent what must be supplied rather than inferred, but it never names an alternative tool or the condition under which the granular tools should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_tangent_arcADestructive
Create one exact native circular arc tangent to a selected current Wire segment at its start or end and terminating at an explicit point. Use plasticity_list_curve_directions to obtain the segment entity and its exact endpoints. flipTangent selects the opposite tangent sense, which can select the major rather than minor arc. The end may use world coordinates or a referenced construction plane.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is known. The description adds real behavioral context beyond them, notably that flipTangent inverts the tangent sense and can yield the major rather than minor arc, but it never explains what the destructive hint means here (what existing geometry is affected) or how the new arc relates to the parent wire.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences with no filler; the core action is front-loaded and the prerequisite tool and flipTangent caveat follow in priority order. Every sentence carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no parameters in the schema, so the description must carry the load, and it covers tangency conditions, the flipTangent side effect, prerequisite discovery tool, and coordinate-frame options. It is nearly complete, missing only the required-selection precondition wording and what the operation returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema declares zero properties, so the baseline is high, and the description supplies meaning for arguments the schema does not expose: flipTangent's tangent-sense inversion and that the end point may be given in world coordinates or via a referenced construction plane. It still omits any format specifics for those coordinates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (create an exact native circular arc) with precise qualifiers: tangent to a selected Wire segment at its start or end, terminating at an explicit point. This clearly distinguishes it from sibling arc tools such as create_center_arc and create_three_point_arc, which have no tangency constraint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names a prerequisite workflow explicitly: use plasticity_list_curve_directions to obtain the segment entity and its exact endpoints, which tells the agent how to set up the call. It does not, however, state when to prefer this over tangent-circle or three-point-arc alternatives, 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.
plasticity_create_tangent_circleADestructive
Create one exact fixed-radius native circle tangent to two current Wire segments. Use plasticity_list_curve_directions immediately before this call. solutionPointMm selects the intended solution near one of the possible circle centers; it is not an additional geometric constraint. World-space inputs require the sketch-plane normal, while plane-local inputs inherit the referenced construction plane. Both source Wires remain unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide the safety profile (readOnlyHint=false, openWorldHint=false, destructiveHint=true); the description adds substantive behavior: solutionPointMm is a disambiguator rather than a constraint, world-space input requires the sketch-plane normal while plane-local input inherits the referenced construction plane, and both source Wires remain unchanged. The 'sources unchanged' claim sits in mild tension with destructiveHint=true, but creating new geometry still mutates document state, so this is not a hard contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, none wasted, with the core action front-loaded before the prerequisite and parameter semantics. It is dense with unexplained domain jargon ('native circle', capitalized 'Wire segments'), which slightly raises the reading cost, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a geometry-creation tool with no output schema, the description covers the construction rule, the sequencing prerequisite, solution selection, coordinate-frame handling, and non-destructiveness of inputs. What it omits is what the call produces (new curve/body identity) and failure behavior, though the absence of an output schema limits how much can reasonably be expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a zero-parameter schema the baseline is 4, and the description does real work here: it explains that solutionPointMm selects among multiple possible circle centers and is 'not an additional geometric constraint', and it clarifies the world-space vs plane-local coordinate-frame requirement. The only gap is that the schema object is empty even though the description references inputs, so the documentation is not backed by declared properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb, resource and construction rule: create one fixed-radius native circle tangent to two current Wire segments. This distinguishes it from the sibling circle tools (create_circle, create_two_point_circle, create_three_point_circle) and from create_tangent_arc 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete prerequisite sequence ('Use plasticity_list_curve_directions immediately before this call'), which tells the agent when in a workflow to invoke it. It does not, however, state when NOT to use it or name a competing sibling (e.g. a tangent-arc route), so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_textADestructive
Create Plasticity-native closed Wire outlines for text at a world or construction-plane baseline origin. Font size is nominal millimeters; inspect the resulting exact curve bounds before using the outlines for embossing, engraving, or clearance-critical geometry. Plasticity may create multiple Wires and Regions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-readonly, destructive, and non-open-world behavior. The description adds useful behavioral context beyond that: font size is nominal millimeters, the operation may create multiple Wires and Regions, and the exact curve bounds should be inspected before downstream use. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and outcome. Each sentence contributes relevant information: the creation scope, the unit caveat, and the downstream verification warning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete enough for a parameterless creation tool with annotations and no output schema: it states what is produced, the unit assumption, and a verification step. It does not explain how the text content is supplied or selected, which is a minor gap for an agent invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so the baseline is 4. The description's mention of font size adds context about units, but there are no actual parameters for it to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Create), resource (Plasticity-native closed Wire outlines for text), and scope (at a world or construction-plane baseline origin). It is clearly distinguishable from sibling curve creation tools such as create_polyline or create_nurbs_curve because it targets text outlines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear downstream-use context ('before using the outlines for embossing, engraving, or clearance-critical geometry'), which implies when the output matters. It does not explicitly compare against alternatives or say when not to use this tool, so it falls 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.
plasticity_create_three_point_arcADestructive
Create one exact native circular arc from a start point through a second point to an end point. Point order selects the minor or major arc and preserves start-to-end curve direction. Inputs may use world coordinates or a referenced construction plane.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare that this is not read-only and is destructive, so the creation behavior is covered. The description adds useful behavioral context beyond the annotations: point order selects the minor or major arc, start-to-end direction is preserved, and inputs can be in world coordinates or on a referenced construction plane.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: the first defines the geometry, the second explains point-order effects, and the third explains coordinate-system options. The core purpose is front-loaded and no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an arc-creation tool with no output schema and annotations covering mutation safety, the description gives enough geometric and coordinate-system context to call it correctly. It does not explain prerequisites such as active document or selection state, but its core behavioral and input semantics are adequately covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description still adds input semantics by noting that coordinates may be world coordinates or use a referenced construction plane, although it does not enumerate individual point parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: create a native circular arc, defined precisely by a start point, a through point, and an end point. That geometric construction distinguishes it from center-arc and tangent-arc siblings without needing to name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the three-point construction: use this when the arc must pass through a second point between endpoints. However, the description never explicitly compares this tool to alternatives such as create_center_arc or create_tangent_arc, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_three_point_circleADestructive
Create one exact native circle through three distinct non-collinear points. The three points determine its plane, center, and radius; plane-local inputs are resolved through the referenced construction plane. The result is a closed Wire with an automatic Region.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=true, openWorld=false, so safety/state is covered. The description adds genuine behavioral value beyond them: exact deterministic construction and the concrete result shape ("closed Wire with an automatic Region"), which an agent needs to know what it produces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences with little waste; the construction constraint leads and the resolution rule and result follow. Slightly dense but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description covers the return form (closed Wire with automatic Region), so the agent knows the outcome. The only gap is how the three points and plane are provided given the empty parameter schema, but for a native-construction tool the definition is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters, so the baseline is 4 regardless of description. The description does add meaningful geometric semantics — the three points define plane, center, and radius, and inputs are interpreted in the referenced construction plane — though it leaves open how the points are actually supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ("Create") plus resource ("circle") plus the defining method ("through three distinct non-collinear points"), which cleanly separates it from the sibling two-point and center-based circle tools. An agent can select it correctly 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the geometric construction method and the note that "plane-local inputs are resolved through the referenced construction plane" hint at when/how it applies. No explicit when-to-use, when-not-to-use, or named alternative (e.g. two_point_circle) is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_through_holeADestructive
Cut one exact round through-hole into a current Solid. The entry center lies on the target surface, the axis points into the material, and the finished diameter and material depth must come from the selected fit or qualified process rather than the nominal thread diameter. The cutter and Boolean are two explicit native history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| entryCenterMm | Yes | ||
| holeDiameterMm | Yes | ||
| throughDepthMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, so safety is partly covered. The description adds real modeling context beyond that: the operation is a cut into an existing solid, and it produces two explicit native history steps (cutter + Boolean), which tells the agent the history/revision impact of the call. It does not say what happens to the removed material or how to revert, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the operation itself, then geometry, then sizing rule, then history behavior. No filler or repetition, though the sizing sentence is somewhat dense relative to what it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive CAD mutation with no output schema, the safety profile is covered by annotations and the geometric inputs are reasonably explained. Gaps remain around the concurrency role of revision, overshoot behavior past the far side, and what the call returns (new body, history step identifiers), which an agent would need to chain this into a workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description carries the burden and only partially meets it. It clarifies entryCenterMm (lies on the target surface), axis (points into the material), holeDiameterMm (finished diameter, explicitly not the nominal thread diameter), and throughDepthMm (material depth), but says nothing about overshootMm's 0.5 default, revision, targetId, or intent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
'Cut one exact round through-hole into a current Solid' names the specific verb, the feature type, the cardinality ('one'), and the target entity. It is immediately distinguishable from siblings such as plasticity_create_blind_hole, plasticity_create_counterbore, and plasticity_create_through_hole_pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies context via geometry ('entry center lies on the target surface, the axis points into the material') and gives a design rule for sizing (use the selected fit or qualified process, not nominal thread diameter). However, it never states when to pick this over a blind hole, counterbore, or the pattern variant, so routing to alternatives is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_through_hole_patternADestructive
Cut 2-256 equal exact round through-holes at explicit entry centers on one current Solid. The shared axis points into the material; finished diameter and material depth must come from the selected fit or qualified process. Each native cylinder is a confirmed history step and one final Boolean consumes every cutter.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| overshootMm | No | ||
| entryCentersMm | Yes | ||
| holeDiameterMm | Yes | ||
| throughDepthMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the mutation risk is covered, but the description adds genuinely useful behavior: the axis sign convention points into the material, the diameter/depth must originate from a fit or qualified process, each cylinder becomes a confirmed history step, and a single final Boolean consumes all cutters. This clarifies the modeling sequence beyond what the annotations state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, well front-loaded with the core operation first, then geometric requirements, then history/Boolean consequence. Little waste, though phrasing like 'equal exact' is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only hints in annotations, the description carries the behavioral load well, covering geometry, sourcing of dimensions, and resulting construction history. It stops short of explaining the revision parameter and failure/validation behavior, which for a destructive 8-parameter tool would have closed the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does add meaning for axis direction (into material), entryCenters (explicit rather than derived), and the 2-256 count matching the schema bounds, but it leaves revision, intent, targetId, and the overshootMm default (0.5) unexplained, so several parameters remain opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a precise verb+resource+scope: 'Cut 2-256 equal exact round through-holes at explicit entry centers on one current Solid.' That is enough for an agent to distinguish it from the single-hole sibling plasticity_create_through_hole and from slotted/counterbore pattern tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It constrains usage implicitly ('one current Solid', shared axis into material, diameter and depth sourced from a fit or qualified process) but never names an alternative or states when to prefer this over placing individual holes or a slotted pattern. The constraints hint at applicability without routing the agent explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_tongue_groove_jointBDestructive
Add an exact rectangular tongue to one Solid and cut its clearance-matched blind groove into another. The base center lies on the mating plane, the axis points from tongue to groove, and width direction lies in that plane. Both source profiles remain editable.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| baseCenterMm | Yes | ||
| baseOverlapMm | No | ||
| tongueWidthMm | Yes | ||
| grooveTargetId | Yes | ||
| tongueHeightMm | Yes | ||
| tongueTargetId | Yes | ||
| widthDirection | Yes | ||
| axialClearanceMm | Yes | ||
| cutterOvershootMm | No | ||
| radialClearanceMm | Yes | ||
| tongueThicknessMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and readOnlyHint=false, so the agent knows this is a mutating operation; the description corroborates that by stating it modifies two solids. It adds genuinely new behavioral context not in the annotations: 'Both source profiles remain editable,' which tells the agent the operation is parametric/reversible at the feature level. It does not cover permissions or failure behavior, so it is not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, with the core operation front-loaded and the orientation convention following. No filler or restatement of the tool name, and every sentence contributes either operation definition or geometric semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter, 11-required constructive mutation with no output schema and no schema-level descriptions, the description is too sparse. It explains orientation but omits the meaning and effect of the clearance, overshoot, overlap, revision, and intent parameters, and gives no indication of what the tool returns or how the two modified bodies are identified afterward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 14 parameters, so the description carries the full semantic burden, yet it only explains baseCenterMm, axis, and widthDirection. The dimensional parameters (tongueWidthMm, tongueThicknessMm, tongueHeightMm, radialClearanceMm, axialClearanceMm), plus baseOverlapMm, cutterOvershootMm, revision, and intent, are left completely undocumented beyond their type and name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it adds a rectangular tongue to one solid and cuts a clearance-matched blind groove into another. This precisely describes a two-sided joint operation. It does not distinguish itself from functional siblings like plasticity_create_dovetail_joint or plasticity_create_mating_enclosure_joint, so it misses the top mark.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no alternative sibling is named. The coordinate-frame sentences describe geometry convention, not the conditions under which this joint should be chosen over dovetail or snap-fit alternatives, leaving usage to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_topology_distance_measurementB
Create a persistent native Plasticity point-to-point distance measurement between two current Solid or Sheet topology points. Each endpoint may be an exact vertex, edge midpoint, or face center. The measurement remains attached to topology, participates in Undo/Redo, and is listed with stable measurement and topology identities.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| first | Yes | ||
| intent | No | ||
| second | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and destructiveHint=false. The description usefully adds that the measurement is persistent, stays attached to topology, participates in Undo/Redo, and carries stable measurement/topology identities — real behavioral context beyond the structured fields. It omits any note on permissions or failure modes, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and no filler. There is mild overlap between 'persistent' and 'remains attached to topology', but it is close to fully earning its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter mutation with no output schema and no annotation detail on behavior, the description covers the endpoint model and persistence well but leaves name, intent, and revision unexplained, so an agent lacks the full picture needed to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does compensate for the two most complex parameters by explaining that each endpoint may be a vertex, edge midpoint, or face center. However, it says nothing about name, intent, or revision, leaving three of five parameters with no semantic help in either schema or description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create') and resource ('persistent native Plasticity point-to-point distance measurement') with clear scope ('between two current Solid or Sheet topology points'). The 'persistent'/'native' framing implicitly separates it from transient measure tools, but it never names the relevant siblings (plasticity_measure_point_distance, plasticity_create_vertex_distance_measurement), so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool creates but gives no when-to-use guidance, no exclusions, and no routing among the many measurement siblings. An agent cannot tell from this text whether to prefer it over plasticity_measure_point_distance or plasticity_create_vertex_distance_measurement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_torusADestructive
Create an exact ring torus Solid and preserve its editable native circular profile in one Plasticity history step. Center, major radius to the tube centerline, minor tube radius, symmetry axis, and radial zero direction are explicit; the major radius must exceed the minor radius.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | ||
| name | No | ||
| intent | No | ||
| centerMm | Yes | ||
| revision | Yes | ||
| majorRadiusMm | Yes | ||
| minorRadiusMm | Yes | ||
| radialDirection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=true), so the bar is lower, and the description still adds genuine context: the result is an exact solid that preserves an editable native circular profile within a single history step. It does not explain effects on existing geometry or the meaning of the required revision token, but the profile-preservation/history detail is real behavioral value beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the creation action and its key output characteristic. The second sentence is a somewhat dense list, but every clause conveys information; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter destructive mutation with no output schema, the description covers the geometric intent well but omits the semantics of the required revision token and gives no hint of what the tool returns or how the new body is identified. Adequate but with a clear gap where the required revision parameter is concerned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry parameter meaning, and it does for the geometry inputs: center, major radius measured to the tube centerline, minor tube radius, symmetry axis, and radial zero direction, plus the constraint that major radius must exceed minor radius. It leaves name, intent, and especially the required revision parameter unexplained, so compensation is strong but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Create) and resource (exact ring torus Solid) and qualifies the output as an editable native circular profile in one history step, marking it apart from the many curve/profile and primitive siblings like plasticity_revolve_profile or plasticity_create_sphere. An agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never states when to choose this tool over alternatives (e.g. revolve_profile) or any preconditions beyond the geometric constraint. Usage is only implied by the verb and resource name; no exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_two_point_circleADestructive
Create one exact native circle from the two endpoints of its diameter. In world coordinates, the explicit plane normal must be perpendicular to the diameter; plane-local inputs inherit the referenced construction plane. The result is a closed Wire with an automatic Region.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=true), so the description's job is to add behavioral context, which it does: it discloses the geometric constraint on the plane normal, that plane-local inputs inherit the construction plane, and that the output is a closed Wire with an automatic Region. It does not explain why a create call carries destructiveHint=true, leaving one gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the operation and followed by coordinate rules and result topology. No filler, though the coordinate clause is dense enough that it could have been split for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description states the result type (closed Wire with automatic Region), and it documents the coordinate/perpendicularity constraints. It is complete enough to call correctly, with the only omission being the reason behind the destructive annotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 declared parameters, the baseline is 4. The description nonetheless clarifies how implied inputs are interpreted (world vs plane-local, plane normal perpendicular to the diameter), which is genuinely useful given the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create one exact native circle') and pins the defining input ('from the two endpoints of its diameter'), which cleanly separates it from the sibling three-point and center-based circle tools. An agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives coordinate-system rules but never says when to choose this over plasticity_create_circle, plasticity_create_three_point_circle, or plasticity_create_tangent_circle. No prerequisites, exclusions, or alternative-selection guidance are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_create_vertex_distance_measurementB
Create a persistent native Plasticity point-to-point distance measurement between two current B-Rep vertices. The measurement participates in document Undo/Redo and remains attached to its topology.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| first | Yes | ||
| intent | No | ||
| second | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations establish the mutation safety profile (readOnlyHint=false, destructiveHint=false), and the description usefully goes beyond them: it discloses that the measurement is persistent, participates in document Undo/Redo, and stays attached to its topology. That is real behavioral value for a write operation. It stops short of stating return values, naming/overwrite behavior, or how the required revision interacts with concurrent edits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and zero filler; the persistence/Undo-Redo/topology facts follow as supporting context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, 0% schema description coverage, and a 5-parameter nested payload, the description covers the what but leaves essential call-time detail unexplained, most notably the required revision parameter and the optional name/intent fields. It is adequate to understand the tool but not complete enough to invoke it confidently without inspecting the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, including two nested objects (first/second each requiring bodyId+vertexId) plus name, intent, and a required revision string. The description only loosely maps to first/second via 'between two B-Rep vertices' and says nothing about revision (apparently a concurrency token), name, or intent, so it does not compensate for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: create a persistent point-to-point distance measurement between two B-Rep vertices. It is unambiguous what the tool produces. However, it never distinguishes itself from close siblings such as plasticity_measure_point_distance (transient) or plasticity_create_topology_distance_measurement, so an agent must infer the difference from the word 'persistent' alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'between two current B-Rep vertices' hints at a prerequisite, and 'persistent' implicitly contrasts with transient measure tools. But there is no explicit when-to-use statement, no stated preconditions (e.g. that the vertices must exist in the current document/revision), and no named alternative for quick, non-persisted checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_current_selectionARead-only
Read bodies, linked instances, approximate reference meshes, groups, faces, edges, regions, and native Wire boundary/control handles currently selected by the user in Plasticity.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, non-destructive, non-open-world read, so the safety profile is covered. The description usefully extends this by enumerating what entity categories are returned, which is the main added value, but it says nothing about ordering, empty-selection behavior, or how the result is structured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the verb and scope, with the entity list following. Every element earns its place; the only mild cost is the long enumeration, which is nonetheless informative rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema present, the description carries the burden of describing return content and does so by listing the returned entity types. It stops short of describing result structure or the empty-selection case, but for a read-only, zero-parameter tool it is close to sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema is trivially complete and there is nothing for the description to compensate for. The baseline for a parameterless tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and a well-scoped resource ('...currently selected by the user'), then enumerates the entity kinds involved (bodies, instances, reference meshes, groups, faces, edges, regions, Wire handles). It is distinctly different from sibling list_*/select_* tools in intent, but it never names a sibling to contrast against, so the differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'currently selected by the user' implies the operating context (inspect the live CAD selection) but gives no explicit when-to-use, no exclusions, and no pointer to alternative tools such as plasticity_select_bodies or plasticity_list_bodies. An agent can infer the intent but must guess at the boundary cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_curve_patternBDestructive
Distribute current Solid or Sheet bodies along the full length of one native Wire spine. Count includes the source position; Plasticity creates independent native bodies, preserves the spine, and applies its verified tangent-following orientation in one history step.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| count | Yes | ||
| intent | No | ||
| spineId | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is covered. The description adds genuine context beyond that: 'Count includes the source position,' 'creates independent native bodies,' 'preserves the spine,' and 'in one history step' clarify reversibility/isolation semantics the annotations do not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, purpose front-loaded, and the second sentence efficiently packs behavioral facts without filler. No wasted text, though it is dense rather than structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 5-parameter mutation with no output schema and 0% schema coverage, the behavioral side is well covered but parameter documentation is missing for three inputs (ids, revision, intent). Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 5 parameters, so the description must carry the burden. It only clarifies count ('includes the source position') and implies spineId; ids, revision, and intent are entirely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Distribute current Solid or Sheet bodies along the full length of one native Wire spine.' This is a pattern-along-curve operation, distinct from sibling patterns like rectangular_pattern or radial_pattern, though the description never names an alternative to reinforce the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It describes the action but gives no when-to-use guidance, no prerequisites for selecting a Wire spine, and no exclusions relative to the many sibling pattern/curve tools. The only constraint offered ('one native Wire spine') is a shape requirement, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_cut_cable_channelBDestructive
Cut one or more exact circular cable channels along current editable Wire paths. The finished channel diameter includes required cable clearance. Native solid Pipe cutters are consumed by one Boolean while source Wires remain in the document. The recipe uses two history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| spineIds | Yes | ||
| targetId | Yes | ||
| channelDiameterMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the safety profile is covered, and the description adds genuinely useful behavior: native Pipe cutters are consumed by the Boolean while source Wires persist, and the recipe uses two history steps. This tells the agent what is destroyed versus retained, which the annotations alone do not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences with the operation front-loaded and no filler. Each sentence carries distinct information (operation, diameter semantics, cutter/wire lifecycle, history cost), though the density is high for a single block.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation whose annotations already cover safety, the behavior disclosure (consumed cutters, surviving wires, two history steps) is solid, and no output schema exists to explain. However, with 0% schema coverage and four required parameters, the description leaves the agent without enough to bind spineIds and targetId confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden. It clarifies channelDiameterMm ('finished channel diameter includes required cable clearance'), which is real added meaning, but leaves spineIds, targetId, revision, and intent entirely unexplained. Only one of five parameters gains semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Cut one or more exact circular cable channels along current editable Wire paths.' This is clearly a distinct channel-cutting operation, not merely a boolean or pipe creation. It does not, however, differentiate itself explicitly from nearby siblings like plasticity_create_pipes or plasticity_boolean.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the prerequisite that Wire paths must be editable, but gives no explicit when-to-use guidance or exclusions relative to alternatives such as plasticity_create_pipes or plasticity_boolean. No statement of when this tool is the wrong choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_cut_printed_internal_threadADestructive
Cut an exact one-start rounded internal thread into one current Solid for a matched printed external thread. The bore, helical groove, normal profile clearance, material depth and overshoot are explicit. This custom rounded-print profile is not an ISO tap and must not be assumed compatible from an M designation alone.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| pitchMm | Yes | ||
| revision | Yes | ||
| targetId | Yes | ||
| handedness | No | right | |
| entryCenterMm | Yes | ||
| threadDepthMm | Yes | ||
| materialDepthMm | Yes | ||
| radialDirection | No | ||
| cutterOvershootMm | No | ||
| nominalDiameterMm | Yes | ||
| profileClearanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=false, so the safety profile is covered. The description adds meaningful context beyond that: the operation cuts into exactly one current Solid, the geometry is fully driven by explicit parameters, and the profile is non-standard/non-ISO, which warns the agent not to assume interchangeability. It does not mention reversibility or failure modes, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded and the compatibility caveat placed last as a caution. Every sentence carries information, though the 'bore, helical groove, normal profile clearance, material depth and overshoot are explicit' clause is a slightly loose enumeration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter destructive mutation with no output schema, the description covers what the tool does and the key compatibility caveat but leaves most parameter meaning unexplained. No return-value explanation is needed since there is no output schema, but an agent still lacks guidance on the entry/axis/radial-direction inputs needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 13 parameters, so the description carries the full naming burden. It illuminates bore, helical groove, normal profile clearance, material depth and overshoot — mapping to roughly three or four parameters — but says nothing about axis, entryCenterMm, radialDirection, handedness, revision, intent, or targetId, leaving the majority of parameters undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('cut an exact one-start rounded internal thread into one current Solid') and scopes it to a single target body, which clearly separates it from sibling creators like plasticity_create_printed_external_thread. The 'matched printed external thread' framing tells the agent this is the internal-thread counterpart operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It supplies a real usage constraint — the profile is a custom rounded-print form, is not an ISO tap, and cannot be inferred from an M designation — which steers the agent away from treating it as a generic tapped hole. However, it never names an explicit alternative or prerequisite workflow (e.g. resolve_fastener_designation, match_printed_thread_qualification, or the paired external-thread tool), so the agent must infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_cut_with_facesBDestructive
Split current Solid or Sheet bodies with current planar cutter faces. Cutter bodies are preserved. To trim an open Sheet, inspect the returned exact Sheet parts and delete only the unwanted part at the returned revision.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| targetIds | Yes | ||
| cutterFaces | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the destructive write profile (readOnlyHint=false, destructiveHint=true), so the bar is lower. The description adds real value beyond them: cutter bodies are preserved (non-obvious survivor behavior), and it reveals that a revision is returned for follow-up edits, which is not implied by 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each with a distinct job: what the operation does, what survives, and the follow-up workflow. Front-loaded and waste-free, though the phrasing 'current ... current' is slightly repetitive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, the description usefully signals survivor behavior and a returned revision, but with 4 undocumented parameters at 0% coverage it is not fully complete enough for an agent to invoke confidently without inspecting the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it only partially does: it hints at cutterFaces and the target solids/sheets. The required 'revision' and optional 'intent' parameters are never explained, and no format or ID-semantics guidance is offered, leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource combination: splitting Solid or Sheet bodies using planar cutter faces, which distinguishes it from sibling plane-based splits like plasticity_split_solid_by_plane. It does not explicitly name or contrast a sibling alternative, so it stops short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides one concrete usage scenario: when trimming an open Sheet, inspect the returned parts and delete the unwanted one at the returned revision. However, it gives no guidance on when to prefer this over split_solid_by_plane(s), boolean cut, or other cutting siblings, so routing remains implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_define_datum_axisB
Define a revision-bound axis from points, coordinates, a linear edge, or a cylindrical face.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| definition | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, closed-world operation, so the safety burden is largely carried by structured data. The description adds that the axis is 'revision-bound', a useful piece of behavioral context, but says nothing about what is created/visible afterward, failure modes, or undo behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the enumerations are packed efficiently and nothing needs to be pruned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a complex four-way oneOf schema, no output schema, and no parameter descriptions, the definition covers the input-mode selection well but leaves the revision-binding requirement, the intent field, and the resulting geometry undocumented. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It helpfully maps the four definition variants ('points, coordinates, a linear edge, or a cylindrical face') to the schema's discriminated union, which is the hardest part to infer. However, the required 'revision' parameter and the 'intent' parameter get no explanation beyond the loose 'revision-bound' phrasing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (define) and resource (datum axis) and enumerates the four sourcing modes (points, coordinates, linear edge, cylindrical face), which map directly to the schema's oneOf variants. It does not explicitly name or distinguish itself from close siblings like plasticity_define_datum_point or plasticity_create_construction_plane, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus plasticity_define_datum_point, plasticity_set_workplane, or the other construction-geometry tools, and no prerequisites stated. The only usage cue is the implicit mapping of input modes to geometry types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_define_datum_pointA
Define a revision-bound point from coordinates or exact current topology.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| definition | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that the point is revision-bound and can be defined from exact current topology, which is useful context, but it does not explain mutation persistence, revision mismatch behavior, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single sentence that is front-loaded and free of filler. Every phrase contributes to identifying the resource, its revision binding, or its input modes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema is structurally rich and annotations cover the safety profile, so the description need not repeat parameter syntax. Nonetheless, it is terse for a tool with 0% schema description coverage and leaves 'revision-bound' and 'intent' semantics unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It partially does by mapping 'coordinates' and 'exact current topology' to the definition parameter's alternatives and by implying that revision must be supplied. It adds no meaning for the optional 'intent' parameter or for the specific coordinate/topology ID formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Define') and resource ('point'), and it distinguishes the tool by its source modes ('coordinates or exact current topology'). It does not explicitly name sibling datum tools such as plasticity_define_datum_axis, so it falls just short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from coordinates or exact current topology' implies the two main usage modes, giving an agent a usable starting point. However, it does not state when to prefer this tool over alternatives such as creating a construction plane or datum axis, nor does it give any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_deform_bodies_between_facesA
Create independent native Solid or Sheet copies by mapping all faces of selected bodies from one exact source face onto a different exact target face. Source bodies and both reference-face bodies are preserved. Scale U/V/normal and orientation flags are dimensionless native mapping controls; inspect the resulting exact geometry because deformation intentionally changes shape and dimensions.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| flipUV | No | ||
| intent | No | ||
| mirror | No | ||
| scaleU | No | ||
| scaleV | No | ||
| revision | Yes | ||
| flipNormal | No | ||
| sourceFace | Yes | ||
| targetFace | Yes | ||
| scaleNormal | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare it is a non-read-only, non-destructive, closed-world mutation. The description adds real beyond-annotation context: source bodies and both reference-face bodies are preserved, the operation creates independent copies, and deformation intentionally changes shape and dimensions. This tells an agent what is and isn't consumed by the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences that front-load the core operation before preservation semantics and parameter notes. Little waste, though the second and third sentences pack multiple ideas without breaking them apart.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, no-output-schema, nested-object mutation tool, the description covers purpose, preservation behavior, and a subset of parameter meaning. It leaves revision (likely a concurrency token), intent, and the ids/sourceFace/targetFace structure unexplained, which an agent would want for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description must compensate. It clarifies that scaleU/scaleV/scaleNormal and the orientation flags (flipUV, mirror, flipNormal) are dimensionless mapping controls, which is genuinely useful. However, ids, sourceFace, targetFace, revision, and intent get no explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: create independent Solid/Sheet copies by mapping all faces from a source face onto a target face. This distinguishes it from the near-sibling plasticity_deform_curves_between_faces (bodies vs curves). It stops short of explicitly naming the alternative, but the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied (creating deformed copies while preserving originals) but there is no explicit when-to-use, when-not-to-use, or alternative routing. The caveat to inspect resulting geometry is a warning rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_deform_curves_between_facesB
Create independent native Wire copies by mapping selected curves from one exact source face onto a different exact target face. Source Wires and both reference-face bodies are preserved. Scale U/V/normal and orientation flags are dimensionless native mapping controls; inspect the returned exact curve points, tangents, lengths, and bounds because deformation intentionally changes geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| flipUV | No | ||
| intent | No | ||
| mirror | No | ||
| scaleU | No | ||
| scaleV | No | ||
| revision | Yes | ||
| flipNormal | No | ||
| sourceFace | Yes | ||
| targetFace | Yes | ||
| scaleNormal | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnlyHint=false and destructiveHint=false. The description goes beyond them by stating that source Wires and both reference-face bodies are preserved, that the output is independent copies rather than an in-place edit, and that deformation intentionally changes geometry. This is meaningful added context, though it omits revision/transaction semantics and any error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action, then the preservation guarantee, then the numeric-control and verification notes. No filler, though the final clause about returned points/tangents/lengths/bounds is slightly list-heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, nested-object mutation with no output schema, the description does useful work by naming what the return inspection should cover (exact curve points, tangents, lengths, bounds). It still leaves the required inputs and the revision/intent parameters unexplained, and gives no failure or rollback context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description must carry the load. It does explain the intent of scaleU/scaleV/scaleNormal as dimensionless native mapping controls and groups flipUV/mirror/flipNormal as orientation flags, which covers roughly half the parameters. It says nothing about the required ids, sourceFace/targetFace structure, revision, or intent parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create independent native Wire copies by mapping selected curves from one exact source face onto a different exact target face'), which is clear and actionable. It implicitly distinguishes itself from the curve-creation siblings by operating on existing faces, but it never names the closest sibling plasticity_deform_bodies_between_faces, so an agent must infer the split between curve-deform and body-deform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites (e.g. that source and target faces must already exist in the document), and no named alternative for the curve-vs-body deform decision. The only actionable instruction is to inspect the result afterwards, which is verification advice rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_deleteCDestructive
Delete selected body IDs with Undo support.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is covered structurally. The description adds useful behavioral value by disclosing that deletion is Undo-supported, but omits what happens on revision mismatch, auth needs, or the scope of the undo.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the operation front-loaded and zero wasted words. It is efficient, though arguably too terse given the undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, 3-parameter tool with 0% schema coverage and no output schema, the description is too thin. It does not explain the mandatory revision parameter, the purpose of intent, or what the tool returns, leaving the agent under-informed about a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning, and it largely fails. It maps loosely to the 'ids' array, but the required 'revision' parameter (a concurrency token) and the 'intent' parameter are completely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Delete selected body IDs'), which is clear and actionable. However, with many sibling delete tools (delete_edges, delete_faces, delete_measurement, delete_instances), it does not explicitly differentiate itself from those alternatives beyond naming 'body IDs'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus other deletion tools, no prerequisites stated, and no mention of the required 'revision' concurrency parameter. 'With Undo support' hints at reversibility but does not tell the agent when this is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_delete_curve_control_pointsADestructive
Delete one or more current interior B-Spline control points from a single Wire in one Plasticity history step. References must come from plasticity_list_curve_control_points at the current revision. This changes the curve path and reindexes the remaining control-point IDs, so discard every old handle reference and re-read structure, handles, endpoints, tangents, and functional geometry afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| points | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, but the description adds the critical side effects: the curve path changes and remaining control-point IDs are reindexed, so old handles become invalid. It then mandates re-reading structure, handles, endpoints, tangents, and functional geometry, which is exactly the behavioral context needed to avoid stale-reference errors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action, then the reference requirement, then the reindexing consequence and recovery steps. No filler; every clause carries operational meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, no-output-schema tool this is nearly sufficient: the reindexing hazard and required re-reads are covered, which is the main correctness risk. Remaining gaps are the undocumented 'intent' parameter and any error/partial-failure behavior when some points in the set are invalid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies the plural point set, the single-Wire scope, and that revision must be current and references must originate from the list tool. However, the 'intent' field and the nested bodyId/kind/pointId structure are never explained, leaving part of the 3-param surface undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (Delete), a precise resource (interior B-Spline control points), and scope limits (from a single Wire, in one history step). This clearly separates it from editing siblings such as plasticity_move_curve_control_points and plasticity_slide_curve_control_points.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a hard prerequisite and routes the agent to plasticity_list_curve_control_points for valid references at the current revision. It also prescribes post-call behavior (discard old handles, re-read), though it does not contrast the tool against adjacent editing operations beyond the reference source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_delete_edgesADestructive
Remove exact current B-Rep edges from one body through Plasticity's native surface healing. Use for removable split or seam edges between compatible adjacent faces; the native operation can reject structural edges. Re-read all topology after success.
| Name | Required | Description | Default |
|---|---|---|---|
| edges | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this destructive and not read-only/open-world, so the bar is lower. The description adds valuable behavioral context: the operation uses native surface healing, can reject structural edges, and requires re-reading topology afterward. It does not discuss undo behavior or failure recovery.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and resource, followed by usage constraints and a required post-condition. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive topology-editing tool with no output schema and 0% parameter coverage, the description covers behavior and post-conditions well but omits parameter meaning, especially the revision parameter and intent. It is adequate but has clear gaps an agent would need filled before calling correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters (edges, intent, revision). The description implies edges must be exact and current, but does not explain the required revision guard, the optional intent reason, or how bodyId and edgeId are used together. It compensates very little for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Remove exact current B-Rep edges from one body,' and narrows scope to split/seam edges between compatible adjacent faces. It does not explicitly name or distinguish itself from sibling tools like plasticity_delete_faces or plasticity_unjoin_shells.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear use case ('removable split or seam edges between compatible adjacent faces') and a limitation ('the native operation can reject structural edges'). It stops short of naming alternatives or explicitly stating when another tool should be chosen instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_delete_facesCDestructive
Delete exact current faces from Solid or Sheet bodies, leaving the remaining native shell editable.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the destructive nature is covered structurally. The description adds a genuine behavioral consequence ('leaving the remaining native shell editable'), but says nothing about the required revision guard, reversibility via undo, or permission/auth needs for this mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, leading with the action and target. It is efficiently sized, though it errs toward under-specification rather than over-verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema and 0% schema coverage, the description is too thin: it omits the meaning of the required revision parameter and the intent field, so an agent cannot confidently construct a call from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and it does not. It never mentions the required 'revision' concurrency token or the optional 'intent' field, leaving two of three parameters undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Delete) and resource (faces) and scopes it to Solid or Sheet bodies, distinguishing it from sibling delete_edges or dissolve_faces. It does not, however, name an alternative tool or clarify when face deletion is preferred over those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, nor any named alternative among the many delete_* and face-editing siblings. The clause about leaving the shell editable is a post-condition, not routing guidance, so the agent must infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_delete_instancesADestructive
Delete current native linked instances through Plasticity Undo/Redo history without deleting their source bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds valuable behavioral context: the operation is routed through Undo/Redo history and preserves source bodies, which is beyond annotation data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence, front-loaded with the action and scope, with no redundant text. Every clause adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and zero schema descriptions, the definition relies entirely on the description for invocation details, but it omits parameter semantics and usage alternatives. The behavioral notes are helpful, yet the definition remains incomplete for a destructive three-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description offers no meaning for the three parameters (ids, revision, intent). An agent cannot learn what 'revision' refers to or how 'ids' map to instances from either the schema or the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Delete' on a specific resource 'current native linked instances', and adds the crucial scope qualifier 'without deleting their source bodies', which distinguishes it from generic deletion tools like plasticity_delete. It also clarifies the mechanism ('through Plasticity Undo/Redo history').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage by stating the effect (delete linked instances while preserving source bodies), but it does not explicitly say when to choose this over siblings such as plasticity_delete, plasticity_realize_instances, or plasticity_delete_named_selection, nor does it state any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_delete_measurementBDestructive
Delete one current native Plasticity measurement by stable measurement ID through document Undo/Redo history.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and readOnlyHint=false, so the mutation risk is covered structurally. The description adds genuinely new context not present in annotations: deletion is routed through document Undo/Redo history (i.e., reversible), and only 'current native' measurements qualify. It does not describe failure modes or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and target come first and the Undo/Redo caveat follows. Mildly dense ('current native ... stable measurement ID') but appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive mutation with no output schema and 0% schema coverage, and the required 'revision' parameter is never explained anywhere the agent can see. For a delete operation that is explicitly history-tracked, the definition should at least say what revision is and what happens if it is stale.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden. It clarifies that the integer id is a 'stable measurement ID', which is useful, but it says nothing about the required 'revision' parameter (likely a concurrency/version token) or the optional 'intent' string. Two of three parameters remain semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Delete), resource (Plasticity measurement), and scope qualifier (one current native measurement), which distinguishes it from plasticity_list_measurements and the create_*_measurement siblings. It could be sharper about what 'native' means, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no mention of alternatives such as plasticity_list_measurements (to find the ID) or plasticity_undo (as an alternative to deletion). The only implicit signal is that only 'current native' measurements can be deleted, which is a scope limit rather than routing advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_delete_named_selectionBDestructive
Delete one MCP semantic named selection without changing Plasticity geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| selectionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this destructive/non-readOnly, but the description adds genuinely new information: the deletion is confined to MCP metadata and does not alter Plasticity geometry. That tempers the destructive hint in a way an agent needs. It stops short of saying whether the deletion is reversible or what happens on an unknown selectionId.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with zero filler, front-loading the action and resource. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a trivial one-parameter delete with no output schema, and the geometry non-impact note is a real contribution. The gaps are the provenance of selectionId and failure/reversibility behavior on a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter selectionId has 0% schema description coverage and the description never mentions it, so its meaning (a UUID referencing a named selection) must be inferred. No hint about where to obtain a valid ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Delete') plus a precise resource ('one MCP semantic named selection') and a scope of exactly one item. This is clearly distinguishable from the neighboring plasticity_save_named_selection and plasticity_list_named_selections tools, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no routing to the sibling that produces the selectionId (list_named_selections). The only contextual signal is the negative scope claim about geometry, which is a constraint rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_delete_reference_meshesADestructive
Delete current approximate STL/OBJ reference meshes through Plasticity Undo/Redo history without touching native B-Rep bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this destructive and non-read-only, so the bar is lower. The description adds genuine value beyond them: deletion runs 'through Plasticity Undo/Redo history' (implying reversibility) and is scoped to not affect native B-Rep bodies, clarifying exactly what is and isn't destroyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the action verb first and zero filler. Every clause (undo/redo history, B-Rep exclusion) carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations cover the destructive profile and there is no output schema to explain, but for a delete tool with two required params at 0% schema coverage the description omits critical invocation detail, notably the required 'revision' token and the meaning of 'intent'. It is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning and it largely does not. It never explains what 'ids' selects, what 'revision' represents (a required concurrency/version token), or what 'intent' is for, leaving all three required/supported params opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (Delete) and a precisely scoped resource (approximate STL/OBJ reference meshes), and it distinguishes the target from native B-Rep bodies. It stops short of naming a sibling tool, but the resource scope is unambiguous relative to the list/move/rotate reference-mesh siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the scope claim 'without touching native B-Rep bodies', which tells the agent this is only for meshes, not solids. However, there is no explicit when-to-use, when-not-to-use, or alternative routing (e.g., undo/redo, unlink), leaving conditions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_delete_section_analysisB
Clear the active native Plasticity section plane by its current session-stable analysis ID. The viewport returns to an unclipped state; B-Rep and Undo history are unchanged, while the MCP revision is updated.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only give the safety flags, and the description adds real behavioral context beyond them: the viewport returns to an unclipped state, B-Rep and Undo history are untouched, and the MCP revision is bumped. This tells the agent exactly what changes and what does not, consistent with destructiveHint=false. It stops short of covering invalid-ID behavior or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the action and target, then consequences. No filler text. Slightly jargony ('session-stable') but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-impact session mutation with safety annotations and no output schema, the description adequately frames behavior. However, with 0% schema coverage and a required 'revision' parameter that is never explained, the agent lacks enough to construct a correct call in all cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are 3 parameters, so the description must carry the burden. It adds meaning only for 'id' ('session-stable analysis ID'); the required 'revision' parameter and the optional 'intent' parameter are never explained anywhere, leaving two of three parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Clear') and resource ('active native Plasticity section plane') and the identifying mechanism ('session-stable analysis ID'), which distinguishes it from the create/list section_analysis siblings by implication. It is clear, though it never names the siblings explicitly the way a top-scoring definition would.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no stated precondition (e.g. 'requires an existing analysis created by plasticity_create_section_analysis'), and no mention of alternatives. The phrase 'current session-stable analysis ID' weakly implies an analysis must already exist, but this is inference rather than guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_design_reference_requestARead-only
Read a persisted design-reference analysis without starting or retrying a Codex turn.
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false. The description adds useful behavioral context beyond annotations by clarifying that the tool reads a persisted result and does not start or retry a Codex turn, which is important for avoiding unwanted computation. It stops short of describing error behavior, waiting semantics, or retrieval failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It states the core action and the key behavioral constraint immediately, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema and safety annotations already present, the description covers the core purpose and a key behavioral distinction. However, it omits any explanation of requestId, including where it comes from or what happens when no persisted analysis exists, leaving a meaningful gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, requestId, with 0% schema description coverage. The description does not mention requestId at all, so it fails to compensate for the schema's lack of documentation. It only vaguely implies that the identifier refers to a persisted analysis, without explaining format, source, or how to obtain it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Read) and resource (persisted design-reference analysis), making the tool's purpose clear. It partially distinguishes itself from siblings by stating it does not start or retry a Codex turn, which separates it from analysis-starting tools, though it does not name an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without starting or retrying a Codex turn' implies when to use this tool: to retrieve an existing analysis rather than trigger a new one. However, it does not explicitly state when to choose it over siblings like plasticity_analyze_design_reference or plasticity_reference_search_status, leaving routing guidance implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_diagnoseARead-only
Report MCP runtime and reachable Plasticity windows without changing a document.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the agent knows this is a safe, local read. The phrase 'without changing a document' reinforces that but adds little new; it also doesn't disclose what a 'reachable window' means or what a failed probe looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler; the resource list comes before the non-mutating qualifier, so the agent reads the substance first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the burden of explaining what is reported, and it names both the runtime and window inventory. It is nearly complete, missing only differentiation from the many sibling diagnostic/inspection tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb ('Report') and two specific resources ('MCP runtime' and 'reachable Plasticity windows'), plus the non-mutating scope. It does not, however, distinguish itself from close siblings like plasticity_status, plasticity_list_windows, or plasticity_capabilities, so an agent cannot tell from the text alone which diagnostic to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'without changing a document' gestures at a safe diagnostic read, but there is no explicit when-to-use or when-not-to-use guidance, and no mention of the obvious alternatives (plasticity_status, plasticity_list_windows) that an agent would weigh against it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_dissolve_facesBDestructive
Remove selected exact face boundaries by merging the faces into compatible adjacent native surfaces.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, so the safety profile is covered. The description adds real behavioral context beyond them: this is not a plain delete but a merge of faces that removes their shared boundaries. It still omits reversibility, what happens when surfaces are not compatible, and whether non-selected adjacent faces are touched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the operation and its mechanism are stated immediately. Slightly dense jargon ('exact face boundaries', 'native surfaces') costs a little readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive topology-edit tool with no output schema and zero schema description coverage, the description explains the mechanic but leaves prerequisites ('compatible'), error behavior, and the revision parameter unaddressed. Annotations carry the safety side, so the definition is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and none of the three parameters (faces, revision, intent) are mentioned or explained in the description. The only implicit link is 'selected' faces, which loosely maps to the faces array, but revision/optimistic-concurrency semantics and the intent field are entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Remove selected exact face boundaries by merging the faces into compatible adjacent native surfaces'), which is more precise than the name alone. However, it does not distinguish itself from neighboring tools such as plasticity_delete_faces or plasticity_dissolve_groups, so the agent must infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the phrase 'compatible adjacent native surfaces' hints at a precondition for when this operation will work, but there is no explicit when-to-use, when-not-to-use, or routing to alternatives like delete_faces or untrim_faces. The agent gets a hint of applicability but no decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_dissolve_groupsADestructive
Dissolve current non-root Plasticity groups and promote their contents to each parent without deleting the contained geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and readOnlyHint=false, so the risk profile is known; the description adds the crucial nuance that this destruction is structural only — contained geometry is explicitly NOT deleted and is promoted up to parents, and it excludes root groups. That materially changes how an agent should treat the operation. It stops short of noting error behavior on invalid/root ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with the verb and the safety-critical detail (geometry preserved) front-loaded. Nothing redundant and nothing that restates the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, no-output-schema operation with 0% parameter documentation, the outcome of the operation is well covered but the inputs are not: an agent knows what will happen yet not what to pass or how root-group/unknown ids are handled. Complete on effect, incomplete on invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters (ids, intent, revision), so the description must carry the burden and largely does not. It never explains that ids selects the groups to dissolve, nor does it mention that revision is a required concurrency token — the only semantic pointer ('non-root') is a constraint, not a parameter mapping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (dissolve) and resource (Plasticity groups), plus the scope constraint (non-root) and the resulting state (contents promoted to each parent). An agent can distinguish this from plasticity_delete, plasticity_rename_group, or plasticity_move_to_group 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description — you call it when you want groups removed but geometry retained — but there is no explicit when-to-use/when-not-to-use guidance, nor a named alternative (e.g., a plain group delete) that would be wrong for this job. Adequate but leaves the selection reasoning to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_distribute_fastener_group_loadA
Calculate and persist elastic in-plane force and moment distribution for a caller-described rigid group of identical-stiffness fasteners. Any supplied CAD binding is removed. Loads are distributed exactly as supplied with no safety factor. Optionally provide a traceable design allowable in N for every exact fastener configuration in shearCapacities; each allowable must already include its required safety factor. This adds an individual fastener shear-only screen, not a joint or plate strength pass. Without these records, the tool reports load demand only.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| kind | Yes | ||
| load | Yes | ||
| method | Yes | ||
| binding | No | ||
| evidence | Yes | ||
| fasteners | Yes | ||
| assignments | Yes | ||
| assumptions | Yes | ||
| shearCapacities | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real context beyond annotations: 'Any supplied CAD binding is removed', 'Loads are distributed exactly as supplied with no safety factor', and each supplied allowable must already include its own factor. These are behavioral facts the readOnlyHint=false / destructiveHint=false annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then the mutation note, the no-safety-factor caveat, and the optional screen. Every sentence is substantive, though the passage is dense and could be split for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, nested-schema, no-output-schema tool, the description covers the computational semantics and the key optional input but omits any mention of the evidence, assumptions, assignments, goal/kind/method scaffolding an agent must still populate correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 10 params, so the description carries the load. It does explain shearCapacities (per-fastener configuration, N allowables, pre-applied safety factor) and implies the load/binding content, but leaves kind, goal, method, evidence, assignments, and assumptions entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource ('Calculate and persist elastic in-plane force and moment distribution') and scopes it to a 'rigid group of identical-stiffness fasteners'. It also explicitly rules out adjacent operations ('not a joint or plate strength pass'), which separates it from siblings like plasticity_verify_fastener_group_plate_bearing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly describes the optional shearCapacities path: when provided it adds an individual shear-only screen; when absent the tool 'reports load demand only'. It also names the boundary against joint/plate passes, though it doesn't enumerate alternatives by name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_download_and_import_parasolidADestructive
Download one explicitly selected HTTPS Parasolid file or ZIP containing exactly one compatible member from a public hostname and import it as exact native B-Rep geometry. Returns compact document state and changed body IDs/count; use plasticity_body_info for selected exact B-Rep detail. Select the source page and license first; source.sourceUrl is the direct file/archive URL and source.sourcePageUrl should identify the product page. Choose the exact representation explicitly; .xmt_txt is text and .xmt_bin is binary. DNS is pinned to public IPv4 addresses; redirects, archive/response size, content header, revision, hashes and imported B-Rep provenance are checked.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| source | Yes | ||
| revision | Yes | ||
| representation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as a destructive, open-world write, but the description adds real behavioral detail: DNS pinned to public IPv4, redirect/size/content-header/revision/hash checks, and the returned payload (compact document state plus changed body IDs/count). It stops short of stating failure modes or auth requirements beyond the hostname restriction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but well front-loaded: the core action leads, then requirements, then the return note and validation summary. Three long sentences carry a lot of load with little filler, though the trailing validation clause reads as a run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param nested-object tool with no output schema, the description covers source selection, representation choice, and what is returned. Gaps are minor: no guidance on the confidence/sourceKind enums and no statement of what happens on a failed validation check.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage the description must compensate, and it does: it explains source.sourceUrl as the direct file/archive URL, source.sourcePageUrl as the product page, the license prerequisite, and the .xmt_txt/.xmt_bin text-vs-binary distinction. The confidence enum values and sourceKind enum remain unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (download and import) plus the exact resource (HTTPS Parasolid file or ZIP with one compatible member) and the resulting geometry type (exact native B-Rep). The 'explicitly selected ... from a public hostname' framing clearly separates it from the local-file sibling plasticity_import_parasolid.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete preconditions ('Select the source page and license first') and routes follow-up work to plasticity_body_info for exact B-Rep detail. It does not explicitly contrast itself with plasticity_import_parasolid/plasticity_import_step for already-local files, so the alternative-selection guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_download_and_import_reference_3mfADestructive
Download one explicitly selected direct HTTPS 3MF file from a public hostname and import it through Plasticity as approximate reference mesh geometry. The embedded 3MF unit is used by the native importer; returned bounds are reference-mesh measurements, not native B-rep accuracy or proof of exact product dimensions. The downloader pins public IPv4, limits redirects and payloads to 64 MiB, validates the bounded ZIP/XML package, CRCs, paths and mesh indices, then stores a private SHA-256-addressed artifact. It records the artifact hash, source, acquisition and all import-time meshes in the persistent CAD reference-import registry; read the historical record with plasticity_get_cad_reference_import. Review source, license and product/SKU first; this does not import exact editable CAD or start a print.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| source | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the readOnlyHint=false/openWorldHint=true/destructiveHint=true annotations: IPv4 pinning, redirect and 64 MiB payload limits, ZIP/XML/CRC/path/mesh-index validation, SHA-256-addressed private artifact storage, and persistent registry recording. It also discloses that returned bounds are reference-mesh measurements, not B-rep accuracy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The dense paragraph front-loads purpose and scope, then layers safeguards, registry behavior and caveats – most sentences earn their place. It is run-on in places, but no significant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex mutation tool with a nested object, no output schema and destructive/open-world annotations, it covers download pipeline, storage, registry side effects and limitations well. The main gap is documentation of the parameter object's fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not document the parameters (intent, revision, or the nested source object's sourceUrl/sourceKind/confidence/license/sourcePageUrl). Only a loose hint at 'source, license and product/SKU' appears, leaving the required 'source' and 'revision' semantics largely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource chain: download one explicitly selected direct HTTPS 3MF file from a public hostname and import it through Plasticity as approximate reference mesh geometry. This clearly distinguishes it from siblings like plasticity_import_reference_3mf (local import), plasticity_download_and_import_reference_mesh (mesh format) and plasticity_download_and_import_step (STEP).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context ('Review source, license and product/SKU first') and explicit exclusions ('does not import exact editable CAD or start a print'), and routes the agent to plasticity_get_cad_reference_import for the historical record. It stops short of directly contrasting with sibling import/download alternatives for other formats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_download_and_import_reference_meshADestructive
Download one explicitly selected HTTPS STL or OBJ file from a public hostname and import it into Plasticity as an approximate reference mesh. Declare sourceUnit because STL is unitless and community mesh scale can be ambiguous. The downloader pins a public IPv4 address, limits redirects and payloads to 64 MiB, validates the mesh structure and finite coordinates, and stores a private SHA-256-addressed artifact. The import is journaled with redacted source provenance and measured mesh bounds. This is tessellated reference geometry, not native B-rep or proof of exact product dimensions; do not use it as a fit-critical datum without checking official drawings or user-confirmed measurements.
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | ||
| intent | No | ||
| source | Yes | ||
| revision | Yes | ||
| sourceUnit | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag destructive/openWorld/readOnly=false; the description goes well beyond by disclosing concrete safeguards (pins a public IPv4, limits redirects, caps payloads at 64 MiB, validates mesh structure and finite coordinates, stores a private SHA-256-addressed artifact) and side effects (journaled import with redacted provenance and measured bounds). This is exactly the extra behavioral context the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and target, then proceeds through unit rationale, safeguards, journaling, and the fit-critical caveat. Every sentence carries information, though the run of security/safeguard clauses is dense and slightly list-like rather than tightly prioritized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, open-world tool with 5 parameters, a nested source object, and no output schema, the description supplies a strong behavioral and caveat layer that an agent needs before invoking correctly. It is slightly incomplete only in leaving several enum/nested parameters and the response/journal lookup path unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden, and it explains the trickiest parameter well (why sourceUnit is required for unitless STL and ambiguous community scale) and clarifies format and the public-HTTPS source URL. But it leaves revision, intent, confidence, sourceKind, license, and sourcePageUrl unexplained, so the nested source object and several enum fields remain undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise compound verb ('download and import') plus the exact resource (one explicitly selected HTTPS STL or OBJ file) and its end state (approximate reference mesh in Plasticity). It clearly differentiates itself from the download_and_import_reference_3mf / _step / _parasolid siblings and from local plasticity_import_reference_mesh by naming the specific formats and network path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: one explicitly selected public-hostname file, must declare sourceUnit, and an explicit when-not ('do not use it as a fit-critical datum without checking official drawings or user-confirmed measurements'). It does not, however, name the alternative sibling to use for 3MF/STEP/Parasolid or for local files, so routing between it and those import tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_download_and_import_stepADestructive
Download one explicitly selected HTTPS STEP file or ZIP containing exactly one STEP member from a public hostname and import it as exact native CAD geometry. Returns compact document state and changed body IDs/count; use plasticity_body_info for selected exact B-Rep detail. Provide source.sourceUrl as the direct file/archive URL and source.sourcePageUrl as the candidate page URL when available. The downloader pins a resolved public IPv4 address per request, limits redirects, archive size and response size, validates the STEP envelope and archive CRC, stores private content-addressed source and import artifacts, and records both source/archive provenance hashes. Search candidates first with plasticity_search_product_references, review the source, license, format and fit, then select one before calling this importer. Never use arbitrary, untrusted candidates as exact dimensions.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| source | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark it destructive/open-world, but the description goes well beyond them: it discloses IPv4 pinning per request, redirect/archive/response size limits, STEP envelope and archive CRC validation, private content-addressed artifact storage, and provenance hash recording. This is unusually rich behavioral detail for a mutating import.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and return shape before the operational details, and every sentence carries content. It is somewhat dense and long, but not padded with restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description supplies the return shape (compact document state plus changed body IDs/count) and points to plasticity_body_info for B-Rep detail. Workflow, safety constraints, and selection prerequisites are all covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies source.sourceUrl (direct file/archive URL) and source.sourcePageUrl (candidate page URL), but leaves sourceKind, confidence enums, license, revision, and intent unexplained. Partial compensation for a nested 3-param schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (download and import) with a precise resource (an explicitly selected HTTPS STEP file or single-member ZIP) and defines scope as 'exact native CAD geometry.' It is clearly distinguishable from plasticity_import_step (local) and plasticity_download_and_import_reference_mesh (mesh).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent to search candidates first with plasticity_search_product_references, review source/license/format/fit, then select one, and warns against using arbitrary untrusted candidates as exact dimensions. This is a full when/when-not/alternative instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_draft_facesBDestructive
Draft exact faces by a signed angle around a planar neutral reference face. Positive angles open away from the reference face.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| faceIds | Yes | ||
| revision | Yes | ||
| angleDegrees | Yes | ||
| referenceFace | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the signed-angle convention and direction (positive angles open away from the reference face), which is genuinely useful context beyond annotations. However, it doesn't mention other behavioral traits like required planar reference, reversibility, or failure conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, followed by a crucial sign convention. No filler or redundancy; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with 6 parameters, 0% schema description coverage, a nested object, and no output schema, the description is too brief. It omits any explanation of id, revision, intent, or the expected state changes, leaving an agent under-informed about required context and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the full burden. It adds meaning for angleDegrees (signed value, positive direction) and referenceFace (planar neutral), but gives no clarification for id, faceIds, revision, or intent. Partial compensation for the coverage gap merits a middle score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Draft') and resource ('exact faces') with clear scope ('by a signed angle around a planar neutral reference face'). This distinguishes it from siblings like offset_faces, move_faces, and rotate_faces. The agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives, and no conditions for selecting this tool over siblings. The description only explains what the operation does, leaving the agent to infer when drafting is appropriate versus other face modifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_duplicate_bodiesA
Create independent exact native copies of current Solid or Sheet bodies, preserve every source, and translate the complete copied set by an explicit world-space millimeter delta in one Plasticity history step. The copies receive new stable body IDs and are ordinary editable B-Rep bodies rather than linked instances. A zero translation deliberately creates coincident copies.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes | ||
| translationMm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only covering readOnly/destructive/openWorld hints, the description still contributes real behavior: the copies get new stable body IDs, remain editable B-Rep, occur in a single history step, sources are preserved, and a zero translation deliberately produces coincident copies. It omits failure modes (invalid ids, stale revision) and any permission/limit constraints, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action and result, and each sentence adds a distinct fact (copy semantics, ID/editability, zero-delta edge case). Slightly dense phrasing ('translate the complete copied set by an explicit world-space millimeter delta') but no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and no parameter documentation, the description establishes what is produced, what happens to sources, and the history/ID consequences — enough to call it safely. The missing revision/intent semantics are the main gap for a tool with two required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains translationMm well (world-space millimeter delta, zero = coincident copies) and implies ids are body IDs, but revision (apparently a concurrency/version token) and intent are entirely unaddressed — 3 of 4 parameters remain undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create independent exact native copies of current Solid or Sheet bodies') plus the scope of the operation (copies are translated as a set). It implicitly distinguishes itself from sibling plasticity_create_instance and plasticity_duplicate_curves by explicitly saying the result is 'ordinary editable B-Rep bodies rather than linked instances'. An agent can route correctly 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'rather than linked instances' tells the agent when this is preferred over an instancing tool, and 'preserve every source' clarifies the non-destructive intent. However, no sibling is named explicitly and there is no statement of prerequisites or when-not-to-use (e.g., for curves, use plasticity_duplicate_curves).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_duplicate_curvesB
Create independent exact native copies of one or more current Wire bodies in place while preserving the sources. The copies receive new stable body IDs and can be transformed or edited separately.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-destructive write (readOnlyHint=false, destructiveHint=false). The description adds meaningful behavioral detail beyond that: sources are preserved, copies get new stable body IDs, and copies can be transformed or edited separately. It does not cover permissions, errors, or return behavior, but is strong for a simple duplication tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, front-loaded with the core action and immediately followed by the key behavioral trait (sources preserved, copies independent). No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple duplication tool with annotations covering safety and no output schema, the description covers purpose and some behavior adequately. However, the unexplained revision and intent parameters leave an agent guessing about required invocation details, creating a clear gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It only implies that 'one or more current Wire bodies' maps to the ids array and says nothing about the required revision string or the optional intent parameter, leaving two of three parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (create independent exact native copies of Wire bodies) and scope (in place, preserving sources). It does not explicitly differentiate from the sibling plasticity_duplicate_bodies or any other duplicate tool, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but gives no explicit when-to-use context, no conditions for choosing it over alternatives like plasticity_duplicate_bodies, and no exclusions. Usage is only inferred from the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_evaluate_curve_segmentsBRead-only
Evaluate exact native positions and unit tangents at normalized parameters from 0 to 1 on current Wire segments. Parameters follow each segment's start-to-end direction from plasticity_list_curve_directions. This is read-only and is useful for placing or verifying local curve edits.
| Name | Required | Description | Default |
|---|---|---|---|
| samples | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so 'This is read-only' merely restates them. The description does add real behavioral context by specifying that parameters follow each segment's start-to-end direction and that positions are 'exact native' values, but it omits the 256-sample cap, revision/staleness semantics, and error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core operation front-loaded, followed by the parameter convention and usage note. No filler, though the read-only restatement of the annotations is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description partly covers returns (native positions and unit tangents) but not their structure. The revision parameter, which is required and likely guards against stale curve data, is entirely unexplained, leaving a meaningful gap for a tool that reads current model state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies the normalizedParameter semantics (0 to 1, following segment start-to-end direction), which the schema alone does not convey, but it says nothing about bodyId, segmentEntityId, the 1-256 samples range, or the required revision string (a concurrency/staleness token).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Evaluate) and resource (native positions and unit tangents on Wire segments) with a clear scope of normalized parameters 0 to 1. It is distinguishable from siblings like list_curve_endpoints or list_curve_directions, though it does not explicitly contrast itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the tool is 'useful for placing or verifying local curve edits' and points to plasticity_list_curve_directions for the direction convention, which gives implied context. However, there is no explicit when-not guidance or comparison against alternative inspection tools such as inspect_curve_structure or list_curve_vertices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_export_3mfA
Tessellate current exact Solid or Sheet bodies to a new validated 3MF for slicers. Plasticity 26.1.3 declares meters, so the adapter applies its verified 0.001 scale to preserve millimeter dimensions and reports mesh bounds from the saved package. The result is a derived mesh; keep .plasticity or STEP as the editable source.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| path | Yes | ||
| revision | Yes | ||
| chordToleranceMm | No | ||
| angleToleranceDegrees | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already covering readOnly/destructive/openWorld status, the description adds meaningful behavior: the adapter applies a verified 0.001 scale to preserve millimeter dimensions, reports mesh bounds from the saved package, and warns that the result is a derived mesh. It does not mention file overwrite behavior or permissions, but it adds substantial context beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose, then unit-scaling behavior, then source-retention guidance. Each sentence adds useful information without repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, unit handling, output derivation, and source retention well. However, for a 5-parameter export tool with zero schema description coverage and no output schema, it leaves parameter meanings and invocation details unexplained, making it only minimally adequate for correct tool use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never explains the five parameters. It does not clarify what 'ids', 'path', 'revision', 'chordToleranceMm', or 'angleToleranceDegrees' mean or how they affect the export, leaving required parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Tessellate current exact Solid or Sheet bodies to a new validated 3MF.' It names the output format and target use case ('for slicers'), so it is clearly distinguishable from sibling export tools such as export_stl, export_obj, export_step, and export_parasolid.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: use this for slicer-bound 3MF exports, and keep '.plasticity or STEP as the editable source.' It does not explicitly compare against sibling export formats or state exclusions, but the intended usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_export_objA
Tessellate current exact Solid or Sheet bodies to a new validated Wavefront OBJ without overwriting. Coordinates are written in millimeters with Z up; the result reports counts and bounds parsed from the saved file. OBJ is a derived mesh for interchange or rendering, so retain .plasticity, STEP, or Parasolid as the editable source.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| path | Yes | ||
| revision | Yes | ||
| chordToleranceMm | No | ||
| angleToleranceDegrees | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=false and readOnlyHint=false; the description corroborates and enriches this by stating it never overwrites, specifies output units (millimeters) and orientation (Z up), and says the result reports counts and bounds parsed from the saved file. It omits any mention of write permissions or failure modes, hence not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with what the tool does, then units/return behavior, then the usage caution. No filler and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description usefully compensates by describing the returned counts and bounds, which is good. However, for a tool with five required/optional parameters at 0% schema coverage, it leaves parameter behavior entirely unexplained, which is a material gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, so the description carries the full burden and does not meet it: ids, path, revision, chordToleranceMm, and angleToleranceDegrees are never mentioned. The unit statement (millimeters) only incidentally hints at chordToleranceMm; the trade-off between tolerance values and mesh quality/file size is undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ('tessellate exact Solid or Sheet bodies' to a 'validated Wavefront OBJ') and states the key constraint ('without overwriting'). Among the export siblings (export_stl, export_step, export_parasolid) the OBJ-format target is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when this format is appropriate ('a derived mesh for interchange or rendering') and implicitly when not ('retain .plasticity, STEP, or Parasolid as the editable source'). It does not explicitly name a sibling export tool as the alternative, so routing is by inference rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_export_parasolidA
Export exact native B-Rep bodies to a new Parasolid text (.x_t) or binary (.x_b) file without overwriting. Use this for high-fidelity exchange with software that supports the Parasolid kernel format.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| path | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the agent knows this writes a new resource without being destructive. The description adds a genuinely useful behavioral detail — 'without overwriting' — but does not address what happens on a path collision or any permission/error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with the core action and file formats front-loaded, followed by the usage rationale. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write/export tool with no output schema and 0% parameter coverage, the description covers purpose, format and the non-overwrite guarantee but omits any explanation of the required parameters and the expected result. Adequate but with clear gaps an agent must resolve elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three required parameters (ids, path, revision), so the schema documents nothing. The description implies 'bodies' and 'file' loosely map to ids/path, but the required 'revision' parameter is entirely unexplained and no format/constraint guidance is offered to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Export) and resource (native B-Rep bodies to a Parasolid .x_t/.x_b file), which is distinctive from the other export siblings by naming the exact kernel format. It is clear but does not explicitly contrast itself with plasticity_export_step or the other exports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use this for high-fidelity exchange with software that supports the Parasolid kernel format' gives a clear when-to-use condition. It stops short of naming an alternative (e.g. export_step) or stating when-not to use it, but the context is well established.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_export_stepB
Export exact B-Rep bodies to a new STEP file without overwriting.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| path | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds useful context that it creates a new file without overwriting and preserves exact B-Rep geometry, but it does not explain permission needs, side effects on the scene, or output behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler, immediately stating the action, scope, output format, and one behavioral caveat. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three required parameters, zero schema description coverage, and no output schema, the description is too sparse. It omits parameter explanations, guidance on selecting alternatives among many export/import tools, and any indication of return value or failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must define the three required parameters, but it only vaguely implies 'ids' corresponds to B-Rep bodies. It says nothing about 'path' (file destination) or 'revision', leaving most parameter meaning undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Export') and resource ('exact B-Rep bodies to a new STEP file'), clearly distinguishing it from other export tools in the sibling list such as export_parasolid and export_stl. An agent can identify the tool's core action 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not state when to use this tool versus alternative export formats or when not to use it. It only describes the action and a safety constraint ('without overwriting'), leaving the choice among export tools entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_export_stlB
Tessellate exact B-Rep bodies to a new millimeter-scaled binary STL for slicing. The result is a derived mesh, while STEP remains the editable source.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| path | Yes | ||
| revision | Yes | ||
| chordToleranceMm | No | ||
| angleToleranceDegrees | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered by structured data. The description adds real context beyond that: the output is a derived mesh, it is millimeter-scaled and binary STL, and the B-Rep source is not modified. It says nothing about writing to a path, overwriting existing files, or permissions, which leaves notable behavioral gaps for a file-producing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and output format, with the second sentence adding the derived-vs-source distinction. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does cover the nature of the result (derived mesh, binary STL, mm-scaled). However, for a five-parameter write tool with 0% schema coverage it omits how the tolerances affect output and what the path/revision inputs mean, so an agent still lacks enough detail to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, and the description mentions none of them. It never explains 'ids' (which bodies), 'path', 'revision', or how chordToleranceMm / angleToleranceDegrees control tessellation quality — a crucial omission given the tool is literally about tessellation fidelity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource ('Tessellate exact B-Rep bodies to a ... binary STL') and even contrasts the output with the editable STEP source, which helps separate it from plasticity_export_step. It stops short of explicitly naming the sibling export tools (3MF, OBJ, Parasolid) that could be confused with it, so a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'for slicing' gives an implied use case (preparing geometry for 3D printing/slicing), and the STEP remark hints at when to prefer the source format. There is no explicit when-to-use / when-not-to-use statement or named alternative tool, so guidance is only inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_export_svgA
Export coplanar native Wire profiles as a new millimeter-scaled SVG without overwriting. B-Rep Lines, full circles, trimmed circular arcs, and native Ellipse segments remain exact when Plasticity exposes their analytic carrier data; non-rational polynomial BCurves of integer degree 1 through 3, including periodic curves, are exported span-by-span as cubic Bezier commands only after additional exact B-Rep validation samples pass. Degree-1 and degree-2 non-rational fixtures have live production stdio verification with independent B-Rep samples on Plasticity 26.1.3. Rational BCurves that fit a conic and agree with 65 dense exact B-Rep samples are represented by an SVG ellipse/arc and marked with sampled-validation metadata; this does not prove global equality, and anything that fails validation uses the approximation path. Other planar B-Rep curves use an adaptive polyline checked at quarter samples against curveChordToleranceMm and curveChordAngleDegrees and are explicitly marked as approximations in SVG metadata. Returned deviation is the maximum tested chord deviation, not a proof of global error. Noncoplanar Wires are rejected; for Solid drawings use plasticity_export_hiddenline_svg. Keep the .plasticity or STEP file as the editable source.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| path | Yes | ||
| revision | Yes | ||
| curveChordToleranceMm | No | ||
| curveChordAngleDegrees | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only give readOnlyHint=false and destructiveHint=false; the description does the heavy lifting by explaining exactness guarantees per curve type, the validation-sampling path, the approximation fallback, metadata marking, and the caveat that returned deviation is a tested maximum rather than a global error proof. 'Without overwriting' is consistent with destructiveHint=false, and no claim contradicts 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and scope are front-loaded in the first sentence, which is good. However the remainder is a very long, dense block of qualification detail with mild redundancy ('this does not prove global equality' / 'not a proof of global error') that is heavier than an agent needs for selection and invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by describing what is returned (maximum tested chord deviation, SVG metadata markers). For a complex, high-stakes export tool the behavioral picture is largely complete; the main shortfall is the unexplained ids/path/revision inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the whole burden for five parameters. It meaningfully explains curveChordToleranceMm and curveChordAngleDegrees (quarter-sample chord checks), but leaves ids, path, and revision semantics unaddressed — a notable gap at this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb and resource — 'Export coplanar native Wire profiles as a new millimeter-scaled SVG' — plus the scope constraint 'without overwriting'. It explicitly distinguishes itself from the closest sibling by routing Solid drawings to plasticity_export_hiddenline_svg, so an agent can tell the two apart without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names the exclusion clearly ('Noncoplanar Wires are rejected') and points to the correct alternative for Solid drawings. It also advises keeping the .plasticity/STEP as the editable source, which implies this is a downstream copy operation. It stops short of positioning against the other export_* tools (step/stl/3mf/parasolid), so it is not a full when/when-not matrix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_extend_curve_endpointsBDestructive
Extend one or more explicit revision-bound open Wire endpoints by a positive distance in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| distanceMm | Yes | ||
| endpointIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this mutates geometry. The description adds 'revision-bound' and 'positive distance' as behavioral constraints, which is useful context, but it doesn't state reversibility, undo behavior, or what happens to connectivity at the extended endpoints. With annotations carrying the safety profile, this is an appropriate partial contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the operation front-loaded and no filler. It may be slightly too terse for a destructive, four-parameter operation, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so return values needn't be described, and annotations cover the safety profile. However, gaps remain around the 'intent' parameter, the expected format/semantics of 'revision', and usage context, leaving an agent with enough to act but not enough to act confidently on complex inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It touches endpointIds ('one or more... endpoints'), distanceMm ('positive distance in millimeters') and revision ('revision-bound'), though 'positive' and 'one or more' largely restate the schema's exclusiveMinimum/minItems, and the unit 'millimeters' plus the wire-endpoint target are the genuinely new information. The 'intent' parameter receives no explanation in either place.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (extend), a specific resource (open Wire endpoints), and a scope qualifier (revision-bound, explicit). An agent can immediately tell this modifies wire endpoint geometry rather than creating curves or extending sheet edges. It stops short of naming a sibling it is distinct from, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. It never states prerequisites (e.g., that the endpoints must belong to an open wire), nor points to any alternative like plasticity_extend_sheet_edges. The implied usage is inferable only from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_extend_sheet_edgesBDestructive
Linearly extend selected boundary edges of one native Sheet by a positive millimeter distance.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| edgeIds | Yes | ||
| revision | Yes | ||
| distanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the agent knows this mutates geometry. The description adds useful constraints beyond that: extension is linear only, the distance must be positive, only boundary edges qualify, and only a single Sheet can be affected. It still omits failure behavior for non-boundary edges and whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The core action and its key constraint (positive distance on boundary edges of one Sheet) appear immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive geometric mutation with four required parameters, no output schema, and 0% schema description coverage. The description leaves the identity/revision/concurrency parameters and the failure and return behavior undocumented, which is insufficient for the complexity involved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, so the description must compensate, and it only partially does. It implies edgeIds must be boundary edges and distanceMm must be positive, but 'positive' merely restates exclusiveMinimum: 0, and the required id, revision, and intent parameters receive no explanation at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (extend), a precise resource (selected boundary edges of one native Sheet), and the manner of extension (linearly, by a positive millimeter distance). It implicitly distinguishes itself from siblings like plasticity_extend_curve_endpoints (curves) and plasticity_offset_edges, but never names an alternative to sharpen the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites (e.g., selection state, whether edges must already be boundary edges), and no reference to sibling tools such as plasticity_extend_curve_endpoints or plasticity_offset_edges. The agent must infer applicability entirely from the one-sentence description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_extract_edgesCDestructive
Copy exact current body edges into native Wire curves while preserving their source bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| edges | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=true, so the agent already knows this is a write with destructive potential. The description adds a useful clarification that source bodies survive the operation, which softens the naive reading of destructiveHint. It does not explain what is actually mutated, permission needs, or whether source edges change, so it only modestly builds on 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the scope-preserving clause is placed where it is most informative. It is tight, though it has no room left for the guidance and parameter detail that the definition lacks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive, multi-parameter mutation with no output schema and 0% parameter coverage, so the description carries the full burden and does not meet it. It says nothing about the revision requirement, what intent means, or the resulting geometry, leaving an agent under-equipped to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three parameters. The phrase 'current body edges' loosely gestures at the edges array of {bodyId, edgeId} references, but the intent and revision parameters (revision clearly implying an optimistic-concurrency token) are entirely unaddressed, leaving the agent to infer their meaning from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource pair: copying body edges into native Wire curves, and adds the scope constraint that source bodies are preserved. An agent can grasp the operation without opening the schema, though it does not name or distinguish itself from analogous siblings like plasticity_extract_faces or plasticity_create_curves_from_regions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives. The only implied context is the non-consuming nature of the operation ('preserving their source bodies'), which is a behavioral trait rather than usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_extract_facesBDestructive
Copy exact current faces into separate native Sheet bodies while preserving their source bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=false), so the description's added value is the clarification that source bodies survive and the result lands in 'native Sheet bodies' — genuinely useful 'what gets affected' context. The tension is that this preservation claim sits awkwardly beside destructiveHint=true, and the description never explains that the document state changes (and the required revision token is consumed), which is likely why the tool is flagged destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and result, no filler or restated boilerplate. Every clause (exact, current, separate native Sheet bodies, preserving source bodies) carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-read-only geometry mutation with no output schema and 0% parameter documentation, the definition leaves key facts unaddressed: how to obtain face identifiers, what the 'revision' optimistic-concurrency token is for, what happens on a stale revision, and how the new bodies appear (naming/selection). The single sentence is accurate but too thin for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three parameters (faces, intent, revision). The phrase 'exact current faces' faintly hints that face references must resolve against current model topology, but nothing explains the required revision token, the optional intent string, or the bodyId/faceId pairing semantics. The description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific operation on a specific resource and its output: copy current faces into separate native Sheet bodies. That result ('Sheet bodies') plus 'preserving their source bodies' implicitly separates it from siblings like plasticity_unjoin_faces, plasticity_extract_edges, and plasticity_duplicate_bodies. However, the verb used ('copy') differs from the tool name ('extract'), and no sibling is explicitly contrasted, so an agent still has to infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over plasticity_unjoin_faces, plasticity_duplicate_bodies, or plasticity_create_solid_from_sheet, and no workflow context (e.g. that faces should be obtained via plasticity_select_faces / plasticity_find_faces first). It describes what happens, not when to reach for it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_extrude_facesCDestructive
Extrude current face IDs by a distance in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| faceIds | Yes | ||
| revision | Yes | ||
| distanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag this as a destructive, non-read-only, non-open-world mutation, so the safety profile is covered. The description adds only the millimeter unit; it omits that geometry is permanently modified, that a document id and revision are needed to target and lock the model, and mentions nothing about the intent field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with no filler and the core action front-loaded. It is concise to the point of under-specification, but the sentence itself is well-formed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive five-parameter mutation with no output schema and zero schema descriptions, the definition is far too thin. It does not explain the required document/revision coupling or the optional intent parameter, leaving the agent unable to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters (id, intent, faceIds, revision, distanceMm). The description touches faceIds and distanceMm conceptually but leaves id, intent, and revision—including the concurrency semantics of revision—entirely unexplained, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (extrude) and resource (face IDs) with a unit qualifier (millimeters), which is clear. However, it does not distinguish itself from close siblings like plasticity_extrude_profile, plasticity_extrude_regions, plasticity_offset_faces, or plasticity_thicken_faces, so the agent must infer the difference from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to extrude faces versus offsetting, moving, thickening, or extruding a profile/region. The word 'current' hints at operating on a live selection but the tool still requires explicit faceIds and a document id, so even that hint is ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_extrude_profileCDestructive
Extrude one unambiguous closed planar Wire profile into a native Solid.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| revision | Yes | ||
| distanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered. The description adds the constraint that the profile must be unambiguous and closed, which is useful behavioral context. It does not, however, disclose what gets destroyed, reversibility, or output details beyond 'native Solid.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is appropriately concise, though its brevity contributes to gaps in other dimensions rather than being a structural flaw.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive extrusion tool with four undocumented parameters and no output schema, the description is far too sparse. It does not explain required inputs, expected outcomes, or how the operation affects the model, leaving critical context absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has four parameters with 0% description coverage, and the tool description mentions none of them. There is no explanation of 'id', 'distanceMm', 'revision', or 'intent', leaving the agent to guess entirely from parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Extrude ... profile ... into a native Solid.' It distinguishes the input as a 'closed planar Wire profile,' which differentiates it from siblings like extrude_faces or extrude_regions. However, it does not explicitly name those alternatives, so a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, prerequisites, or alternatives. It hints at the required input type ('one unambiguous closed planar Wire profile'), but does not tell the agent when to choose this tool over other extrusion tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_extrude_regionsBDestructive
Extrude one or more explicit revision-bound planar regions into native solids.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| regionIds | Yes | ||
| distanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a mutating operation. The description adds useful context that regions must be 'explicit' and 'revision-bound' and that output is 'native solids', but does not disclose what gets consumed/destroyed or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and resource first and zero filler. Every word carries meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter mutating tool with 0% schema coverage, no output schema, and minimal annotations, one sentence is insufficient. Key details such as extrude direction/distance semantics and parameter explanations the agent needs to invoke it correctly are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for four parameters. The description hints at regionIds ('regions') and revision ('revision-bound'), but says nothing about the required distanceMm (extrude length) or the intent field, so two of four parameters remain undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Extrude), resource (revision-bound planar regions), and outcome (native solids). It distinguishes the 'regions' input from face/profile-based extrude siblings by naming regions explicitly, though it never contrasts itself against plasticity_extrude_faces or plasticity_extrude_profile by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no preconditions, and no alternatives named. An agent cannot tell from this text when to choose extrude_regions over extrude_faces, extrude_profile, or sweep/loft_regions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_fastener_group_plate_bearing_reportBRead-only
Read an immutable multi-hole local-bearing, optional straight-cut net-tension and edge shear-out report and re-check its group and exact native plate geometry binding against the live Plasticity document.
| Name | Required | Description | Default |
|---|---|---|---|
| current | No | ||
| reportId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context beyond that: the report is 'immutable' (its content cannot be altered) and the operation re-checks binding against the 'live' document, implying the result can reveal a stale or mismatched binding. That is useful disclosure an agent cannot get 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the verb 'Read' and the resource. Every clause carries substantive scope information. It is somewhat run-on, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and the input schema is a large nested object with 0% param descriptions, so the description carries more burden than it meets. It conveys purpose and the immutability/live-check behavior but says nothing about what the report returns (pass/fail, binding mismatch details) or how reportId relates to 'current'. Adequate but with clear gaps for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are two parameters, so the description must compensate. It alludes to the 'current' parameter's content ('its group and exact native plate geometry binding against the live Plasticity document') but never explains the required reportId or the distinction between the stored report and the supplied live 'current' state. For a deeply nested input object this is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource (the plate-bearing report), and names the exact scope components: multi-hole local-bearing, net-tension, edge shear-out. This distinguishes it from the sibling plasticity_verify_fastener_group_plate_bearing, which by naming convention produces the report rather than reads it. Lacks an explicit sibling comparison but the read/produce distinction is inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (re-checking an existing immutable report's geometry binding against the live document), which tells an agent this is a validation-after-the-fact read rather than a fresh calculation. However, no explicit when-to-use, prerequisites, or alternative routing is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_filletCDestructive
Fillet current edge IDs with a radius in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| edgeIds | Yes | ||
| radiusMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply the key profile: destructiveHint=true, readOnlyHint=false, openWorldHint=false, telling the agent this mutates geometry. The description adds only that edges are referenced by 'current' IDs and the radius is in millimeters; it does not say what geometry is consumed, whether revision must match, or what gets invalidated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the action and resource, no filler. It is terse to the point of under-specification, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation with 5 parameters, 0% schema descriptions, and no output schema needs far more than thirteen words. Revision semantics, ID preconditions, and failure behavior are all unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, and the description only gestures at two of them (edgeIds, radiusMm). It says nothing about the required id, revision (clearly an optimistic-concurrency token), or the optional intent field, leaving three required-ish parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (fillet) and resource (edge IDs) plus the radius unit, so the agent knows this creates a fillet on existing edges. It does not distinguish itself from close siblings like plasticity_chamfer, plasticity_refillet_faces, or plasticity_fillet_curve_vertices, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus chamfer, refillet, or the curve-vertex fillet variant. The word 'current' hints the edge IDs must be freshly retrieved, but no alternatives or prerequisites are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_fillet_curve_verticesADestructive
Round one or more exact interior or closed Wire vertices with Plasticity's native curve fillet in one history step. Vertex references come from plasticity_list_curve_vertices and are revision-bound; the positive radius is in millimeters. The edited Wire may receive a new stable body ID, so use the returned state before further work.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| radiusMm | Yes | ||
| revision | Yes | ||
| vertices | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is known; the description adds real value beyond that by disclosing the one-history-step behavior, revision-bound references, and the identity change ('the edited Wire may receive a new stable body ID'). It does not mention error modes or how failures roll back, but the added context is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, each carrying distinct information (operation, reference provenance, downstream state risk), front-loaded with the action before the caveats. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and no annotation-level detail on side effects, the description covers the key risks an agent needs: where IDs come from, revision binding, units, and the post-edit ID change. It omits any mention of failure conditions or required selection state and does not describe the 'intent' parameter, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It covers radiusMm ('positive ... in millimeters'), vertices (source and revision-binding), and implicitly revision, but says nothing about the 'intent' parameter or the bodyId/vertexId structure. Partial compensation for a low-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Round ... vertices'), the exact resource ('interior or closed Wire vertices'), and the mechanism ('Plasticity's native curve fillet'), which cleanly distinguishes it from the sibling plasticity_fillet (face/edge filleting). An agent can identify the operation and target topology 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit prerequisite ('Vertex references come from plasticity_list_curve_vertices and are revision-bound') and a post-call warning ('use the returned state before further work'), which is actionable guidance. It does not, however, contrast when to use this over plasticity_fillet or other rounding tools, so the when-not dimension is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_find_edgesBRead-only
Find current B-Rep edges semantically by body, curve type, direction, exact length, center, bounds, or adjacent faces.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that it reads the 'current' revision's B-Rep edges, which is mild added context, but says nothing about result limits, pagination, tolerance behavior, or what a match returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the verb, the resource, and the filter dimensions with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a large nested query schema at 0% description coverage, one sentence is thin: tolerances, the boolean line/circle flags, and the required revision parameter are unexplained. Because no output schema exists, the description should also hint at what matches look like, which it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the query object is deeply nested, so the description carries the burden of explaining the filter fields. It enumerates the semantic criteria (body, curve type, direction, exact length, center, bounds, adjacent faces), which maps to bodyIds, curveTypes, direction, lengthMm, center, boundsMm, and adjacentFaceIds, adding real meaning over bare property names. It still omits tolerance semantics, the line/circle booleans, and the required revision string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Find') plus a well-defined resource ('current B-Rep edges') and an enumeration of the semantic search dimensions (body, curve type, direction, length, center, bounds, adjacent faces). This lets an agent understand the operation without opening the schema. It does not, however, distinguish itself from close siblings like plasticity_select_edges, plasticity_extract_edges, or plasticity_find_faces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'Find' and 'semantically' imply a search-style lookup, but the description never states when to use this tool versus plasticity_select_edges, plasticity_extract_edges, or plasticity_find_faces. No prerequisites, revision requirements, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_find_facesBRead-only
Find current B-Rep faces semantically by body, surface type, normal, radius, center, bounds, edge count, or adjacency.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is carried by structured data. The description adds only the word "current", hinting the result reflects live model state, but says nothing about result size, ordering, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and resource come first and the filter list follows. It is dense but appropriately sized for the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested, undocumented query object and no output schema, the description is only partially sufficient: it names the filter dimensions but leaves matching semantics, units, and return shape unspecified. Annotations cover the read-only safety aspect, keeping this from being a larger gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the query object is deeply nested, so the description must compensate. It does list the filter axes (body, surface type, normal, radius, center, bounds, edge count, adjacency), which maps onto the query properties, but provides no semantics, units, or matching/tolerance behavior for any of them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Find) plus resource (B-Rep faces) with the semantic filter dimensions enumerated. It does not, however, distinguish itself from the sibling plasticity_select_faces or plasticity_measure_face_properties, so an agent must guess which face-lookup tool applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Only "Find current B-Rep faces semantically" is offered; there is no statement of when to use this versus select_faces/find_edges, no prerequisites (e.g. current revision), and no exclusions. Usage must be inferred entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_get_cad_reference_importARead-only
Read one persistent CAD reference import provenance record (STEP, Parasolid, or 3MF). STEP and Parasolid records contain exact native B-Rep measurements; 3MF records contain approximate reference-mesh bounds and topology counts, not editable B-Rep. The record is historical; verify the current scene before using any stored body or mesh ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description genuinely adds beyond them: that records are historical (potentially stale), that STEP/Parasolid carry exact B-Rep measurements while 3MF carries only approximate mesh bounds and topology counts, and that IDs must be re-validated against the live scene.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, then format semantics, then the staleness caveat. No filler and every sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partially compensates by describing what record contents differ by format (measurements vs bounds/topology counts). It does not enumerate returned fields or error behavior, but for a single-record read this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, id, with 0% schema description coverage and no explanation in the description. The text implies the id identifies a stored provenance record, but does not say its source (a listing call) or that non-existent IDs will fail. Minimal compensation for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (read) and resource (one persistent CAD reference import provenance record) and enumerates the supported formats (STEP, Parasolid, 3MF). It distinguishes itself from list-style siblings by emphasizing 'one ... record,' but does not name the sibling that produces the id (e.g., list_cad_reference_imports) or get_step_import.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: fetch a single stored record by id, and the closing sentence warns to verify the current scene before reusing stored IDs. However, it never states when to prefer this over plasticity_list_cad_reference_imports, plasticity_get_step_import, or plasticity_list_step_imports, so the routing among these closely named siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_get_step_importARead-only
Read one persistent CAD reference import provenance record (STEP, Parasolid, or 3MF). STEP and Parasolid records contain exact native B-Rep measurements; 3MF records contain approximate reference-mesh bounds and topology counts, not editable B-Rep. The record is historical; verify the current scene before using any stored body or mesh ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint/destructiveHint=false; the description goes further by disclosing that STEP and Parasolid records yield exact native B-Rep measurements whereas 3MF records yield approximate mesh bounds and topology counts (not editable B-Rep), plus the staleness caveat. That content-type/semantics distinction is real value beyond structured fields, though return shape and error behavior are unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, then the payload distinction, then the staleness warning. No redundancy and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and minimal annotations, the description carries the burden well: it explains what kinds of records exist and what each returns qualitatively, and warns about staleness. It stops short of describing the record's actual fields or what an invalid/expired id does, but it is adequate for a single-param read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (id) and schema description coverage is 0% – the schema supplies format/pattern but no meaning. The description implies the id identifies one provenance record but adds nothing about where the id comes from or its relation to the list tools, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read one') and resource ('persistent CAD reference import provenance record'), and enumerates the three record kinds (STEP, Parasolid, 3MF). An agent can distinguish it from the list/get siblings such as plasticity_list_step_imports and plasticity_list_cad_reference_imports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage context ('The record is historical; verify the current scene before using any stored body or mesh ID'), which is useful operational guidance, but never states when to prefer this tool over the near-duplicate plasticity_get_cad_reference_import or how to obtain the required id. Guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_hollow_facesBDestructive
Remove selected faces and shell a solid with an inward or outward wall thickness in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| faceIds | Yes | ||
| revision | Yes | ||
| direction | No | inward | |
| wallThicknessMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is a destructive, non-read-only operation, lowering the disclosure bar. The description adds useful context that selected faces are removed and that shelling can be inward or outward with millimeter thickness, but it does not cover revision handling, reversibility, or what happens to the removed faces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence with no filler. It conveys the core operation and the key thickness direction concept efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive six-parameter solid mutation tool with no output schema and 0% schema description coverage, the description is incomplete. It omits the meaning of id and revision, intent behavior, and direction default, which an agent needs in order to invoke the tool safely and correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden. It clarifies the roles of faceIds, wallThicknessMm, and direction, but says nothing about id, revision, or intent, leaving three of six parameters without semantic guidance in either schema or description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: removing selected faces and shelling a solid with inward or outward wall thickness. It is clear enough to distinguish from generic face deletion or thickening, but it does not explicitly name or differentiate from the closely related plasticity_hollow_solids or plasticity_thicken_faces siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool versus alternatives such as plasticity_hollow_solids, plasticity_thicken_faces, or plasticity_offset_faces. The description only says what the operation does, leaving routing and prerequisites entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_hollow_solidsADestructive
Turn one or more current Solid bodies into closed hollow Solids without removing an opening face. Inward preserves the outside envelope; outward preserves the original interior envelope. Wall thickness is in millimeters and every body is changed in one native history step.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes | ||
| direction | No | inward | |
| wallThicknessMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, and the description adds genuinely useful context beyond them: bodies must already be closed Solids, no opening face is removed, and all changes land in one native history step (implying a single undo). It still does not mention failure modes or what happens with non-Solid inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, zero filler, with the core action front-loaded and direction/wall-thickness semantics following. Every sentence carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter destructive mutation with no output schema, the description covers the operation, the direction semantics, and the history behavior well. The only gaps are the unexplained revision and intent parameters and the lack of failure-mode guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does for the critical parameters: direction semantics ('inward preserves the outside envelope; outward preserves the original interior envelope'), wallThicknessMm units ('in millimeters'), and ids ('one or more current Solid bodies'). revision and intent remain unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('turn Solid bodies into closed hollow Solids') plus a key constraint ('without removing an opening face'). It does not explicitly name the closest sibling, plasticity_hollow_faces, so an agent must infer the distinction from the word 'Solids'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool applies ('current Solid bodies') and explains the two direction modes, but gives no explicit when-to-use guidance or alternative routing (e.g., hollow_faces for faces, or thicken_sheets for sheets).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_import_dcb_mode_i_energy_csvARead-only
Read-only preview of an explicitly mapped local DCB Mode-I raw force/displacement CSV. For every physically observed crack-growth point, the caller must select the exact CSV record number and supply its observed crack length; map the specimen, force and displacement columns, units, signs, delimiter and decimal separator explicitly. Converts only force/displacement units, retains the source SHA-256 and record locators, and calculates the same exploratory MBT G_I-versus-crack-length preview. It does not filter acquisition samples, infer crack growth, choose peaks, correct machine compliance, register a physical test or establish ASTM conformity, a cohesive law or a design allowable. Review the preview against the physical log, then call plasticity_record_dcb_mode_i_energy_test only after the physical test is confirmed.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| testedAt | Yes | ||
| delimiter | Yes | ||
| forceSign | Yes | ||
| forceUnit | Yes | ||
| specimens | Yes | ||
| testMethod | Yes | ||
| forceColumn | Yes | ||
| materialProcess | Yes | ||
| decimalSeparator | Yes | ||
| displacementSign | Yes | ||
| displacementUnit | Yes | ||
| specimenIdColumn | Yes | ||
| testProtocolHash | Yes | ||
| displacementColumn | Yes | ||
| displacementEvidence | Yes | ||
| interfaceNormalGlobal | Yes | ||
| linearElasticQuasiStaticEvidence | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true/destructive=false/openWorld=false, and the description adds substantial context beyond them: it converts only force/displacement units, retains the source SHA-256 and record locators, and computes an exploratory MBT G_I preview. It also enumerates nine specific limitations (no sample filtering, no crack-growth inference, no peak selection, no compliance correction, no test registration, no ASTM/cohesive-law/allowable claims).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a dense single paragraph but front-loaded with the read-only preview purpose and every clause carries substantive information. Slightly long, though nothing reads as filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 18-parameter, nested, no-output-schema tool, the description is strong on behavior, scope and workflow. Its main gap is parameter-level meaning for the material/print metadata and evidence fields, which the empty schema coverage does not compensate for.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 18 mostly-required nested parameters, so the description must carry the load. It does meaningfully explain the crack-growth mapping (record number, crack length), column/unit/sign/delimiter/decimal mappings, but leaves the materialProcess object, protocol hash, testedAt, evidence constants, and specimen geometry fields unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Read-only preview of an explicitly mapped local DCB Mode-I raw force/displacement CSV.' It clearly distinguishes itself from the sibling import tools (ENF Mode-II, MMB Mode-I/II) and names the downstream recording tool it feeds into.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly prescribes the workflow: preview first, 'review the preview against the physical log, then call plasticity_record_dcb_mode_i_energy_test only after the physical test is confirmed.' It also enumerates what the caller must supply and what this tool does not do.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_import_enf_mode_ii_energy_csvARead-only
Read-only preview of raw ENF Mode-II force/displacement data in one explicitly mapped local CSV. For each specimen, manually group at least three distinct compliance-calibration runs by specimen/run ID and crack length, then select the exact record numbers in each initial-linear force-displacement region. Also select the physical initiation/peak record from its fracture run; the tool never chooses a peak or finds a linear region for you. It fits displacement versus force for each selected calibration run, converts the resulting compliance and selected fracture force into the caller-specified units, preserves per-source SHA-256/record locators, and calculates an exploratory Mode-II initiation-energy preview. Explicitly map columns, units, signs, CSV formatting, same-material process, interface normal and in-plane shear direction; caller attestations do not independently verify machine-compliance handling, fixture identity, or failure location. It does not register a physical test or claim ASTM D7905 conformity, an R-curve, cohesive law or design allowable. Review every selected run and fit before any physical-evidence recording.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| testedAt | Yes | ||
| delimiter | Yes | ||
| forceSign | Yes | ||
| forceUnit | Yes | ||
| specimens | Yes | ||
| testMethod | Yes | ||
| forceColumn | Yes | ||
| runIdColumn | Yes | ||
| materialProcess | Yes | ||
| decimalSeparator | Yes | ||
| displacementSign | Yes | ||
| displacementUnit | Yes | ||
| specimenIdColumn | Yes | ||
| testProtocolHash | Yes | ||
| complianceEvidence | Yes | ||
| displacementColumn | Yes | ||
| interfaceNormalGlobal | Yes | ||
| interfaceShearDirectionGlobal | Yes | ||
| linearElasticQuasiStaticEvidence | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint/destructiveHint already covering safety, the description adds substantial beyond-annotation behavior: what it fits (displacement vs force), what it converts, that it preserves per-source SHA-256/record locators, and critically what it does NOT do or claim (no ASTM D7905 conformity, no R-curve, cohesive law or design allowable; attestations do not verify machine-compliance, fixture identity, or failure location).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the preview purpose, then the manual selection workflow, then the scope disclaimers. Dense but mostly earning its place for a 20-parameter tool; some clauses (e.g. the attestation caveat) are slightly repetitive of the earlier disclaimer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 20-required-parameter, nested-object, no-output-schema tool, the description explains the workflow, the mapping burden, and the interpretation limits thoroughly. The remaining gap is per-parameter meaning at 0% schema coverage, which keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 20 parameters, so the description carries the burden, and it does meaningfully cover the categories (explicit column/unit/sign/delimiter/decimal mapping, material process, interface normal and in-plane shear direction). However, individual parameters such as testProtocolHash, complianceEvidence, and linearElasticQuasiStaticEvidence are never explained, leaving definite gaps. Baseline 3 for a high-complexity schema whose fields are partly contextualized.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read-only preview of raw ENF Mode-II force/displacement data in one explicitly mapped local CSV') and explicitly distinguishes itself from siblings that record tests ('It does not register a physical test'), separating it from plasticity_record_enf_mode_ii_energy_test and match/list variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives procedural when/how context: manually group at least three compliance-calibration runs per specimen, select exact record numbers in the linear region, and select the fracture peak; it warns 'the tool never chooses a peak or finds a linear region for you' and instructs to review before any physical-evidence recording. It does not name an alternative sibling tool by name, keeping it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_import_interface_fracture_csvARead-only
Read-only preview of per-specimen DCB Mode-I, ENF Mode-II or MMB mixed-mode traction-separation curves from a caller-selected local CSV. The caller must explicitly map specimen and measurement columns, units, decimal/delimiter settings, and attest that the input already contains physical compliance-corrected separations and tractions; raw force-displacement data are rejected. The importer checks complete measured curves, summarizes their peak and integrated work, and preserves the CSV SHA-256 plus exact record locators. It reads only a regular non-symlink UTF-8 file up to 16 MiB, does not alter the file, register a test, infer failure location, correct compliance, calculate a cohesive law, or establish a design allowable. Review specimen, fixture, process, failed interface and correction method before explicitly recording each accepted specimen with plasticity_record_material_interface_test.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/non-destructive, yet the description adds substantial context: file-type constraints (regular non-symlink UTF-8, ≤16 MiB), what it deliberately does NOT do (alter file, register test, infer failure location, correct compliance, compute cohesive law, establish allowable), and what provenance it preserves (SHA-256, record locators). This exceeds the reduced bar set by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose, then constraints, then the handoff. It is dense and every clause carries information, though several sentences are long and could be tightened without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description supplies the missing return semantics (complete measured curves, peak and integrated work summaries, SHA-256, record locators) plus safety and input-validity constraints. Nothing essential for correct invocation is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters in the schema, so the baseline is 4. The description nonetheless conveys rich semantic expectations (explicit column/unit/decimal/delimiter mapping and compliance attestation), which is helpful even though these are not expressed as schema parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read-only preview/import), a precise resource (per-specimen DCB Mode-I, ENF Mode-II, MMB mixed-mode traction-separation curves from a local CSV), and names the mechanism. It is clearly distinguishable from the many sibling import_*_energy_csv tools and record_*_test tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states prerequisites (caller must map specimen/measurement columns, units, decimal/delimiter settings, and attest compliance-corrected data), states what is rejected (raw force-displacement), and routes the agent forward to plasticity_record_material_interface_test after review. When-to-use and the downstream alternative are both given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_import_interface_tensile_csvARead-only
Read a caller-selected local UTF-8 CSV containing direct tensile-coupon force samples, find the maximum sampled tensile force for each explicitly listed specimen, and return a preview with source SHA-256 plus nominal force/area stress. The caller must map exact CSV headers, delimiter, decimal separator, force unit and force sign, and supply each specimen's measured net cross-section and observed failure location; none are inferred. Reads only a regular non-symlink file up to 16 MiB, leaves it unchanged, and does not register a physical test. This is a peak-strength screen only: it does not filter or compliance-correct machine data, create DCB/ENF/MMB traction-separation curves, estimate fracture energy or cohesive parameters, or establish an allowable. Review the preview and then explicitly call plasticity_record_material_interface_test to persist caller-attested physical evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| delimiter | Yes | ||
| forceSign | Yes | ||
| forceUnit | Yes | ||
| specimens | Yes | ||
| forceColumn | Yes | ||
| decimalSeparator | Yes | ||
| specimenIdColumn | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, but the description adds substantive behavior beyond them: it reads only a regular non-symlink file up to 16 MiB, leaves the file unchanged, does not register a physical test, requires caller-supplied mappings with no inference, and returns a preview with SHA-256 plus nominal force/area stress. This is rich transparency for a read-only import tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and dense, with no filler sentences; the exclusions and persistence handoff earn their place. It is nonetheless quite long, and the exclusions sentence could be tightened, so it is not maximally concise despite being appropriate for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity import with 8 required parameters, 0% schema description coverage, and no output schema, the description supplies the missing context: return preview format, SHA-256, nominal stress, file constraints, no-inference rule, and persistence handoff. An agent has enough information to call it correctly and understand the next step.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the semantic burden, and it does: it explains that the caller must map exact CSV headers, delimiter, decimal separator, force unit, and force sign, and must supply each specimen's measured net cross-section and observed failure location, with none inferred. These are meaningful constraints and mappings beyond the bare enum values in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource (caller-selected local UTF-8 CSV of direct tensile-coupon force samples), plus the concrete outcome: maximum sampled tensile force per explicitly listed specimen, with a preview containing source SHA-256 and nominal force/area stress. It distinguishes its scope from DCB/ENF/MMB energy curve tools and from the separate record_material_interface_test persistence step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use it (peak-strength screen from a caller-mapped tensile CSV) and when not to use it (does not filter or compliance-correct machine data, create DCB/ENF/MMB traction-separation curves, estimate fracture energy or cohesive parameters, or establish an allowable). It also names the required follow-up alternative: review the preview and call plasticity_record_material_interface_test to persist evidence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_import_mmb_mode_i_ii_energy_csvARead-only
Read-only preview of caller-selected physical MMB initiation forces in one explicitly mapped local UTF-8 CSV. Reads only a regular non-symlink file up to 16 MiB and 250,000 data records. For each specimen, map its ID and force columns/units/sign, then select the exact CSV record associated with the manually determined crack-initiation criterion and provide measured crack length, geometry, failure location, exact one-material process, sourced same-process flexural/orthotropic moduli, and confirmed material-axis mapping. The importer converts force units only, preserves the CSV SHA-256 and exact record locator, and returns the MMB energy-partition preview. It never selects a peak or identifies initiation from raw curves, and does not validate the MMB fixture or ASTM D6671 conformity. The preview does not register physical evidence, produce a traction-separation curve/cohesive law, qualify material, or authorize design/printing.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| testedAt | Yes | ||
| delimiter | Yes | ||
| forceSign | Yes | ||
| forceUnit | Yes | ||
| specimens | Yes | ||
| testMethod | Yes | ||
| forceColumn | Yes | ||
| leverWeight | Yes | ||
| flexuralModulus | Yes | ||
| materialProcess | Yes | ||
| decimalSeparator | Yes | ||
| specimenIdColumn | Yes | ||
| testProtocolHash | Yes | ||
| orthotropicModuli | Yes | ||
| axesMappingConfirmed | Yes | ||
| interfaceNormalGlobal | Yes | ||
| interfaceShearDirectionGlobal | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly/destructive/openWorld; the description adds substantial non-annotation behavior: reads only a non-symlink regular file up to 16 MiB / 250,000 records, converts force units only, preserves the CSV SHA-256 and record locator, and returns an energy-partition preview. It also explicitly states what it does NOT do (peak selection, fixture validation, evidence registration, design authorization), which is exactly the pre-call context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the file-scope constraints before the per-specimen requirements. It is dense but nearly every clause adds a real constraint; some of the closing negative list could be trimmed, but overall it is well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-param nested tool with no output schema, the description covers the purpose, inputs-in-concept, side-effect-free behavior, and explicitly bounds the returned 'preview' rather than a cohesive law. It stops short of describing the preview's payload, but the negative scope largely compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 18 required nested parameters, so the description must carry the burden. It conceptually enumerates the needed inputs (specimen ID + force column/unit/sign mapping, crack length, geometry, failure location, one-material process, sourced moduli, confirmed axis mapping), but it does not tie these to parameter names or clarify enum semantics, leaving gaps for a tool of this complexity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Read-only preview of ... MMB initiation forces in one ... CSV') and scoping ('caller-selected', 'explicitly mapped local UTF-8 CSV'), which distinguishes it from the record_/read_/match_/list_ MMB siblings and from the ENF/DCB importers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes the workflow ('For each specimen, map its ID and force columns/units/sign, then select the exact CSV record...') and lists exclusions (never selects a peak, does not validate fixture/ASTM conformity), which implies when it applies. However, it never names an alternative sibling (e.g., the record or read MMB tools) or the condition that would route an agent there, so routing must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_import_parasolidADestructive
Import a validated Parasolid text (.x_t) or binary (.x_b) file as native editable B-Rep geometry. Returns compact document state, imported body IDs/count, artifact SHA-256, and historical document/revision provenance with exact imported-body measurements. Optional source metadata records the direct asset and source page. Use plasticity_body_info for selected bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| intent | No | ||
| source | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds useful context that the input must be a validated Parasolid file and that import converts it to editable B-Rep, but it does not disclose what existing document content is affected, whether the current document is replaced, or revision-conflict behavior — notable gaps for a destructive import.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core action before the return/provenance detail and the sibling pointer. Slightly overloaded with return-value enumeration, but every sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the return shape (document state, body IDs/count, SHA-256, provenance, measurements), which is valuable. However, the 0%-documented nested 'source' object and the required 'revision' parameter are unexplained, leaving the tool's input contract incomplete for a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across all 4 parameters, so the description must carry the burden and largely does not. It hints that 'source' is optional metadata recording the asset and source page, but 'path', 'revision', and 'intent' — including the meaning of revision as a document revision — are left entirely to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Import) and resource (Parasolid text .x_t / binary .x_b file) and specifies the outcome ('native editable B-Rep geometry'), which cleanly separates it from siblings like plasticity_import_step, plasticity_import_svg, and the download_and_import variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only routing guidance is 'Use plasticity_body_info for selected bodies,' which is a follow-up hint rather than a when-to-use-vs-alternative rule. It never explains when to pick this over plasticity_download_and_import_parasolid or plasticity_import_step, leaving the primary selection decision implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_import_reference_3mfADestructive
Import a local 3MF as approximate reference mesh geometry through Plasticity's native importer. The file's embedded unit determines scale; read the returned mesh bounds and keep them distinct from exact native B-rep dimensions. The server stores the artifact hash, import-time document/revision, mesh IDs, bounds and topology counts in the persistent CAD reference-import registry; optional source URLs are redacted and retain license and confidence. Read the historical record with plasticity_get_cad_reference_import.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| intent | No | ||
| source | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and readOnlyHint=false, and the description adds substantial behavioral detail beyond them: scale is dictated by the file's embedded unit, bounds are approximate, the server persists artifact hash, document/revision, mesh IDs, bounds, topology counts, and source URLs are redacted while retaining license and confidence. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences that are front-loaded with the core action, then scaling caveat, then persistence/follow-up. Each sentence earns its place, though the registry enumeration is heavy and slightly dense for the reader.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and a nested source object, the description supplies the important missing context: unit-driven scaling, approximate-vs-exact distinction, registry persistence, and the read-back sibling. Only the intent/path parameter semantics remain thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry parameter meaning. It partially does: it explains that the source object's URL is redacted and license/confidence are retained, and references the import-time document/revision. But 'path' and 'intent' semantics are left entirely to the schema, leaving a real gap for a 4-parameter tool with a nested object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (import a local 3MF as approximate reference mesh geometry) and the mechanism (Plasticity's native importer). The 'local' qualifier implicitly distinguishes it from the sibling plasticity_download_and_import_reference_3mf and from plasticity_import_reference_mesh, so an agent can route without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context: read returned mesh bounds and treat them as distinct from exact native B-rep dimensions, and points to plasticity_get_cad_reference_import for the historical record. It does not state when to prefer this over the download-and-import or generic reference-mesh siblings, but the local-file framing supplies enough context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_import_reference_meshADestructive
Import a local STL or OBJ as an approximate reference mesh in one Plasticity history step. The source unit is explicit because STL is unitless and community OBJ scale is often ambiguous. The result can be selected and transformed, but its mesh bounds and triangles are reference evidence only; use manufacturer CAD, drawings, or user-confirmed dimensions for exact modeling.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| intent | No | ||
| revision | Yes | ||
| sourceUnit | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds real context beyond annotations: that the mesh is approximate, that sourceUnit is required because STL is unitless, and that bounds/triangles are 'reference evidence only.' But it does not explain the destructiveHint=true behavior (why an import is destructive, what state it alters) even though the hidden annotation flags it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and result, and the unit/model-accuracy caveat follows logically. Each sentence contributes, though the middle sentence is slightly dense and could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 0% schema description coverage, the description should carry more load. It covers purpose and the sourceUnit rationale but leaves revision and intent undefined, and does not address the destructive behavior implied by annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It justifies sourceUnit well (STL unitless, OBJ scale ambiguous), but says nothing about path, revision, or intent, leaving three of four parameters undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Import), resource (local STL or OBJ), and the outcome (approximate reference mesh in one Plasticity history step). It is clearly distinguishable from siblings like plasticity_import_step, plasticity_import_parasolid, and plasticity_download_and_import_reference_mesh.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage by warning that the mesh is 'reference evidence only' and directing users to CAD/drawings/user-confirmed dimensions 'for exact modeling.' However, it never states when to choose this tool over the sibling imports (download_and_import_reference_mesh, import_reference_3mf) or any preconditions, so the routing guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_import_stepBDestructive
Import exact STEP geometry into the current document. Returns compact document state, imported body IDs/count, source SHA-256, and a persistent local provenance record with native B-Rep measurements. Optionally provide HTTPS source provenance. The record is historical after further edits; use plasticity_body_info for selected bodies and plasticity_measure_solid_properties for measurements.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| intent | No | ||
| source | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: what the return payload contains (compact document state, body IDs/count, source SHA-256, provenance record with B-Rep measurements) and that the record is historical after further edits. It does not explain what existing document state may be altered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then value-add details about the return payload and follow-up tools. Dense but each sentence contributes; no filler. Minor awkwardness in compressing multiple return items into one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately enumerates the return contents, which is helpful. But for a 4-parameter tool with a nested enum-bearing source object and 0% schema coverage, the lack of any path/revision/intent guidance leaves an agent under-informed on how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must carry the load. It only alludes to one parameter, the optional source provenance ('Optionally provide HTTPS source provenance'), and leaves path, revision, and intent entirely undocumented, along with the source enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Import exact STEP geometry into the current document'), and the 'exact STEP' qualifier distinguishes it from generic imports. It does not explicitly contrast with the closest siblings like plasticity_download_and_import_step or plasticity_import_parasolid, so the differentiation is by resource name rather than an explicit sibling callout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It offers useful follow-up guidance ('use plasticity_body_info for selected bodies and plasticity_measure_solid_properties for measurements') and a caveat that the provenance record becomes historical after edits. However, it gives no explicit when-to-use guidance versus the many other import tools (download_and_import_step, import_parasolid, import_reference_mesh), so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_import_svgADestructive
Import a local SVG as editable native planar Wires in one Plasticity history step. The source unit explicitly defines how SVG coordinate values map to physical length. Closed non-self-intersecting contours also produce revision-bound planar Regions that can be extruded or used as profiles; verify exact Wire geometry after import because SVG transforms and curve content can change the resulting placement and topology.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| intent | No | ||
| revision | Yes | ||
| sourceUnit | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutating nature is known. The description adds real value beyond that: it creates native Wires in one history step, closed contours yield revision-bound Regions, and it warns that SVG transforms/curve content can alter resulting placement and topology. It stops short of stating permission/auth requirements or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences with dense but relevant content and no filler. The first sentence delivers the core action immediately, and later sentences add scope and caution rather than repeating the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 0% parameter coverage, the description covers behavior, region generation, and post-import verification well. It is incomplete on parameter meanings (path, intent, revision) and does not explain what the tool returns, leaving gaps an agent would have to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 4 parameters, so the description carries the burden. It only explains sourceUnit in depth ('explicitly defines how SVG coordinate values map to physical length') and gestures at revision via 'revision-bound'; path and intent are entirely unaddressed. With three of four parameters undocumented, compensation is clearly insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource pair ('Import a local SVG as editable native planar Wires') and even specifies the creation mode ('in one Plasticity history step'). This clearly separates it from siblings like plasticity_import_step, plasticity_import_reference_mesh, plasticity_export_svg, and the curve-creation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It hints at downstream use ('can be extruded or used as profiles') and adds a caution ('verify exact Wire geometry after import'), which is useful implied guidance. However, it never states when to choose this over alternatives such as plasticity_import_step or plasticity_create_curves_from_regions, nor any when-not condition, so usage remains inferential.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_imprint_bodiesCDestructive
Split a Solid or Sheet target along exact intersections with preserved Solid or Sheet tool bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| toolIds | Yes | ||
| revision | Yes | ||
| targetId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive and non-read-only. The description adds that tool bodies are preserved, which is useful operational context beyond the annotations, but it does not explain whether the target is consumed, what permissions are needed, or how the split result is represented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence that avoids filler. It is efficient, though the repeated 'Solid or Sheet' phrasing could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive four-parameter mutation with no output schema and no schema descriptions, the description is incomplete. It omits parameter meanings, revision handling, intent, and any post-operation state information an agent would need to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for four parameters. The description loosely maps 'target' and 'tool bodies' to targetId and toolIds, but it says nothing about the required revision or optional intent parameters, leaving critical parameter semantics undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (Split) and resource (Solid or Sheet target) and describes the mechanism (exact intersections with preserved tool bodies). It implicitly distinguishes itself from curve-based imprinting and plane-based splitting, though it does not name an alternative directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like imprint_curves_on_body, split_solid_by_plane, or boolean. The description only states what the operation does, leaving the agent to infer context or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_imprint_curves_on_bodyCDestructive
Project native Wire bodies onto a Solid or Sheet and split its exact faces along the projected curves.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| occlude | No | ||
| curveIds | Yes | ||
| revision | Yes | ||
| targetId | Yes | ||
| direction | Yes | ||
| completion | No | none | |
| bidirectional | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, and the description reinforces this by stating it splits the target's exact faces, so the agent knows the target body is modified. However, it says nothing about direction/occlusion behavior, reversibility, or error conditions that a destructive 8-parameter operation would need.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the core action front-loaded and no filler. It is appropriately sized, though the brevity is partly under-specification rather than true economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, 8-parameter modeling operation with no output schema and 0% schema coverage, the description is too thin: it does not explain key optional behaviors (occlude, completion mode, bidirectional) that materially change the result. An agent could call it but would likely choose wrong option values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description carries the full burden, yet it only implicitly hints at targetId, curveIds, and direction (via 'Project ... onto ... along the projected curves'). Parameters like occlude, completion, bidirectional, revision, and intent are entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a clear verb chain (project/imprint + split) and names concrete resources (Wire bodies, Solid or Sheet). It differentiates the operation from siblings like plasticity_project_curves_onto_body because it explicitly says the result splits exact faces, though the distinction is not framed as a routing statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no mention of alternatives such as plasticity_project_curves_onto_body or plasticity_imprint_bodies despite their obvious overlap. The agent must infer the use case from the operation name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_insert_curve_knotADestructive
Insert one native knot into one exact current B-Spline Wire segment while preserving its path and degree. Use plasticity_list_curve_directions immediately before this call and pass a normalizedParameter strictly between 0 and 1, where 0 is the returned segment start and 1 is its end. This adds one local control point in one Plasticity history step; inspect native structure and functional geometry afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| segment | Yes | ||
| revision | Yes | ||
| normalizedParameter | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring destructiveHint=true and readOnlyHint=false, the description adds useful behavioral context: it preserves path and degree, adds exactly one local control point, and consumes one Plasticity history step. It does not cover permission requirements, undo semantics, or error behavior, but the added detail is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, then usage constraint, then behavioral effect. Every sentence carries information, though the final post-inspection advice is somewhat generic and could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested, no-output-schema mutation tool, the description supplies purpose, prerequisite, one key parameter explanation, and effect, which is a reasonable baseline. However, it omits meaning for revision and intent, and does not explain how to obtain the nested segment identifiers, leaving notable gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all four parameters. It explains normalizedParameter well (strictly between 0 and 1, segment start to end) and references the segment concept, but leaves bodyId, segmentEntityId, revision, and intent entirely undocumented, leaving most of the tool's inputs opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Insert') and precise resource ('one native knot into one exact current B-Spline Wire segment'), making the operation clearly distinct from topical siblings like split_curve_segment or subdivide_curves. It stops short of explicitly naming an alternative or stating when not to use it, so it is clear but not fully sibling-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an explicit prerequisite ('Use plasticity_list_curve_directions immediately before this call') and a precise parameter constraint ('normalizedParameter strictly between 0 and 1'), which gives strong procedural context. It does not name alternatives or state when-not conditions, keeping it at a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_insert_isoparam_edgesADestructive
Insert native U- or V-isoparametric edges into one current Solid or Sheet face. This splits the selected face in place while preserving the body ID and occupies one Plasticity history step; it does not create independent Wire bodies. U/V follow the face's native parameterization, so inspect the resulting analytic surfaces, dimensions, topology, and mass properties instead of assuming a world direction or unchanged numerical integration.
| Name | Required | Description | Default |
|---|---|---|---|
| face | Yes | ||
| count | No | ||
| intent | No | ||
| revision | Yes | ||
| direction | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint=true annotation, the description discloses concrete behavioral traits: the face is split in place, the body ID is preserved, it consumes exactly one history step, and no Wire bodies are created. This adds real context an agent would not get from annotations alone, though auth/permission needs and reversibility are not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause and the two sentences stay on topic, with no filler. It is slightly dense, packing multiple behavioral facts (history step, body ID, no wires) into a single long sentence, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 5-parameter mutation tool with no output schema, the description covers the operation's effect and result-inspection well, but omits any explanation of count/intent/revision and any note on how the split is undone. Adequate but with clear gaps given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage across 5 parameters, the description carries the full burden. It clarifies the 'direction' enum (u/v follow the face's native parameterization) and maps 'face' to the selected solid/sheet face, but 'count', 'intent', and 'revision' receive no explanation at all, leaving 3 of 5 parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Insert native U- or V-isoparametric edges') and scopes it to 'one current Solid or Sheet face'. It explicitly distinguishes itself from wire-producing operations ('it does not create independent Wire bodies'), so an agent can tell it apart from curve/wire siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when the tool applies ('splits the selected face in place', works on 'one current Solid or Sheet face') but never explicitly states when to choose this over alternatives or what prerequisites the face/selection must satisfy. Usage is inferred rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_insert_sheetADestructive
Insert one separate current fill Sheet into explicit boundary edges of another current target Sheet. Plasticity consumes both input bodies and returns one rebuilt Sheet or Solid in one history step; every prior body and topology reference becomes stale, so inspect the returned state and validate the result.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| edgeIds | Yes | ||
| revision | Yes | ||
| fillSheetId | Yes | ||
| targetSheetId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only covering safety flags, the description adds substantial behavioral context: both input bodies are consumed, the operation returns one rebuilt Sheet or Solid in one history step, and every prior body and topology reference becomes stale. It also explicitly tells the agent to inspect and validate the returned state, which is valuable for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core operation followed by critical behavioral caveats. Every clause earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive sheet-insertion tool with no output schema, the description covers return shape, history behavior, staleness, and validation. However, it leaves the five parameters entirely undocumented, which is a meaningful gap given 0% schema description coverage and four required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are 5 parameters. The description alludes to fill Sheet, target Sheet, and boundary edges, which loosely map to fillSheetId, targetSheetId, and edgeIds, but it does not name or explain any parameter, and it says nothing about revision or intent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: inserting one fill Sheet into explicit boundary edges of a target Sheet. It is clear what the operation does, but it does not explicitly distinguish itself from sibling tools like plasticity_join_sheets, plasticity_bridge_surface, or plasticity_patch_sheet_hole.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no alternatives. It only says to inspect and validate the result afterward, which is post-invocation advice rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_inspect_arbitrary_sectionBRead-only
Read the exact native B-rep intersection of one Solid with an arbitrary plane. The temporary Sheet and cut results never enter the persistent document.
| Name | Required | Description | Default |
|---|---|---|---|
| plane | Yes | ||
| bodyId | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, destructiveHint=false, openWorldHint=false. The description adds real value beyond them by disclosing that the temporary Sheet and cut results do not persist in the document, which is exactly the kind of side-effect reassurance a section-cutting tool needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the core action front-loaded and the non-persistence caveat immediately after. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should hint at what the intersection result looks like (curve set, sheet, region) and what units or frame it is expressed in; instead it stops at the persistence note. The plane/revision parameters also remain unexplained, so the definition is adequate but leaves a real gap for a geometry-returning tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for three required params (bodyId, revision, plane). The description only obliquely implies 'one Solid' and an 'arbitrary plane'; it says nothing about what 'revision' means (a concurrency/version token?) nor how originMm/normal/xDirection define the cutting frame.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Read the exact native B-rep intersection of one Solid with an arbitrary plane.' That clearly distinguishes it from the many curve/measurement siblings, though it never names or contrasts with the near-identical siblings plasticity_inspect_arbitrary_sections and plasticity_inspect_planar_section.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. With a plural sibling (plasticity_inspect_arbitrary_sections) and a scan sibling (plasticity_scan_arbitrary_sections) in the list, the agent gets no rule for choosing this singular one-plane variant over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_inspect_arbitrary_sectionsARead-only
Inspect 1–32 explicitly supplied candidate planes through one Solid. Every exact native section must belong to the same current Plasticity session, document, body and revision; individual planes may be unsupported if they do not cut a supported section.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyId | Yes | ||
| planes | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, non-destructive, closed-world safety profile. The description goes beyond them by disclosing two real behavioral constraints: all sections must share the same session/document/body/revision, and individual planes may be silently unsupported if they do not cut a supported section (partial-failure tolerance). Return format is not described, which keeps this short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the action and its bounds before the eligibility constraints. No filler, though terms like 'exact native section' are jargon-heavy and would benefit from one clarifying phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-required-parameter mutation-free inspection tool with no output schema, the description should do more: the plane-geometry structure is undocumented and no indication of what the inspection returns (per-plane support status, cross-section data) is given. The session/document/revision invariant is the strongest piece of context provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It hints at all three parameters — plane count (1–32), 'one Solid' implying bodyId, and 'current... revision' implying revision — but it never explains the plane object structure (originMm, normal, xDirection) that the schema leaves undocumented. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Inspect) and resource (1–32 explicitly supplied candidate planes through one Solid), with the batch bound spelled out. It distinguishes itself functionally from automatic-scan siblings by emphasizing caller-supplied planes, but never names the singular sibling (plasticity_inspect_arbitrary_section) or scan_arbitrary_sections, so the differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'explicitly supplied candidate planes' implies the caller must already know which planes to test, hinting at when to use this over a scanning tool, but there is no explicit when-to-use/when-not-to-use statement and no alternative named. Guidance is inferable, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_inspect_curve_planarityBRead-only
Ask the native B-Rep kernel whether each selected current Wire is exactly planar and return its native plane origin and normal when available.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds some value by noting the query goes to the 'native B-Rep kernel' and that the plane result is returned only 'when available,' hinting at a conditional/failure case. It stops short of describing error behavior for non-planar wires.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-formed sentence that front-loads the operation and its outcome with no wasted words. Nothing is repeated from annotations or schema, and the result expectation is embedded efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does carry the burden of explaining the return value (plane origin and normal), which it handles. But with 0% parameter coverage and no annotation gaps to lean on for inputs, the definition leaves an agent unable to construct a correct 'revision' argument.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither 'ids' nor 'revision' is explained anywhere in the description or schema. The mention of 'selected current Wire' subtly hints that ids are wire identifiers, but the meaning of 'revision' and the wire-selection format are left entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (inspect/ask the kernel) and resource (each selected current Wire's planarity), plus the returned data (native plane origin and normal). It is clearly distinguishable from mutating siblings like plasticity_planarize_curves, though it does not explicitly call out which sibling it replaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'each selected current Wire' implies the tool operates on the current selection, giving implicit usage context. However, there is no explicit when-to-use, when-not-to-use, or named alternative guidance, so an agent must infer the trigger conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_inspect_curve_structureCRead-only
Read compact exact native B-Rep structure for selected current Wire bodies: segment type and length, analytic Circle center/radius/normal, plus NURBS degree, control-point count, Plasticity's raw span count, active normalized span count, carrier-knot parameters mapped into each segment's normalized coordinates, multiplicities, rationality, and periodicity when available. Periodic native span count can include wrapped extension knots; activeSpanCount counts only intervals across the normalized edge. A knot with withinSegment=false belongs to the underlying carrier outside that trimmed segment.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful semantic context about return values (periodic span counts may include wrapped extension knots, activeSpanCount counts only intervals across the normalized edge, withinSegment=false knots belong to the trimmed carrier). This is valuable but concerns return content rather than new behavioral traits, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is a long run-on listing many attributes, which hurts front-loading and scannability. The two follow-up sentences on knot semantics are dense but each earns its place by resolving real ambiguity in the returned fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only inspect tool with no output schema, the description compensates well by explaining the returned structure in detail. However, the two required parameters (especially revision) are left unexplained and there is no usage routing, leaving an agent partially equipped to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two required params (ids, revision). The description implies ids reference 'selected current Wire bodies,' partially clarifying ids, but says nothing about the revision parameter, its format, or what revision means for the returned data. With full burden on the description and a complete gap on revision, it falls short.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (read native B-Rep structure for Wire bodies) and enumerates the exact fields returned — segment type/length, analytic circle data, NURBS degree, control-point count, knot data. The scope is distinguishable from siblings like plasticity_list_curve_control_points or plasticity_evaluate_curve_segments, though it never names an alternative to draw the line explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'selected current Wire bodies' implies a selection prerequisite, but there is no guidance on when to choose this over sibling inspection/evaluation tools, and no when-not or alternative routing. An agent must guess whether this or plasticity_evaluate_curve_segments is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_inspect_fastener_groupARead-only
Read exact in-plane centers and diameters from two or more explicitly selected cylindrical faces on one current Solid. The returned revision-bound native B-Rep evidence and assignments can be passed into fastener-group load distribution; coaxial duplicate faces, stale references, and axes not normal to the supplied frame are rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| frame | Yes | ||
| bodyId | Yes | ||
| revision | Yes | ||
| cylindricalFaceIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description adds meaningful behavior beyond that: the evidence is revision-bound native B-Rep, and coaxial duplicate faces, stale references, and off-normal axes are rejected. That rejection behavior is exactly the kind of input-validation context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the primary read action and followed by downstream use and rejection rules. No filler, though the second sentence packs several distinct ideas together.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only inspection tool with no output schema and four required params, the description covers what is read, the downstream consumer, and failure modes. The exact shape of the returned evidence is only loosely described, but the essential calling context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden, and it does reasonably well: it maps to cylindricalFaceIds ('two or more explicitly selected cylindrical faces'), bodyId ('one current Solid'), frame (axes must be normal to it), and revision (revision-bound / stale references rejected). It lacks format details for the frame vectors, keeping it short of a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read) and resource (in-plane centers and diameters from cylindrical faces), plus scope constraints (two or more faces, one current Solid). An agent can distinguish it from siblings like inspect_single_fastener_plate or distribute_fastener_group_load 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by noting the returned evidence 'can be passed into fastener-group load distribution', which routes the agent to the downstream workflow. However, it never names an alternative tool or states explicit when-not-to-use conditions, so the guidance remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_inspect_integral_rectangular_plateBRead-only
Measure one exact rectangular panel wall from opposed native planar faces of the same Solid. Verifies face outlines, opposite normals, coplanar alignment and wall thickness; no display or mesh bounds are used.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyId | Yes | ||
| revision | Yes | ||
| backFaceId | Yes | ||
| xDirection | Yes | ||
| frontFaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/non-destructive/openWorld=false, so the safety profile is covered. The description adds real behavioral value beyond that: it discloses what the inspection verifies (face outlines, opposite normals, coplanar alignment, wall thickness) and that display/mesh bounds are excluded, telling the agent the result derives from native B-rep geometry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler; the measurement premise is front-loaded and the verification list follows. Efficient, though the second sentence crams four checked properties into one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only inspection tool with no output schema, the description covers what is measured and how, which is reasonably complete on behavior. However, with zero parameter coverage and five required inputs, the definition leaves too much for the agent to infer about how to actually invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 required parameters (bodyId, frontFaceId, backFaceId, revision, xDirection), so the description must carry the burden. It names none of them and gives no format hints for revision or the 3-vector xDirection, leaving the agent to infer the required inputs from the prose alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Measure') and resource ('one exact rectangular panel wall') with the geometric precondition (opposed native planar faces of the same Solid). This is clearly distinguishable from adjacent inspection tools like inspect_rectangular_member or inspect_planar_section, though it does not name a sibling explicitly to route away from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying the required configuration (two opposed planar faces of one Solid) but gives no explicit when-to-use or when-not-to-use guidance, nor any alternative to reach for. Usage is inferable from the geometric premise rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_inspect_planar_sectionBRead-only
Read one exact current planar Solid face from native B-rep line and circular boundaries. Display bounds and render meshes are not measurement evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyId | Yes | ||
| faceId | Yes | ||
| revision | Yes | ||
| xDirection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/destructive=false, so the bar is lower. The description adds genuinely new behavior: the read is bound to a 'current' revision and native B-rep boundaries, and it warns that display bounds and render meshes are not valid evidence — context an agent could not infer from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, and the purpose statement is front-loaded before the caveat. Efficient, though the second sentence's value depends on context the reader may lack.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 4-required-parameter inspection tool with 0% schema coverage and no output schema needs the description to explain at least how to identify the face and section direction. The description covers the conceptual nature of the read but leaves all parameter semantics and the expected result unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four required parameters (bodyId, faceId, revision, xDirection). The description never explains what these identifiers are, how revision relates to 'current', or how xDirection defines the section plane, so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('read one exact current planar Solid face') and pins the data source ('native B-rep line and circular boundaries'). It is narrower and more precise than the bare name, though it does not explicitly differentiate itself from close siblings like plasticity_measure_planar_faces or plasticity_inspect_surface_structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence ('Display bounds and render meshes are not measurement evidence') implies the tool is for exact metrology rather than display-derived numbers, which is useful context. However it names no alternative tool and gives no explicit when-to-use/when-not conditions beyond that hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_inspect_rectangular_memberBRead-only
Read exact native B-rep topology and verify one constant rectangular Solid without using display or mesh bounds.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyId | Yes | ||
| revision | Yes | ||
| heightAxis | Yes | ||
| lengthAxis | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that it reads native B-rep topology rather than display/mesh data, which is useful context, but says nothing about failure behavior on non-rectangular solids or the numeric tolerance used in verification.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though it compresses several distinct ideas (topology read, verification, non-mesh data source) without unpacking them.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter, fully required tool with no output schema and zero parameter documentation, the description is too thin. An agent cannot tell what 'verify' returns, what units or frames the axis vectors use, or what to expect when the solid is not constant-rectangular.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and none of the four required parameters (bodyId, revision, lengthAxis, heightAxis) are explained in the description. Critical semantics such as whether the axes are unit vectors in model space, their expected orientation, and what 'revision' refers to are left entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verb+resource: reads exact native B-rep topology and verifies one constant rectangular solid. This distinguishes it from mesh/display-based inspection and from body_info/validate_bodies, though it does not name the nearest siblings (e.g., inspect_integral_rectangular_plate) explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without using display or mesh bounds' hints at when to prefer this over display/mesh-derived measurements, which is implicit usage guidance. However, there is no explicit statement of when to use it versus sibling inspectors or what preconditions (single body, constant cross-section) must hold.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_inspect_single_fastener_plateBRead-only
Verify one exact constant-thickness rectangular Solid plate with one cylindrical through-hole. The load direction selects the loaded edge; no display or mesh bounds are used.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyId | Yes | ||
| revision | Yes | ||
| backFaceId | Yes | ||
| frontFaceId | Yes | ||
| loadDirection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, destructiveHint=false, openWorldHint=false), so the description need only add context. It does: 'no display or mesh bounds are used' discloses that verification runs against exact solid geometry rather than tessellation, and 'the load direction selects the loaded edge' explains a side effect of an input. Missing is any note on return format or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the bounding constraint front-loaded before the behavioral note. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five undocumented required parameters, no output schema, and no annotation detail on results, the description leaves the agent guessing how to supply face IDs and revision and what a success/failure outcome looks like. For a verification tool that must express a pass/fail verdict, this is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five required parameters (bodyId, frontFaceId, backFaceId, revision, loadDirection). The description only explains loadDirection's role indirectly, and says nothing about what frontFaceId/backFaceId must reference, what revision anchors, or acceptable formats. It fails to compensate for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Verify) and a tightly bounded resource (one constant-thickness rectangular Solid plate with one cylindrical through-hole), which clearly distinguishes it from generic inspection tools. However, it does not name or contrast with near siblings like plasticity_inspect_integral_rectangular_plate or plasticity_verify_single_fastener_strength, leaving differentiation to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the tight geometric scope ('one exact constant-thickness rectangular Solid plate with one cylindrical through-hole'), which tells the agent what inputs qualify. But there is no explicit when-to-use, when-not-to-use, or pointer to an alternative for other plate configurations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_inspect_surface_structureARead-only
Read compact exact native B-Rep structure for selected current Solid or Sheet faces without changing the document: carrier surface type, whether the face is trimmed, face and natural UV parameter bounds, plus B-Surface degrees, span counts, control-point counts, and rationality. UV values are native parameters rather than millimeter distances.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds meaningful context beyond the readOnly annotations: explicitly states it does not change the document, and clarifies the crucial distinction that UV values are native parameters rather than millimeter distances. Does not cover error behavior or revision-mismatch handling, but the semantic UV note is high-value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single dense sentence that is front-loaded with the read-only scope and then enumerates the returned structure. Slightly long and comma-heavy, but every clause conveys distinct technical content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two required params, full readOnly annotations, and no output schema, the description covers the return payload well (surface type, trim status, UV bounds, degrees/spans/control-points/rationality). It omits explanation of 'revision' semantics and how to obtain valid face IDs, leaving a minor completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It clarifies that 'faces' refers to selected current Solid or Sheet faces (bodyId+faceId), addressing the primary parameter's intent. The 'revision' parameter is not explained in the description, which is a gap for a required field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read), resource (B-Rep surface structure), and scope (selected Solid or Sheet faces). Clearly distinguished from siblings like measure_face_properties or inspect_curve_structure by naming the exact structural attributes returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage (when you need native topological/surface data for selected faces) but never states when to use this versus measure_face_properties, analyze_surface_continuity, or inspect_curve_structure. No explicit exclusions or prerequisites beyond the implicit 'selected current' faces.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_inspect_tongue_root_sectionBRead-only
Inspect a caller-selected exact native section and derive root width/thickness only when the B-rep boundary is one axis-aligned rectangle with four straight edges and no holes. The returned plane binding can be used by plasticity_verify_tongue_root_strength.
| Name | Required | Description | Default |
|---|---|---|---|
| plane | Yes | ||
| bodyId | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuine behavior beyond that: the precise geometric validity condition and the fact that a plane binding is returned for reuse. It omits what happens when the condition fails (error vs. empty result), so it is useful but not complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with the geometric precondition front-loaded and zero filler. Efficient, though the second sentence about the plane binding could be folded more economically.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry return semantics; it hints at returned width/thickness and a plane binding but does not specify the output shape or units. For a read-only inspect tool with a nested plane input, this is adequate but leaves gaps an agent would need to call and interpret correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are three parameters, including a nested plane object with originMm, normal, and xDirection that are entirely undocumented. The description alludes to a 'section' and 'plane binding' but provides no meaning, format, or constraints for any parameter, failing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (inspect, derive) and resource (tongue root section), and states the exact analytic output (root width/thickness). It also names the downstream sibling plasticity_verify_tongue_root_strength, aiding differentiation, though it does not distinguish itself from the other inspect_* section siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a precondition for the derivation ('only when the B-rep boundary is one axis-aligned rectangle with four straight edges and no holes') and notes downstream use, which implies context. However, it never says when to choose this tool over alternatives like inspect_planar_section or inspect_arbitrary_section, nor what to do otherwise.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_join_curvesBDestructive
Join two or more native Wire bodies into one editable compound curve.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose this is a mutating, destructive operation (readOnlyHint=false, destructiveHint=true), so the safety profile is covered. The description usefully adds that the output is a single editable compound curve, but says nothing about what happens to the source wires, whether the join is reversible, or that a revision token is needed to guard concurrent edits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb, input, and output; nothing redundant and nothing padded. It is appropriately sized for the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive multi-body mutation with no output schema and zero parameter documentation, the description is too thin: it never addresses the required revision token, the optional intent, error/refusal conditions, or the returned curve identity. An agent could call it but not confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for all three parameters. The description's 'two or more' loosely maps to the ids array's minItems of 2, but it explains nothing about the 'revision' parameter (required, clearly a concurrency/version token) or the optional 'intent' field, leaving two of three parameters undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Join') and resource ('native Wire bodies') and states the result ('one editable compound curve'), so the operation is unambiguous. It does not, however, differentiate itself from nearby siblings such as plasticity_bridge_curves or plasticity_join_sheets, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to join versus bridge curves, or when to prefer this over plasticity_create_curves_from_regions or plasticity_unjoin_curves. The only implicit hint is the 'two or more' cardinality requirement, which is already encoded in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_join_sheetsBDestructive
Sew two or more native Sheet bodies along coincident edges.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a destructive, non-read-only operation. The description adds that the operation works on native Sheet bodies and requires coincident edges, which is useful context. It does not add detail about reversibility, side effects, or whether original sheets are consumed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is efficient, though its brevity also contributes to the gaps in parameter and usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with three parameters and no schema parameter descriptions, the description is too thin. It omits how to select the input bodies, what revision means, and what the joining operation produces or alters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only hints that 'ids' refer to Sheet bodies and that edges must be coincident. It says nothing about the 'revision' or 'intent' parameters, leaving half the parameters semantically undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description has a specific verb ('Sew') and resource ('native Sheet bodies'), and adds the condition 'along coincident edges.' It distinguishes itself from curve-joining siblings by naming the body type, but it does not explicitly differentiate from other sheet/shell operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the condition 'along coincident edges,' which tells the agent the prerequisite for this operation. However, there is no explicit when-to-use guidance versus alternatives, no mention of when not to use it, and no named sibling tools for routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_appearance_materialsARead-only
List Plasticity document appearance materials and each body's assigned material ID. These visual properties are not manufacturing or strength evidence.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered externally. The description adds useful interpretive context (these properties are not manufacturing or strength evidence), but says nothing about return shape, whether bodies without an assigned material appear, or document scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and the disambiguating caveat second. No filler, no restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list tool this is largely sufficient, and the caveat about not treating visual properties as strength evidence is a genuine value-add. With no output schema, however, the entry shape (material ID format, listing keyed by body) is left entirely to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema carries no semantics for the description to supplement. There is nothing to document beyond the scope of the listing, which the description already gives.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (Plasticity document appearance materials), then narrows scope to the per-body assigned material ID. The closing disclaimer separates it cleanly from the many plasticity_verify_*/calculate_*_strength siblings that also deal with materials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the verb and the clarification that these are visual rather than strength properties, which effectively rules out the strength/verification siblings. However, there is no explicit when-to-use trigger and no named alternative (e.g., plasticity_set_appearance_material) for the write counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_bodiesARead-only
List exact native B-Rep body details with topology IDs. Results are paginated (bodyOffset default 0, bodyLimit default 10, maximum 100); follow bodyPagination.nextOffset and pass the previous page's revision as expectedRevision so edits cannot mix pages. Prefer plasticity_body_info when only one body is needed. Cone faces also report native basis radius, axis origin/direction, and semi-angle in radians when Plasticity provides them.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyLimit | No | ||
| bodyOffset | No | ||
| expectedRevision | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, non-destructive read, so the description wisely spends its space on behavior annotations cannot express: page size defaults and the 100 cap, the revision-pinning requirement that prevents mixing pages after edits, and the fact that cone faces carry extra basis/axis/semi-angle data. This is exactly the kind of operational context an agent needs before paging.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences with no filler; the purpose and pagination contract are front-loaded before the sibling pointer and the cone-face note. Slightly dense but every sentence carries a distinct fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does a reasonable job describing what comes back (topology IDs, pagination cursor, cone face basis data). It does not fully enumerate the returned body fields, but for a paginated listing tool the critical call-correctness information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load and it does: bodyOffset described (default 0) and bodyLimit (default 10, max 100) are both explained in prose, and expectedRevision is given meaning and format ('pass the previous page's revision'), not just a name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List exact native B-Rep body details with topology IDs') and explicitly distinguishes itself from the closest sibling by naming plasticity_body_info and the condition that selects it. An agent can separate this from plasticity_body_info, plasticity_select_bodies, and plasticity_validate_bodies without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use routing ('Prefer plasticity_body_info when only one body is needed') and mandatory pagination procedure with the nextOffset/expectedRevision contract. It also flags that the revision must be threaded to prevent mixing edits across pages, which is the key usage constraint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_cad_reference_importsBRead-only
List persistent CAD reference import provenance records (STEP, Parasolid, and approximate 3MF reference meshes) from the local MCP store. Records are historical evidence tied to the document/revision at import time; their body or mesh IDs are not current references. Use offset/limit to page results.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds substantial semantic context beyond annotations: records are historical provenance evidence tied to the document/revision at import time, and their body/mesh IDs are explicitly not current references. That caveat prevents a serious misinterpretation of returned IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose before the behavioral caveat and then pagination guidance. Each sentence carries distinct information, though the pagination sentence is thin and could have been omitted or expanded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool whose annotations already cover safety, the description covers the core and an important provenance caveat. However, with no output schema and 0% schema description coverage, it does not describe the shape of returned records or give parameter details beyond 'offset/limit,' leaving some gaps an agent must infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the two parameters (limit, offset), so the description must compensate. It only says to use offset/limit to page results, adding no detail about units, defaults, or the limit maximum of 100 already present in the schema. This is marginally helpful but far short of full compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (persistent CAD reference import provenance records) and enumerates the covered formats (STEP, Parasolid, approximate 3MF reference meshes) from the local MCP store. It does not explicitly distinguish itself from siblings such as plasticity_list_step_imports or plasticity_list_reference_meshes, but the multi-format scope is clear enough to route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage direction is 'Use offset/limit to page results,' which is pagination guidance rather than when-to-use-this-vs-alternatives. There is no mention of when to prefer this over plasticity_list_step_imports, plasticity_list_reference_meshes, or when to call plasticity_get_cad_reference_import instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_construction_geometryBRead-only
List session datums and current standard and saved construction planes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description usefully scopes the content to datums and construction planes, but adds nothing about ordering, filtering, or result shape beyond that category list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the action front-loaded and no filler. Slightly awkward internal phrasing but nothing wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of conveying what comes back. It names the categories listed but does not describe the returned structure or fields, leaving an agent to infer the response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline of 4 applies. The description cannot add parameter meaning and correctly does not attempt to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and names the resources returned: session datums plus standard and saved construction planes. This distinguishes it from write-side siblings like plasticity_create_construction_plane and plasticity_remove_construction_plane, though the dense phrasing ('current standard and saved') takes a moment to parse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or alternatives are given. With siblings like plasticity_construction_history, plasticity_construction_journal, and plasticity_current_selection in the same space, the description never explains when to reach for this list versus those.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_curve_control_pointsARead-only
List every editable native control handle for selected current Wire bodies. Boundary vertices and interior B-Spline control points are returned separately with revision-bound references, positions in millimeters, and native local positive-U/negative-U unit slide directions. Handle positions and directions come from Plasticity's native editor representation; use exact B-Rep measurements to validate the resulting curve geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only profile, so the description earns credit for going beyond them: revision-bound references, positions in millimeters, native local positive-U/negative-U unit slide directions, and a caveat that positions come from Plasticity's native editor representation rather than exact B-Rep. That caveat is genuinely useful behavioral disclosure. It does not discuss error conditions (e.g., stale revision) or result ordering, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action and resource, then output detail, then the validation caveat. Dense but no filler; the only mild cost is that the units and direction conventions are packed into a long second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must describe returns, and it does: separate boundary-vertex and interior control-point sets, revision-bound references, millimeter positions, and slide directions. Combined with annotations covering safety, an agent has enough to call and interpret this tool, the only gap being parameter meaning and pagination/limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two required parameters, so the description carries the full burden, and it does not clarify what `ids` refer to (bodies? wires? handles?) or what a valid `revision` value is. "Revision-bound references" hints at the revision's role but gives no usable semantics for either parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ("List") and resource ("every editable native control handle for selected current Wire bodies"), and it explicitly separates boundary vertices from interior B-Spline control points, which is exactly what distinguishes it from siblings like plasticity_list_curve_vertices. An agent can identify the tool's output domain 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one useful piece of usage context — use exact B-Rep measurements to validate resulting curve geometry — and implies that boundary vertices are covered elsewhere. However, it never explicitly names an alternative tool or states a condition like "use this before plasticity_move_curve_control_points" or "use plasticity_list_curve_vertices for boundary-only queries." Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_curve_directionsBRead-only
List exact start/end points and tangents for every native Wire segment.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that results are per native Wire segment, which is useful scoping context, but says nothing about return format, ordering, or how non-native/trimmed wires are treated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the output content and the scope qualifier. Nothing is wasted and no preamble is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description is the only specification, and it omits whether the listing covers the whole document, the current selection, or a passed-in set. It also does not describe the shape of a start/end/tangent record, which an agent would need in the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema cannot add or omit anything and the baseline of 4 applies. There is nothing for the description to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and a precise resource: exact start/end points and tangents for every native Wire segment. This clearly separates it from siblings like plasticity_list_curve_endpoints or plasticity_list_curve_fragments by naming tangents and segment-level granularity, though it never explicitly names an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives such as list_curve_endpoints or evaluate_curve_segments. The agent must infer the appropriate situation from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_curve_endpointsBRead-only
List exact revision-bound endpoints of open native Wire bodies.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, non-destructive, closed-world behavior, so the safety profile is covered. The description adds that results are 'revision-bound' and limited to 'open native Wire bodies', which is meaningful extra context, but it doesn't say whether it acts on the current selection or the whole document, nor what an endpoint record contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the scoping qualifier front-loaded and no filler. It is arguably too terse for a tool with ambiguous selection semantics, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-arg read-only lister with no output schema this is minimally adequate, but it leaves open whether endpoints are returned for the current selection or all open wire bodies, and gives no sense of the returned shape or ordering. A short clause on scope would have closed the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is trivially complete, so the baseline is 4. The description reasonably implies an unfiltered list but has no parameters to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb (List) and a specific resource (exact revision-bound endpoints of open native Wire bodies), which distinguishes it from near-siblings like list_curve_vertices and list_curve_control_points. It does not name an alternative explicitly, but the scope phrase 'open native Wire bodies' is specific enough for an agent to route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no mention of prerequisites, and no reference to the many sibling list_curve_* tools an agent might confuse it with. The agent must infer selection context (current selection vs. all wires) on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_curve_fragmentsBRead-only
List exact revision-bound curve fragments created by native intersections.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine behavioral context ('revision-bound', created by native intersections), which tells the agent these are derived, history-bound entities rather than arbitrary curves, but it says nothing about pagination, ordering, or what is returned when no intersections exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the verb and resource, with the scoping qualifier appended. Nothing is padded or repeated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only listing, the description covers the essentials, but it leaves open how these fragments differ from trimmed fragments (the sibling tool) and what the output looks like, which matters since no output schema is provided. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to explain; the baseline for a no-parameter tool is 4. The description correctly implies a global listing with no filtering arguments, which matches the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (curve fragments), plus a scope qualifier: 'exact revision-bound' fragments 'created by native intersections'. This is far more specific than a tautology, though it never contrasts itself with the obvious sibling plasticity_trim_curve_fragments, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative is named. The 'native intersections' qualifier hints at the provenance of the fragments but does not tell the agent when this listing is preferable to trim_curve_fragments or list_curve_intersections.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_curve_intersectionsBRead-only
List exact revision-bound native intersections between Wire bodies.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds useful scope ('revision-bound', 'native', 'between Wire bodies') but does not cover return format, pagination, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler; every phrase qualifies the resource. It is appropriately sized for a simple list operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only list tool the description covers what is being listed and the body scope. However, with no output schema it could say more about the returned intersection records or how to use them, and it lacks routing guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, schema coverage is 100% by definition, and the description correctly does not invent parameter details. Baseline for a no-parameter tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb ('List') and names the resource ('curve intersections') plus qualifiers (exact, revision-bound, native, between Wire bodies). It does not explicitly differentiate from sibling intersection or curve-listing tools, but the scope is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and no named alternatives are offered. The agent can infer it is a read-only listing operation, but nothing routes it away from siblings like plasticity_create_body_intersection_curves or plasticity_list_curve_fragments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_curve_verticesARead-only
List every exact native Wire vertex with its body, position, endpoint flag, and adjacent native segment entity IDs. Use the returned revision-bound bodyId/vertexId pairs to select profile corners for curve filleting.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/non-destructive/closed-world, so safety is covered. The description adds value beyond them by noting the returned IDs are revision-bound, which warns the agent that IDs go stale when the model changes, and by enumerating the returned per-vertex fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The return-content enumeration comes first and the intended use case second, so the agent gets the essentials immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns, and it does enumerate body, position, endpoint flag, and adjacent segment entity IDs. Scope issues (whole model vs. selection-scoped, ordering, large-model behavior) are unaddressed, keeping this just below full marks.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to document; baseline for a no-arg tool is 4. Nothing in the description contradicts or muddies the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (list every exact native Wire vertex) plus the fields returned, which implicitly separates it from control-point and endpoint listing siblings. It does not name an alternative tool, but the qualifier 'exact native Wire vertex' vs. e.g. control points is a real distinction an agent can act on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete downstream workflow: use the returned bodyId/vertexId pairs to select profile corners for curve filleting. That tells the agent when this tool belongs in a sequence, though it names no exclusions or alternate list tools for other vertex-like queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_dcb_mode_i_energy_testsARead-only
List immutable physical DCB Mode-I energy records as compact summaries. Use plasticity_read_dcb_mode_i_energy_test to retrieve full measured observations and MBT results for a selected record. These records are separate from traction-separation data and are not applied to cohesive FEA.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/destructiveHint, so safety is covered. The description adds real value beyond that: records are immutable, output is summarized rather than full, and the data is explicitly not fed into cohesive FEA — a meaningful behavioral boundary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core purpose followed by the routing hint and the scope caveat. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but the description conveys what is returned (compact summaries versus full observations in the read sibling). Combined with the scope exclusions, an agent has enough to call it correctly; only exact summary fields are unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline is set at 4. No parameter guidance is needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb (List) and resource (immutable physical DCB Mode-I energy records), plus the return shape ('compact summaries'). This clearly distinguishes it from plasticity_read_dcb_mode_i_energy_test, which returns full observations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: use this to list, use plasticity_read_dcb_mode_i_energy_test to retrieve full measured observations and MBT results for a selected record. It also clarifies the domain scope (separate from traction-separation data, not applied to cohesive FEA).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_enf_mode_ii_energy_testsARead-only
List immutable caller-confirmed physical ENF Mode-II energy records as compact summaries. Use plasticity_read_enf_mode_ii_energy_test for all calibration/fracture measurements, source hashes/locators and fit diagnostics. These are not cohesive laws and are not applied to FEA.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description still adds value by characterizing the records as 'immutable' and 'caller-confirmed' and by noting the list returns 'compact summaries' rather than full diagnostics, which explains what is and isn't in the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then the alternative, then scope exclusions. Every clause earns its place by disambiguating among the many Mode I/II sibling list/read tools. Slightly dense jargon but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema list tool, the description supplies the essential context: what the records are, that summaries (not full data) are returned, and which sibling holds the detailed fields. No gaps that would cause a misinvocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to add; the baseline for a no-arg tool is 4. The schema correctly declares an empty object with additionalProperties=false and the description does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs a specific verb (List) with a precise resource (immutable caller-confirmed physical ENF Mode-II energy records) and states the output shape ('compact summaries'). It also separates itself from the nearly identical plasticity_list_dcb_mode_i_energy_tests and plasticity_list_mmb_mode_i_ii_energy_tests by naming the Mode-II ENF scope explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly routes the agent: use plasticity_read_enf_mode_ii_energy_test for calibration/fracture measurements, source hashes/locators and fit diagnostics. It further narrows scope with negative statements ('not cohesive laws, not applied to FEA'), giving both when-to-use and when-not boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_fastener_group_testsARead-only
List immutable caller-attested physical multi-hole joint test records. The registry preserves measured failure loads and observed modes with exact process/geometry/fixture and report evidence; it does not calculate design allowables or certify a part.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/destructiveHint, so the safety profile is covered. Beyond that, the description adds real behavioral context: records are 'immutable' and 'caller-attested', and the registry preserves failure loads, observed modes, and process/geometry/fixture/report evidence, clarifying what the returned data represents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and resource, with the scope exclusion in the second sentence. Dense but every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully characterizes what the listing contains (failure loads, modes, supporting evidence) and what it is not for. Combined with zero parameters and covered annotations, an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (schema properties empty at 100% coverage), so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter-level detail is missing or required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and a precise resource ('immutable caller-attested physical multi-hole joint test records'), which is distinct from the record_/match_ variants in the sibling set. It does not explicitly name those siblings, but the noun phrase is specific enough to identify the tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage via the resource scope and gives a useful negative boundary ('does not calculate design allowables or certify a part'), but never states when to reach for this tool versus plasticity_match_fastener_group_test or plasticity_record_fastener_group_test. Guidance is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_groupsARead-only
List the current native Plasticity group hierarchy, active group, direct body, linked-instance, and reference-mesh members, visibility, and lock state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe, read-only, non-destructive, non-open-world profile, so the bar is lower. The description still adds real value by enumerating the behavioral content of the response (hierarchy, active group, membership across bodies/instances/reference meshes, visibility, lock state), which is the only place that information appears since there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no preamble or filler. The long enumeration is justified because each item is a distinct returned facet rather than padding, and the schema has no output block to carry them.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no input parameters and no output schema, the description is the sole source of truth for what this tool yields, and it covers all the returned categories. An agent has everything needed to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing in the schema needing description, and nothing misleading is claimed about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb (List) on a specific resource (native Plasticity group hierarchy) with the exact facets returned: active group, direct body/linked-instance/reference-mesh members, visibility, and lock state. This is clearly distinguishable from sibling readers such as plasticity_list_bodies, plasticity_list_regions, and plasticity_list_instances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the read-only way to inspect group structure, but the description never states when to prefer it over plasticity_list_bodies/plasticity_list_instances or any prerequisite (e.g. needing a document open). No explicit when-not guidance or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_instancesARead-only
List current native linked instances, their revision-bound IDs, source bodies, and exact transforms. Instance geometry remains linked to its source until realized.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, non-destructive, closed-world safety profile. The description adds meaningful domain behavior beyond that: instance geometry remains linked to its source until realized, which helps an agent understand the lifecycle of the listed entities.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded and free of filler. The first sentence establishes what is listed; the second adds the key lifecycle constraint without over-explaining.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the listing scope, the returned fields, and the linked-until-realized behavior. With no output schema, this is sufficient for an agent to understand the call and its results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. The description correctly does not invent parameter behavior and instead focuses on what the parameterless listing returns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List current native linked instances.' It also names the exact data returned — revision-bound IDs, source bodies, and exact transforms — which distinguishes this listing tool from generic body or region listings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the lifecycle statement that instances remain linked until realized, suggesting inspection before realization. However, it does not explicitly say when to use this versus alternatives like list_bodies, realize_instances, or move_instances.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_material_coupon_dataARead-only
List immutable caller-attested material coupon records with their source evidence, exact process identity and any composedFromRecordIds. This physical-test registry is separate from slicer material names, densities and temperatures.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds meaningful behavioral context beyond that: records are immutable and caller-attested, and there is no output schema, so naming the returned fields (source evidence, process identity, composedFromRecordIds) is genuinely useful. Pagination/result-size behavior is not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and resource, with no filler. The disambiguating second sentence earns its place by staking out the domain boundary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only listing tool with no output schema, the description is nearly complete: it conveys what is listed, what fields come back, and what domain it belongs to. It could be fuller on result volume or how to follow up with match/combine siblings, but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing for the description to clarify about inputs, and it correctly adds none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (immutable caller-attested material coupon records), and enumerates the returned content (source evidence, exact process identity, composedFromRecordIds). The second sentence explicitly distinguishes this physical-test registry from slicer material names/densities/temperatures, so an agent can tell it apart from the appearance-material tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by framing this as the registry of recorded coupon data, and it excludes a related but different domain (slicer materials). However, it never states when to call this versus sibling tools like plasticity_match_material_coupon_data, plasticity_combine_material_coupon_data, or plasticity_list_material_interface_tests, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_material_interface_testsARead-only
List immutable caller-attested same-material printed layer-interface test records with one exact print-process identity, setup, failure location and traceable measurement evidence, including full scalar pure-mode or vector mixed-mode traction-separation curves. Results are not automatically applied to static FEA or design checks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the bar is lower. The description still adds two pieces of non-derivable context: the records are 'immutable' and 'caller-attested' (so they are user-supplied provenance, not system-verified), and their results 'are not automatically applied to static FEA or design checks' — a meaningful caveat about downstream effect. It does not discuss pagination or result volume.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb 'List'; the second sentence carries a distinct caveat rather than repeating the first, so nothing is redundant. The first sentence is heavily adjective-stacked ('immutable caller-attested same-material printed layer-interface') which slows parsing, but the density is domain terminology rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A zero-parameter, read-only list tool with no output schema needs the description to characterize the returned records, and it does: identity, setup, failure location, measurement evidence, and scalar/vector traction-separation curves. With annotations covering safety and no parameters to document, this is close to complete; only paging/volume behavior is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case: there is nothing for the description to disambiguate. Schema coverage is 100% but the property set is empty, so the description correctly spends its words on record content rather than parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (List) and a well-defined resource (immutable caller-attested same-material printed layer-interface test records), and enumerates the record contents (print-process identity, setup, failure location, traceable measurement evidence, traction-separation curves). This is far more specific than a generic 'list tests' restatement. It stops short of naming the sibling list tools it differs from (list_mmb_mode_i_ii_energy_tests, list_enf_mode_ii_energy_tests, list_dcb_mode_i_energy_tests, list_material_coupon_data), so routing is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the verb 'List' plus the record scope tells an agent this is a retrieval tool for previously recorded interface tests. The closing sentence ('Results are not automatically applied to static FEA or design checks') hints at the tool's downstream role but is about result consumption, not about when to pick this tool over match_/analyze_ siblings. No explicit alternatives or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_measurementsARead-only
List native measurements stored in the Plasticity document with stable measurement IDs, current topology targets, and exact values when both targets still resolve.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real behavioral detail beyond that: measurements carry stable IDs, track current topology targets, and only report exact values when both targets still resolve, warning the agent that some entries may lack values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted clauses, though it is dense and packs the output contract into one long phrase. Every clause carries information, so length is justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description has to sketch the return shape, and it does: IDs, topology targets, and conditional values. It stops short of describing ordering, pagination, or scope (document-wide vs selection), which would matter for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema imposes no semantics to explain and the description adds none. Baseline for a parameterless tool is 4; there is no gap for the description to fill here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List native measurements stored in the Plasticity document') and even previews the returned fields (stable measurement IDs, topology targets, values). It does not explicitly name a sibling to contrast with, but no other sibling lists measurements, so the resource alone differentiates it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives or when results would be empty. The agent must infer that this is the call to make when it wants to enumerate measurements; nothing in the text routes it there.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_mmb_mode_i_ii_energy_testsARead-only
List immutable caller-confirmed physical MMB initiation-energy records as compact summaries. Use plasticity_read_mmb_mode_i_ii_energy_test for all measured inputs, initiation criteria, source hashes/locators, moduli evidence and server-recomputed results. These are not cohesive laws and are not applied to FEA.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=true, openWorldHint=false, destructiveHint=false), so the description correctly focuses on record semantics: 'immutable' and 'caller-confirmed' tell the agent these entries are frozen and self-reported, and the exclusion of cohesive-law/FEA use prevents misuse. It omits pagination/return-shape detail, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the verb and resource, then the routing rule, then the boundary condition. Nothing is repeated from the title or annotations, and every clause carries new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety and no output schema, the description adequately explains what is listed, what the summary omits, and where the full data lives. Adding pagination or result-count behavior would make it fully complete for a zero-parameter list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no per-parameter meaning to convey; the baseline is 4. The description's only scope statement, that these are 'compact summaries', indirectly explains why no filtering arguments exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and a precisely scoped resource ('immutable caller-confirmed physical MMB initiation-energy records') and clarifies the return shape ('compact summaries'). It explicitly separates itself from the sibling read tool, so an agent can pick between them without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the alternative (plasticity_read_mmb_mode_i_ii_energy_test) and the exact condition that selects it: all measured inputs, initiation criteria, source hashes/locators, moduli evidence, server-recomputed results. It also states what the records are NOT (cohesive laws, FEA-applied), which is meaningful scoping guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_named_selectionsBRead-only
Re-evaluate all semantic named selections against the current document revision.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds scope information ('all semantic named selections') and timing ('current document revision'), but it does not clarify whether stored definitions are modified or only reported, nor what the operation returns. It does not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no wasted words, and it front-loads the operation. The only slight issue is that the verb/name mismatch makes the structure less immediately clear than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with no output schema, the description should explain what is returned or what 're-evaluate' means in practice. It is minimally adequate and the annotations cover safety, but it leaves the result format and behavioral effect unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is an empty object with 100% schema description coverage. Per the rubric, zero parameters establish a baseline of 4; there is no additional parameter meaning for the description to supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action and resource: 'Re-evaluate all semantic named selections.' However, it uses the verb 're-evaluate' while the tool name says 'list', so an agent may be unsure whether this lists selections, refreshes them, or recomputes them. It also does not distinguish the tool from sibling save/delete named-selection operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use or when-not-to-use guidance and does not name alternatives such as the sibling named-selection tools. The phrase 'against the current document revision' gives context but does not help an agent choose this tool over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_printed_thread_qualificationsARead-only
List immutable local physical thread-fit qualifications, optionally filtered by printer, material, slicer profile, rounded thread dimensions, handedness, or fit class. This registry is available without Workbench and contains no inferred or geometry-only passes.
| Name | Required | Description | Default |
|---|---|---|---|
| pitchMm | No | ||
| fitClass | No | ||
| printerId | No | ||
| handedness | No | ||
| materialId | No | ||
| threadDepthMm | No | ||
| slicingProfileId | No | ||
| nominalCrestDiameterMm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read-only, closed-world operation, so the bar is lower. The description adds genuine context beyond annotations: the records are immutable, local, and exclude inferred or geometry-only results, which tells the agent about data provenance and reliability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the primary action and resource, followed by the scoping clarifications. Every clause carries information; nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description conveys what the list contains (immutable physical thread-fit qualifications) and sketches the filterable axes. For a read-only filtered-list tool with annotation coverage, this is nearly complete, though it omits pagination or ordering behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there are 8 parameters, so the description must compensate. It enumerates the filter categories (printer, material, slicer profile, rounded thread dimensions, handedness, fit class) which map cleanly onto the parameters, though it gives no value formats or units beyond what the schema's enums and numeric constraints imply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and a precise resource (immutable local physical thread-fit qualifications), with qualifiers that separate it from inferred or geometry-derived variants. It does not explicitly name siblings like plasticity_match_printed_thread_qualification, so differentiation is achieved by scope description rather than routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes the registry is 'available without Workbench' and contains 'no inferred or geometry-only passes', which implicitly tells the agent when this source is appropriate. However, it never states when to prefer this tool over alternatives such as match or record qualification tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_reference_assetsARead-only
Read one explicitly selected product or CAD source page and list its direct STEP/Parasolid, mesh (including 3MF), and drawing links. This performs one bounded HTTPS GET of the selected HTML page only; it does not download an asset, import geometry, run page scripts, or mutate Plasticity. Provide the same explicit allowedDomains used for the selected search. Page hosts, redirects, and returned asset hosts must match those domains, DNS is pinned to public IPv4, and all query-bearing asset links are omitted to avoid exposing expiring credentials. Review the returned exact asset URL, format, license, and fit before separately choosing a download/import tool.
| Name | Required | Description | Default |
|---|---|---|---|
| sourcePageUrl | Yes | ||
| allowedDomains | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld/destructive annotations, the description discloses that it performs exactly one bounded HTTPS GET of the selected page, does not download, import, run scripts, or mutate, pins DNS to public IPv4, enforces domain matching across page host, redirects and asset hosts, and omits query-bearing links to avoid leaking expiring credentials. This is rich, non-redundant behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the core action before the security caveats and next-step advice. Every clause adds information, though the security detail makes it longer than strictly necessary for selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description describes the returned data (exact asset URL, format, license, fit) and covers the security and side-effect profile an agent needs. Nothing required to call it safely and correctly appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains allowedDomains semantics ('same explicit allowedDomains used for the selected search') and implies sourcePageUrl through 'explicitly selected ... page', but does not clarify format constraints or the domain-matching rule's effect on the parameters beyond that. Partial but not full compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb (list) and resource (STEP/Parasolid, mesh, and drawing links on a selected product/CAD source page) and explicitly scopes it as a read of one page. It clearly distinguishes itself from the download/import tools the agent would use afterwards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It says to read 'one explicitly selected product or CAD source page', to reuse the 'same explicit allowedDomains used for the selected search', and to review results 'before separately choosing a download/import tool', giving clear when-to-use and next-step routing. It does not name exact sibling tools (e.g. plasticity_search_product_references, plasticity_download_and_import_step), so it falls short of the fully explicit alternative-naming bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_reference_meshesARead-only
List imported STL/OBJ reference meshes with stable IDs, source paths, approximate world-space bounds, buffer counts, and transforms. Reference-mesh bounds come from tessellated data and are never native B-Rep dimensional proof.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely useful behavioral context beyond that: bounds are derived from tessellated data and are explicitly not native B-Rep dimensional proof, which warns the agent against treating these numbers as authoritative dimensions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, zero filler. The returned-field list comes first and the caveat about tessellated bounds follows immediately, so the most important context is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the returned fields and flagging the fidelity limitation of the bounds data. A no-parameter read tool is otherwise fully described; only ordering/pagination behavior is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-param tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (List) plus a precise resource (imported STL/OBJ reference meshes) and an enumeration of the exact fields returned (stable IDs, source paths, world-space bounds, buffer counts, transforms). This clearly separates it from siblings such as list_cad_reference_imports, list_step_imports, list_reference_assets, and select_reference_meshes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context (inspecting imported tessellated reference meshes) but never states when to choose this over select_reference_meshes, list_reference_assets, or list_cad_reference_imports. No explicit when/when-not guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_regionsBRead-only
List revision-bound planar regions generated by closed coplanar curves.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description contributes only the 'revision-bound' qualifier as extra behavioral context; it says nothing about ordering, grouping, or how large the returned set may be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and zero filler. Every word carries scope information; none is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only lister with no output schema, the description conveys what kind of entity is returned, but leaves the return shape (count, ordering, grouping) and any interplay with region-consuming siblings unstated. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to document; baseline 4 applies. No parameter meaning is lost or misstated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List ... planar regions') and adds qualifying scope ('revision-bound', 'generated by closed coplanar curves') that an agent can use to distinguish it from the many other list_* siblings. It stops short of naming any alternative tool, so differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use, when-not-to-use, or alternative-tool guidance. An agent must infer from the noun 'regions' that this is the right lister versus plasticity_list_bodies or plasticity_list_curves; nothing in the text helps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_section_analysesARead-only
List the active native Plasticity viewport section plane, including its session-stable analysis ID, origin, clipped-half-space normal, visibility, and number of viewports using it. This reads the section currently applied by Plasticity shading state; sections are viewport state and do not modify B-Rep or Undo history.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond the annotations: it reads Plasticity shading state, sections are viewport state, and the operation does not modify B-Rep or Undo history. It does not discuss auth, rate limits, or pagination, but those are less central for this read-only listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the purpose and returned fields front-loaded. Every sentence contributes: the first enumerates the return payload and the second clarifies the non-mutating viewport-state nature. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by listing the returned fields (analysis ID, origin, clipped-half-space normal, visibility, viewport count) and explaining the viewport-state semantics. It could be clearer about whether the result is a single active plane or a list of section analyses, and it omits empty-state or error behavior, but it is adequate for a parameterless read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there are no input semantics to document. The baseline for a parameterless tool is 4, and the description appropriately focuses on the returned fields instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' and resource 'active native Plasticity viewport section plane' and enumerates the returned fields. However, the tool name is plural ('analyses') while the description describes a singular active section plane, creating minor ambiguity about whether one or many section analyses are listed. It does not explicitly name sibling tools, but the read/list verb distinguishes it from create_section_analysis and delete_section_analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool reads ('the section currently applied by Plasticity shading state') and clarifies that sections are viewport state that does not modify B-Rep or Undo history. This gives clear context for when to use it, but it names no alternative tools (e.g., create_section_analysis or delete_section_analysis) and gives no explicit when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_step_importsBRead-only
List persistent CAD reference import provenance records (STEP, Parasolid, and approximate 3MF reference meshes) from the local MCP store. Records are historical evidence tied to the document/revision at import time; their body or mesh IDs are not current references. Use offset/limit to page results.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the read-only, non-destructive, local-only safety profile, and the description adds genuinely new behavioral context: records are historical provenance tied to the document/revision at import time, and their body/mesh IDs are NOT current references. That stale-ID warning is exactly the kind of trait annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the resource definition before the caveat and the paging hint. Every sentence carries information, though the parenthetical format list could be trimmed if the sibling tools already cover the type distinctions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no schema descriptions, the description does the heavy lifting on record meaning but omits return shape (does the response include a total count? what fields per record?) and does not resolve the overlap with the sibling list/get import tools. Adequate but with clear gaps for an agent trying to call it correctly the first time.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so both limit and offset are undocumented in the schema. The description says to use offset/limit for paging, which conveys their purpose, but adds nothing about defaults (20/0), the 100 maximum, or whether limit=0 means 'all' — so the compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and a well-defined resource (persistent CAD reference import provenance records), with useful enumeration of the source formats (STEP, Parasolid, 3MF). However, it does not differentiate itself from sibling tools like plasticity_list_cad_reference_imports or plasticity_get_step_import, so an agent cannot tell from the text alone why the STEP-specific list exists alongside the general one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage instruction is 'Use offset/limit to page results,' which is operational rather than selective. There is no statement of when to prefer this over plasticity_list_cad_reference_imports, plasticity_get_step_import, or the various import_* tools, leaving the agent to infer routing from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_list_windowsBRead-only
List Plasticity document windows exposed on loopback CDP.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: discovery happens over loopback CDP, i.e. a local debugging channel rather than geometry data. It does not say what happens when no windows are exposed or whether any connection setup is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with zero filler; the resource and its access mechanism are stated immediately and nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description should carry more of the return-shape burden — an agent cannot tell from this text whether entries are window titles, IDs, counts, or process handles, nor what an empty result means. The mechanism (loopback CDP) is a helpful hint but the result contract is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the description carries no parameter burden; baseline is 4. Nothing in the description conflicts with the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('Plasticity document windows exposed on loopback CDP'), which an agent can distinguish from the many CAD-operation siblings since none of them enumerate windows. It is clear without being tautological, though it does not contrast itself against any particular sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, nor any prerequisite or exclusion. Usage is only implied by the name and the presence of a CDP-exposed window list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_loft_curvesADestructive
Create one independent native loft surface through an ordered list of current Wire profiles while preserving every profile and guide. Optional Wire guides must intersect every profile. Closed mode requires at least three profiles and closes the loft sequence; natural, unconstrained, or clamped native curvature plus positive dimensionless end magnitudes control shape. The operation never joins the result to source bodies; verify the returned Sheet topology and bounds.
| Name | Required | Description | Default |
|---|---|---|---|
| closed | No | ||
| intent | No | ||
| guideIds | No | ||
| revision | Yes | ||
| simplify | No | ||
| curvature | No | unconstrained | |
| profileIds | Yes | ||
| trimGuides | No | ||
| endMagnitude | No | ||
| trimProfiles | No | ||
| startMagnitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With destructiveHint=true and readOnlyHint=false already given, the description still adds meaningful behavior: the result is never joined to source bodies, profiles and guides are preserved, and the caller should verify the returned Sheet's topology and bounds. It does not cover failure modes (e.g., non-intersecting guides) or whether the operation is reversible/undoable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, no filler, front-loaded with the create action and followed by constraints, shape controls, and result caveats in a logical order. Slightly dense and could be split, but every sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, no-output-schema modeling operation, the description covers the core geometry semantics and the non-joining guarantee, but leaves roughly half the parameters (simplify, trims, revision, intent) unexplained and gives no pagination/return-shape detail beyond 'verify the returned Sheet topology and bounds'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description carries the burden. It does clarify profileIds ordering, guideIds intersection requirements, closed-mode profile count, curvature enum values, and that start/end magnitudes are positive and dimensionless, but simplify, trimGuides, trimProfiles, revision, and intent are never addressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create one independent native loft surface through an ordered list of current Wire profiles'), which cleanly separates it from the neighboring plasticity_loft_regions and plasticity_loft_faces that operate on regions/faces rather than Wire profiles. The 'independent', 'native', and 'preserving every profile and guide' qualifiers further pin down the produced geometry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description supplies conditions and constraints (guides must intersect every profile; closed mode needs at least three profiles) but never states when to choose this tool over siblings like loft_regions, loft_faces, or bridge_surface. Usage is implied by the input type rather than explicitly routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_loft_facesADestructive
Create one independent native capped loft Solid through an ordered list of exact planar faces from different current Solid or Sheet source bodies while preserving every source. Optional current Wire guides must intersect every profile. Natural, unconstrained, or clamped native end conditions and positive magnitudes control the two ends; verify the returned B-Rep rather than treating magnitude as a millimeter distance.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| guideIds | No | ||
| revision | Yes | ||
| simplify | No | ||
| trimGuides | No | ||
| endCondition | No | unconstrained | |
| endMagnitude | No | ||
| startCondition | No | unconstrained | |
| startMagnitude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag this as a non-readonly, destructive, closed-world mutation. The description adds real value beyond that: it clarifies that sources are preserved, that the operation produces an independent native capped solid, how the two ends are controlled by end conditions, and warns to verify the returned B-Rep rather than trusting magnitude as a distance. That magnitude caveat is exactly the kind of behavioral context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the action and resource, then constraints, then end-condition semantics. Domain jargon is heavy but each sentence earns its place; nothing is redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and only partial annotation coverage, so the description must stand in for return and mutation semantics. It does address source preservation and the verify-the-B-Rep warning, but omits the meaning of the required revision parameter and the simplify/trimGuides toggles, which matter for calling a destructive tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, and it partially does: it covers faces (ordered planar profiles), guideIds (wire guides intersecting every profile), and both end/start condition+?magnitude pairs. However it says nothing about revision (the required concurrency/state token), intent, simplify, or trimGuides, leaving four of ten parameters semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: creating a capped loft Solid from an ordered list of planar faces drawn from existing Solid/Sheet bodies. The 'faces' framing implicitly distinguishes it from the sibling loft_curves and loft_regions, but it never names those siblings explicitly, so differentiation relies on inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It offers a constraint ('optional guides must intersect every profile') and a verification caveat, which implies context of use, but it does not state when to choose this tool over loft_curves, loft_regions, or bridge_surface. The when-to-use guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_loft_regionsBDestructive
Loft an ordered list of closed Regions from different sketch planes into exact capped geometry, optionally shaped by native Wire guide curves that intersect every profile.
| Name | Required | Description | Default |
|---|---|---|---|
| closed | No | ||
| intent | No | ||
| guideIds | No | ||
| revision | Yes | ||
| simplify | No | ||
| regionIds | Yes | ||
| trimGuides | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the write/mutation profile is covered structurally. The description usefully adds the constraint that guide curves must intersect every profile and that output is 'exact capped geometry', but says nothing about what existing geometry is consumed/replaced or how revision conflicts are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the action and inputs front-loaded and zero filler. It is efficient, though the tail clause about guide curves is packed in without much breathing room.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, destructive, no-output-schema modeling tool with 0% schema coverage, the one-sentence description leaves most parameters and the failure modes undocumented. An agent knows roughly what the tool builds but not how to set simplify/trimGuides/closed or what revision must satisfy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for 7 parameters. It only hints at regionIds (ordered, closed, distinct planes) and guideIds (must intersect every profile); closed, intent, revision, simplify, and trimGuides get no mention at all, leaving required 'revision' and the boolean modifiers unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (loft) plus the exact resource and inputs (an ordered list of closed Regions from different sketch planes) and the output (capped geometry). This distinguishes it cleanly from siblings plasticity_loft_curves and plasticity_loft_faces, which operate on different input types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrasing 'from different sketch planes' and 'ordered list' implies prerequisites (multiple regions, ordered, non-coplanar), but there is no explicit when-to-use versus loft_curves/loft_faces/sweep_regions, and no stated exclusions. Usage must be inferred from the geometry wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_match_dcb_mode_i_energy_testARead-only
Find recorded physical DCB Mode-I energy tests only for an exact single-material printer/profile/process, global interface normal and test-protocol SHA-256. Returns no-match, matched or ambiguous evidence; a match is not a cohesive FEA calibration or design allowable.
| Name | Required | Description | Default |
|---|---|---|---|
| materialProcess | Yes | ||
| testProtocolHash | Yes | ||
| interfaceNormalGlobal | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, closed-world, non-destructive behavior. The description goes beyond them by disclosing the three possible outcomes (no-match, matched, ambiguous) and warning that a match is not a calibration or design allowable — meaningful interpretive context for downstream use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the verb and resource and followed by the outcome/limitation caveat. No filler, though the first sentence is heavily loaded with qualifiers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully summarizes the return states, and it covers the top-level inputs. The nested object's fields and the exactness semantics for orientation/infill/temperatures are not detailed, which is a minor gap for a 3-param, deeply nested matcher.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load; it names all three top-level parameters (material printer/profile/process, global interface normal, test-protocol SHA-256) and stresses exact single-material matching. It does not document the seven nested materialProcess fields, which are self-naming but unlabeled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Find) and resource (recorded physical DCB Mode-I energy tests) and pins the scope to an exact single-material printer/profile/process plus interface normal and protocol hash. This clearly separates it from the list_/read_/record_ DCB siblings and from the MMB and ENF matchers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'only for an exact ... match' phrasing tells the agent this is an exact-match lookup rather than a fuzzy search, and the closing sentence provides a when-not guard ('a match is not a cohesive FEA calibration or design allowable'). It never explicitly names an alternative tool, so it stops 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.
plasticity_match_enf_mode_ii_energy_testARead-only
Find recorded physical ENF Mode-II initiation-energy tests only for an exact single-material print process, interface normal, in-plane shear direction and test-protocol SHA-256. Returns no-match, matched or ambiguous evidence. This exploratory energy match is not a traction-separation curve or cohesive FEA calibration.
| Name | Required | Description | Default |
|---|---|---|---|
| materialProcess | Yes | ||
| testProtocolHash | Yes | ||
| interfaceNormalGlobal | Yes | ||
| interfaceShearDirectionGlobal | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: the outcome space ('no-match, matched or ambiguous evidence') and an explicit scope exclusion against traction-separation/cohesive calibration. It stops short of explaining what 'ambiguous' means or how results are ranked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and match scope, then outcomes, then the disambiguation clause. Every sentence earns its place; slightly dense with no punctuation affordance for the constraint list, but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does describe the result space (no-match/matched/ambiguous), which is the key completeness gap it needs to fill. With annotations covering safety and the description covering scope, exclusions and outcomes, an agent has enough to call it correctly, though richer guidance on the ambiguous case and the nested material fields would complete it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and one parameter is a nested materialProcess object, so the description carries the burden. It does map each parameter to a concept (material print process, interface normal, in-plane shear direction, test-protocol SHA-256), which is useful, but it adds no format, unit, hashing or normalization detail, so it only partially compensates for the empty schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Find recorded physical ENF Mode-II initiation-energy tests') and pins down the exact-match scope across four dimensions (material print process, interface normal, shear direction, protocol hash). It also names what it is not ('not a traction-separation curve or cohesive FEA calibration'), which separates it from cohesion/FEA siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It conveys the matching precondition (exact single-material print process plus hashes), which implies when this tool applies, but it never names an alternative such as plasticity_list_enf_mode_ii_energy_tests for browsing or plasticity_calculate_enf_mode_ii_energy for derived values. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_match_facesADestructive
Replace one or more exact current Solid or Sheet face surfaces with the carrier surface of one separate current replacement face. Plasticity extends or trims adjacent faces to meet the replacement surface and performs the direct edit in one history step. An external replacement body is preserved; the edited bodies keep their stable IDs, but all prior topology references become stale. Verify bounds, analytic surface type, mass properties, interference, and native validity afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| revision | Yes | ||
| replacement | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the destructiveHint=true annotation: it discloses that adjacent faces are extended or trimmed, that the edit collapses into a single history step, that an external replacement body is preserved, that edited bodies keep stable IDs but all prior topology references become stale, and it advises post-hoc verification steps. This is unusually rich behavioral context for a destructive edit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense, front-loaded sentences with no filler; the core operation leads and consequences follow. Slightly long, but each clause conveys distinct operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Behavioral consequences are thoroughly covered for a destructive, no-output-schema operation, but the complete absence of parameter semantics and the unexplained required 'revision'/'intent' fields leave gaps an agent needs in order to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters (faces, replacement, intent, revision), so the description carries the full burden. It names the 'faces' and 'replacement' concepts at a high level but never explains the bodyId/faceId structure, the 'revision' concurrency token, or the 'intent' field, leaving required inputs under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (replace), a precise resource (Solid or Sheet face surfaces), and the exact mechanism (using the carrier surface of a separate replacement face). This is clearly distinguishable from siblings like move_faces, offset_faces, rebuild_face, or delete_faces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the precise description of the operation, but there is no explicit when-to-use/when-not guidance or naming of alternative tools (e.g., offset_faces or rebuild_face) for achieving similar edits. The agent must infer context for selecting this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_match_fastener_group_testARead-only
Find physical multi-hole joint tests only for an exact print process, rectangular specimen dimensions, hole centers/diameters, fixture configuration, load axis, fastener diameter/clearance and clamp condition. Returns no-match, matched or ambiguous records; reordering hole input does not change the match. A match is test evidence only, not a capacity, design allowable, strength pass or proof that a different part/support setup is equivalent.
| Name | Required | Description | Default |
|---|---|---|---|
| fixture | Yes | ||
| process | Yes | ||
| geometry | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe read-only, non-destructive, closed-world operation, and the description adds materially: the three possible outcome states (no-match, matched, ambiguous), the hole-ordering invariance guarantee, and an explicit epistemic limitation that a match is test evidence only and not a capacity, allowable, or equivalence proof. That last caveat is exactly the kind of caveat an agent needs to avoid over-claiming results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose and scoping, with no filler. Dense but every clause (required inputs, outcome states, ordering invariance, evidence caveat) earns its place; the first sentence is long but purposeful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-output-schema tool taking three required nested objects, the description covers what inputs define a match, what the result states are, and how to interpret a positive result. Missing only guidance on the granularity of tolerances or how ambiguity arises, which would make it fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema has three deeply nested objects with enums, so the description carries the burden. It enumerates every discriminating input category (print process, rectangular dimensions, hole centers/diameters, fixture configuration, load axis, fastener diameter/clearance, clamp condition), which compensates well without restating field names or units.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (match physical multi-hole joint tests) and enumerates the exact key space the match is scoped to. An agent can distinguish it from plasticity_record_fastener_group_test, plasticity_list_fastener_group_tests, and the sibling match_* tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'only for an exact print process, ...' phrase establishes the precondition that selection requires full exact-match data, and the closing sentence defines the boundary of what a match means. It stops short of naming an alternative (e.g. list_fastener_group_tests) for partial or fuzzy lookups, so it is clear context without explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_match_material_coupon_dataARead-only
Match coupon data only for an exact printer, material, profile SHA-256, orientation, infill percentage and pattern, wall loops, top/bottom shell layers, nozzle temperature, and layer height. Returns no-match, matched or ambiguous; conflicting isotropic properties, orthotropic tensors, Tsai-Wu strengths/interactions or print axes are never selected silently. A single record may be selected over compatible records that contain only a subset of its measured values. Complementary partial records remain ambiguous; call plasticity_combine_material_coupon_data with their IDs only after the user confirms the unique physical specimen count. The combine tool never averages or infers values and rejects conflicts. A match returns its measured/derived evidence and dependencies for review. Coupon strengths are not design allowables.
| Name | Required | Description | Default |
|---|---|---|---|
| process | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only and non-destructive, but the description adds far more: conflicting isotropic/orthotropic/Tsai-Wu/print-axis data are never silently selected, a single record may be preferred over subset-only records, complementary records stay ambiguous, and the combine path never averages or infers. It also warns coupon strengths are not design allowables.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the match criteria, then moves through outcome semantics, disambiguation, and the safety caveat with no filler sentences. It is somewhat dense but each sentence carries distinct behavioral or routing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a nested, 0%-documented input object, the description still explains what a match returns (measured/derived evidence and dependencies for review) and how ambiguity is resolved. It stops short of describing the identifier format needed for the follow-up combine call, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 load, and it names every field of the nested process object (printer, material, profile SHA-256, orientation, infill percent/pattern, wall loops, top/bottom shells, nozzle temp, layer height). It does not explain formats or units, which the schema partially constrains via min/max and the hash pattern, hence a 4 rather than 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb ('Match') and resource ('coupon data') and enumerates the exact process fingerprint the match keys on (printer, material, profile SHA-256, orientation, infill, walls, shells, nozzle temp, layer height). It is clearly distinguishable from the sibling plasticity_combine_material_coupon_data, which it names explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing: when complementary partial records stay ambiguous, call plasticity_combine_material_coupon_data with their IDs only after the user confirms the unique physical specimen count. It also frames outcomes (no-match/matched/ambiguous) so the agent knows when the tool has succeeded versus when to escalate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_match_material_interface_testARead-only
Find physical layer-interface tests only for one exact printer/material/profile/orientation/infill percentage and pattern/wall-loop/top-bottom-shell/nozzle-temperature/measured-layer-height process, test mode, interface normal, load direction and hashed test protocol. Returns no-match, matched or ambiguous. Legacy records without the full process structure remain readable but cannot satisfy a new exact match. A match is experimental evidence only; it does not become a design allowable or a structural-analysis pass.
| Name | Required | Description | Default |
|---|---|---|---|
| testMode | Yes | ||
| materialProcess | Yes | ||
| testProtocolHash | Yes | ||
| loadDirectionGlobal | Yes | ||
| interfaceNormalGlobal | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe read (readOnlyHint=true, destructiveHint=false), but the description adds real context beyond them: the three possible outcomes (no-match, matched, ambiguous), the legacy-record readability limitation, and an explicit disclaimer that a match is experimental evidence only and not a design allowable or analysis pass. That last point is unusually valuable behavioral framing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, and the subsequent sentences each add a distinct fact (return states, legacy limitation, evidence-only caveat). The middle enumeration sentence is dense and long, but given 0% schema coverage that density is largely load-bearing rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only exact-match lookup with no output schema, the definition supplies what an agent needs: the exhaustive identity inputs, the possible return states, the legacy-record caveat, and the scope limitation on what a match means. Nothing material to calling it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it does enumerate the identity fields (printer, material, profile, orientation, infill percent/pattern, wall loops, shell layers, nozzle temperature, layer height, test mode, interface normal, load direction, protocol hash). However it only names them in prose; it gives no format semantics (e.g. 64-hex hashes, 3-vector angles), so it partially but not fully compensates for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') on a specific resource ('physical layer-interface tests') and immediately constrains it to exact-match semantics, which separates it from the list/record siblings. It never names an alternative tool by name, so an agent still has to infer the boundary against plasticity_list_material_interface_tests and plasticity_match_material_coupon_data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'only for one exact ... match' and by the note that legacy records cannot satisfy an exact match, which tells the agent when this tool will return no-match. There is no explicit statement of when to prefer this over the sibling list, match-coupon, or record tools, so routing guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_match_mmb_mode_i_ii_energy_testARead-only
Find caller-confirmed physical MMB initiation-energy records only for an exact single-material process, interface normal, in-plane shear direction and protocol SHA-256. Returns no-match, matched or ambiguous evidence. Matching exploratory MMB energy is not a traction-separation curve, cohesive-law calibration or design allowable.
| Name | Required | Description | Default |
|---|---|---|---|
| materialProcess | Yes | ||
| testProtocolHash | Yes | ||
| interfaceNormalGlobal | Yes | ||
| interfaceShearDirectionGlobal | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations establish readOnly/openWorld=false, and the description adds real value on top: it discloses the three possible outcome states (no-match, matched, ambiguous) and the exactness requirement. It doesn't state whether ambiguous results need disambiguation or how large the record pool is, but the return-state disclosure is more than annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the action and matching keys before the disqualifying clause. Domain terminology (MMB, SHA-256, cohesive-law) makes it heavy but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-required-param matcher with no output schema, the description covers the matching contract, the outcome states and the misuse boundary. The gap is the nested materialProcess sub-fields, which the agent must infer from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the materialProcess parameter is a nested object with seven required sub-fields. The description names the four top-level matching keys (process, normal, shear direction, protocol SHA-256), which maps them to their semantic roles, but says nothing about the nested fields like profileHash, orientationDeg or infill. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (find/match) and resource (caller-confirmed physical MMB initiation-energy records), and constrains it to an exact single-material process, interface normal, shear direction and protocol hash. This distinguishes it clearly from siblings like list_, read_, record_ and calculate_mmb_mode_i_ii_energy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly scopes use to 'exact single-material process' matching and closes with what this is NOT (traction-separation curve, cohesive-law calibration, design allowable), which steers agents away from misusing it as an analysis tool. It does not name a specific sibling alternative for looser lookups, so not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_match_printed_thread_qualificationARead-only
Find a physical rounded-print-v1 thread-fit qualification for an exact process and thread definition. A record is eligible only when its tested engagement is at least the requested engagement. Conflicting qualified clearances return ambiguous and are never selected silently.
| Name | Required | Description | Default |
|---|---|---|---|
| thread | Yes | ||
| process | Yes | ||
| fitClass | No | ||
| requiredEngagementLengthMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe read (readOnlyHint=true, destructiveHint=false), and the description adds real behavioral detail beyond them: the engagement eligibility rule and the tie-breaking behavior that conflicting qualified clearances return ambiguous rather than being silently resolved. That is a non-obvious matching semantic an agent must know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences with no filler, front-loading the resource and scope before the eligibility rules. Slightly dense but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only matching tool with no output schema and deeply nested required parameters, the description explains eligibility and the ambiguous outcome but does not indicate what a successful match returns or which fields identify it. Adequate but leaves the return contract inferred.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden, and it only loosely covers three of four parameters ('process', 'thread', 'requested engagement'). fitClass and the contents of the nested process/thread objects (printerId, materialId, slicingProfileId, clearanceBasis, handedness, etc.) are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Find a physical rounded-print-v1 thread-fit qualification') scoped to an exact process and thread definition. This distinguishes it semantically from the 'record' and 'list' printed-thread siblings, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives the eligibility rule (tested engagement must be at least the requested engagement), which is effectively a when-to-match condition, but it never says when to prefer this over plasticity_list_printed_thread_qualifications or when to record a new one instead. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measureBRead-only
Measure a body's axis-aligned native B-Rep bounds in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish it as a safe, non-destructive read (readOnlyHint=true, destructiveHint=false), so the bar is lower. The description adds the useful detail that bounds are axis-aligned, native (non-tessellated) B-Rep geometry, and in millimeters, but says nothing about output format or whether an invalid body id errors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and the exact quantity measured, with zero filler. Nothing is padded or restated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one undocumented parameter and no output schema, the description should ideally state what the measurement returns (dimensions, min/max corners) and how to supply a body reference. It is adequate for identifying the tool but thin for invoking it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter 'id' is completely undocumented in both schema and description. The phrase "a body's" weakly implies the id identifies a body, but there is no statement of accepted reference type or validity constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Measure) and a specific resource (a body's axis-aligned native B-Rep bounds), including the unit (millimeters). That distinguishes it from siblings like measure_solid_properties, measure_face_properties, and body_info, though it never explicitly names those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many other measure_* tools, nor any prerequisite or context about what the returned value is good for. The agent must infer applicability purely from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_face_propertiesARead-only
Measure exact native B-Rep area, full trimmed boundary length, area centroid, surface type, and outer/inner loop counts for selected current Solid or Sheet faces without changing the document or Undo history. Totals include the area-weighted centroid; summed boundary length counts shared edges independently for each selected face.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), and 'without changing the document or Undo history' largely restates that. However, the description adds genuinely new behavioral semantics: how totals aggregate (area-weighted centroid) and that shared boundary edges are counted independently per face — non-obvious computation details absent from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with zero filler, and the measured-output enumeration is front-loaded before the aggregation caveats. Slightly packed, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully lists the returned quantities, which covers the return-value burden. But it leaves the 'revision' parameter and face-identification format entirely unexplained, which is a meaningful gap for a tool that takes an explicit face list plus revision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning, and it does not. Neither the 'faces' array (bodyId + faceId structure) nor the 'revision' string is explained; the phrase 'selected current faces' loosely gestures at the faces input but says nothing about format or the purpose of revision.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Measure) and resource (face properties), then enumerates exactly what is computed: native B-Rep area, trimmed boundary length, area centroid, surface type, and loop counts. This is clearly distinguishable from measure_solid_properties and the inspect_* tools without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope ('for selected current Solid or Sheet faces') implies when it applies, but no alternative is named (e.g., measure_solid_properties, inspect_surface_structure) and there is no explicit when-not guidance. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_fastener_grip_stackARead-only
Measure the exact thickness of 1-64 clamped Solid layers from explicit pairs of parallel native planar faces aligned with the fastener axis. Returns revision-bound gripItems that can be passed directly to plasticity_check_fastener_stack. Washers or other layers must be modeled and selected explicitly.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| layers | Yes | ||
| revision | Yes | ||
| angularToleranceDeg | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description still adds value beyond that: the 1-64 layer cap, the requirement that faces be parallel and native (not derived), alignment with the fastener axis, and the shape of the return (revision-bound gripItems). It does not explain tolerances or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences; the core purpose is front-loaded and each sentence carries information (what it measures, what it returns, and a constraint). Slightly jargon-heavy but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description responsibly states the return value (revision-bound gripItems) and its downstream consumer, plus the explicit-selection constraint. It leaves tolerance semantics and revision binding unexplained, but the essentials for a 4-param read-only measurement tool are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the load. It explains the 'layers' concept (explicit pairs of parallel planar faces) and the fastener-axis alignment that motivates 'axis', but says nothing about 'revision' or 'angularToleranceDeg'. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (measure), resource (exact thickness of clamped Solid layers), scope (1-64 layers), and method (explicit pairs of parallel native planar faces aligned with the fastener axis). This clearly distinguishes it from generic measurement siblings like plasticity_measure_parallel_planar_face_clearance and plasticity_measure_solid_properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies the downstream workflow by stating gripItems 'can be passed directly to plasticity_check_fastener_stack', and gives a real precondition: washers or other layers must be modeled and selected explicitly. It does not, however, explicitly contrast with alternative measurement tools or state when a different approach should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_linear_edgesARead-only
Measure the exact angle and closest approach between two current linear B-Rep edges. Returns both infinite supporting-line clearance and the exact distance/closest points between the finite edge centerline segments. Finite-edge distance is centerline geometry only; it is not minimum clearance between the owning faces or bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| first | Yes | ||
| second | Yes | ||
| revision | Yes | ||
| angularToleranceDeg | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only and non-destructive, so the description's added value is the semantic definition of the two distance types and the disclaimer that finite-edge distance is centerline-only, not face/body minimum clearance. That clarification materially reduces misinterpretation of results, though it says nothing about tolerance behavior or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences with no filler; the core measurement is front-loaded and the caveat follows immediately. Every sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully characterizes the returned measurements and their geometric meaning, which is the strongest part. However, an agent still lacks any explanation of the four inputs, particularly revision and angularToleranceDeg, so the definition is adequate but incomplete for a nested-object tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, including two nested {bodyId, edgeId} objects and an angularToleranceDeg with a default. The description never explains what 'first'/'second' designate, what 'revision' pins, or how the tolerance affects the reported angle, so it fails to compensate for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: measure angle and closest approach between two linear B-Rep edges. It also names the exact quantities returned (infinite supporting-line clearance vs. finite centerline distance), which cleanly separates it from generic siblings like plasticity_measure or plasticity_check_interference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing clause ('it is not minimum clearance between the owning faces or bodies') functions as an explicit when-not-to-use boundary, steering the agent toward a face/body clearance tool for that question. It stops short of naming the alternative sibling or stating prerequisites, so it is clear context rather than full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_nonparallel_planar_polygon_clearanceARead-only
Measure exact minimum Euclidean distance between two nonparallel trimmed planar B-Rep faces with simple straight-edged polygon boundaries. Concave outlines, holes and multiple nested/disjoint loops are supported; face regions use even-odd loop filling. Reports exact closest 3D points and zero when the finite face regions intersect. Limits each face to 512 boundary vertices and 4096 exact decomposition triangles. Faces with parallel supporting planes, circular/curved edges, self-intersecting or touching loops, incomplete native topology, or stale references are rejected; use plasticity_measure_parallel_planar_face_clearance for supported circular boundaries. This measures a selected face pair, not whole-body clearance or collision.
| Name | Required | Description | Default |
|---|---|---|---|
| first | Yes | ||
| second | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/destructive/openWorld, and the description adds substantial non-obvious behavior: exact return semantics (closest 3D points, zero when regions intersect), hard limits (512 vertices, 4096 decomposition triangles), and an explicit rejection list including stale references. This is well beyond what the annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded verb+resource, then scope, capability, limits, rejection conditions, alternative tool, and a closing exclusion. Despite its density every sentence adds distinct actionable information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description states what is reported (exact closest points / zero on intersection), the input constraints, and the rejection cases. For a geometrically intricate measurement tool, an agent has everything needed to decide and call correctly, apart from parameter field detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description carries the burden, but it only obliquely conveys parameter meaning ('a selected face pair', 'stale references are rejected'). It never explains the bodyId/faceId structure of 'first'/'second' or what 'revision' must be, leaving the nested object parameters largely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Measure exact minimum Euclidean distance between two nonparallel trimmed planar B-Rep faces') with the precise geometric scope. It explicitly distinguishes itself from the sibling plasticity_measure_parallel_planar_face_clearance and from whole-body clearance/collision, so an agent can route 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use (nonparallel straight-edged polygon faces, concave/holes/nested loops), when-not (parallel supporting planes, circular/curved edges, self-intersecting/touching loops, stale refs) and names the alternative tool for the excluded circular case. Routing conditions are fully stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_parallel_planar_face_clearanceARead-only
Measure exact minimum distance between two revision-bound parallel planar B-Rep faces, including polygonal regions, complete circular boundaries and exact trimmed circular arcs (including holes). Computes planar overlap or boundary separation together with the normal plane gap and closest 3D points. Requires parallel faces within 1e-7 degrees and closed boundaries composed of straight edges and exact circular edges, at most 512 edges per face; other curved edges, nonparallel faces, incomplete topology and stale references are rejected rather than approximated. This is face-to-face clearance, not body-to-body collision detection.
| Name | Required | Description | Default |
|---|---|---|---|
| first | Yes | ||
| second | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/non-destructive annotations, the description discloses substantive behavior: it rejects rather than approximates nonparallel faces, curved non-circular edges, incomplete topology, and stale references, and it enumerates what is returned (overlap/boundary separation, normal plane gap, closest 3D points). This is rich operational context an agent cannot derive 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph that is front-loaded with the core action, followed by supported geometry, preconditions, and the sibling differentiation last. Long but nearly every clause carries information; minor redundancy in the geometry enumeration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully covers return content, and it thoroughly documents preconditions and failure modes. The main gap is the undocumented nested face/revision parameters, which leaves the invocation contract partially unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the parameters are nested objects (first/second with bodyId+faceId, plus revision), yet the description never explains them. 'Revision-bound' hints at the revision parameter's role but there is no guidance on the face-reference structure, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (measure minimum distance between two parallel planar B-Rep faces) and explicitly distinguishes itself from body-to-body collision detection, which maps to sibling tools like plasticity_check_interference. An agent can tell what this computes 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear preconditions and exclusions: faces must be parallel within 1e-7 degrees, have closed boundaries of straight/exact circular edges, max 512 edges, and nonparallel/incomplete/stale inputs are rejected. It also routes away from body-to-body collision detection, though it does not name the alternative sibling explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_planar_facesARead-only
Measure the angle between two current planar B-Rep faces and, when parallel, the signed/absolute separation of their infinite supporting planes in millimeters (separationKind='supporting-planes'). It does not test overlap of the trimmed faces or measure their actual gap/clearance; use only when supporting-plane spacing is the intended quantity.
| Name | Required | Description | Default |
|---|---|---|---|
| first | Yes | ||
| second | Yes | ||
| revision | Yes | ||
| angularToleranceDeg | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds real value beyond that: it defines the computed quantities, their units (mm), and the supporting-plane interpretation, plus explicit scope exclusions. It does not describe result shape or how the angular tolerance affects the parallel/angle decision.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, with the primary computation front-loaded before the caveat. Minor deduction because the trailing parenthetical '(separationKind='supporting-planes')' references a field absent from the schema and adds ambiguity rather than clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameter documentation, the description carries the conceptual burden and does it well, but leaves an agent unable to determine what 'revision' must be or how 'angularToleranceDeg' behaves. Adequate for understanding the measurement's meaning, incomplete for calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and all 4 parameters are undocumented anywhere. The description never explains 'first'/'second' nesting, 'revision', or 'angularToleranceDeg' (which is presumably the parallelism threshold but is unstated). The only quasi-parameter mention, separationKind='supporting-planes', does not even appear in the schema, so it does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('measure the angle between two current planar B-Rep faces') and specifies the exact quantity returned when parallel (signed/absolute separation of infinite supporting planes, in mm). This is enough to distinguish it from siblings like plasticity_measure_parallel_planar_face_clearance or plasticity_measure_point_to_planar_face 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives both a when-to-use condition ('use only when supporting-plane spacing is the intended quantity') and when-not ('does not test overlap of the trimmed faces or measure their actual gap/clearance'). It stops short of naming the alternative tool to reach for in the excluded cases, which keeps it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_point_distanceARead-only
Measure the exact straight-line distance and XYZ delta between two explicit coordinates or current native B-Rep vertices, edge midpoints, or face points. Topology references are revision-bound.
| Name | Required | Description | Default |
|---|---|---|---|
| first | Yes | ||
| second | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: 'Topology references are revision-bound,' warning that vertex/edge/face references tie to a specific revision.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler; the core capability is front-loaded and the revision caveat follows. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only measurement tool with no output schema, the description names the returned quantities (distance and XYZ delta) and the input forms, which is largely sufficient. The main gap is the unexplained 'revision' parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate; it does so for first/second by naming the four input forms (coordinates, vertex, edge-midpoint, face-center) that map to the schema's oneOf branches. The 'revision' parameter is only weakly implied ('revision-bound') rather than explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Measure') and precise resource ('straight-line distance and XYZ delta between two points'), and enumerates the accepted point types (coordinates, vertices, edge midpoints, face points). This clearly delineates it from point-to-edge/point-to-face sibling measures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the context clear: it operates point-to-point between two entities, which implicitly distinguishes it from the point-to-linear-edge / point-to-planar-face measures. It stops short of naming alternatives or explicit when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_point_to_circular_edgeARead-only
Measure exact distance from an explicit coordinate or current B-Rep vertex to a native circular boundary. Use bodyId plus edgeId for Solid/Sheet topology, or bodyId plus segmentEntityId from plasticity_list_curve_directions for a Wire. Returns distance to the supporting circle, minimum distance to the trimmed arc, closest point, normalized arc parameter, and endpoint-clamp status. Requires verified native circle basis and trim samples; unsupported or stale references are rejected. This is distance to the edge curve centerline, not clearance to adjacent faces or the owning body.
| Name | Required | Description | Default |
|---|---|---|---|
| edge | Yes | ||
| point | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, non-destructive profile, but the description adds substantial behavior beyond them: it requires 'verified native circle basis and trim samples', states that 'unsupported or stale references are rejected', and enumerates the returned quantities. This is exactly the extra context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences with purpose front-loaded and no filler; each clause adds distinct information (routing, return values, preconditions, scope caveat). Slightly long but every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex measurement tool with a deeply nested anyOf/oneOf schema and no output schema, the description covers return semantics, validation preconditions, and topology-specific parameter usage. Only the undocumented revision parameter is left unexplained, which is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does explain the two edge shapes (edgeId vs segmentEntityId) and point source (explicit coordinate or B-Rep vertex). It omits the edge-midpoint/face-center point variants and does not explain the revision parameter, leaving a residual gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (measure distance from a point to a native circular boundary) and differentiates itself from neighbors by emphasizing circular geometry and clarifying it is centerline distance 'not clearance to adjacent faces or the owning body'. An agent can distinguish it from measure_point_to_curved_edge/linear/planar 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing guidance: 'Use bodyId plus edgeId for Solid/Sheet topology, or bodyId plus segmentEntityId from plasticity_list_curve_directions for a Wire,' naming the sibling tool that supplies the Wire identifier. It does not state exclusions vs the curved-edge measure sibling, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_point_to_curved_edgeARead-only
Estimate point distance to a non-linear, non-circular Solid/Sheet B-Rep edge or native Wire segment using an adaptively sampled polyline of native Plasticity edge evaluations. For Solid/Sheet, pass bodyId plus edgeId; for Wire, pass bodyId plus segmentEntityId from plasticity_list_curve_directions. Returns an explicitly approximate closest point/distance, sample count and maximum midpoint chord deviation observed at those samples. toleranceObserved only means the sampled deviation criterion was met; it is not a certified global error bound. For dimensions that need exact 0.01 mm proof, use exact line/circle tools or request a more suitable native analytic method; never report this estimate as exact or as body clearance. Current body/topology references are revision-bound.
| Name | Required | Description | Default |
|---|---|---|---|
| edge | Yes | ||
| point | Yes | ||
| revision | Yes | ||
| maxSegments | No | ||
| requestedToleranceMm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description adds substantial extra context beyond them: results are explicitly approximate, toleranceObserved means only that the sampled criterion was met and is not a certified global error bound, and body/topology references are revision-bound. It also discloses what is returned (closest point/distance, sample count, max midpoint chord deviation) for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and the edge-input selection rule are front-loaded, with caveats (approximation, tolerance semantics, revision binding) following. It is dense but nearly every sentence carries actionable information; only the repeated 'do not report as exact/clearance' phrasing is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compute-heavy measurement tool with no output schema, the description supplies the return shape, the approximation caveat, the validity window (revision-bound), and the input construction rules. Nothing an agent needs in order to invoke or interpret the result is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate; it explains the two edge variants (bodyId+edgeId vs bodyId+segmentEntityId) and the meaning of requestedToleranceMm/toleranceObserved and the revision binding. It does not document the four point input modes (coordinates, vertex, edge-midpoint, face-center) or maxSegments, so a small gap remains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource with scope qualifiers: estimate point distance to a non-linear, non-circular B-Rep edge or native Wire segment via adaptively sampled polyline evaluations. It explicitly distinguishes itself from exact analytic siblings (line/circle tools) and from body clearance measurements, so an agent can route correctly without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit per-case instructions: for Solid/Sheet pass bodyId plus edgeId; for Wire pass bodyId plus segmentEntityId sourced from plasticity_list_curve_directions. It also states when NOT to use it ('For dimensions that need exact 0.01 mm proof, use exact line/circle tools or request a more suitable native analytic method'), naming the alternative condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_point_to_linear_edgeARead-only
Measure the exact distance from an explicit coordinate or current B-Rep vertex to a finite straight B-Rep edge centerline. Returns the projected point, the clamped closest point on the finite edge, supporting-line distance and finite-segment distance. This is centerline geometry, not minimum clearance to the owning faces or bodies; references are revision-bound.
| Name | Required | Description | Default |
|---|---|---|---|
| edge | Yes | ||
| point | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnly/destructive/openWorld annotations already covering the safety profile, the description adds meaningful context beyond them: the return contents (projected point, clamped closest point, supporting-line vs finite-segment distance) and the constraint that references are revision-bound. This is useful disclosure for a measurement op without over-claiming.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The three sentences are front-loaded with the core operation, then the return shape, then the disambiguation. Dense but every clause earns its place, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly compensates by enumerating return values, and it notes the revision-bound reference model. It is nearly complete for the tool's complexity, only missing fuller point-input enumeration and explicit revision semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are three parameters with nested objects, so the description must carry the load. It explains the 'point' parameter accepts explicit coordinates or a current B-Rep vertex, but the schema actually allows four point variants (coordinates, vertex, edge-midpoint, face-center) and none of these are enumerated in prose; the 'revision' binding is only vaguely implied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (measure) and a precise resource (distance from a coordinate/vertex to a finite straight B-Rep edge centerline). It clearly differentiates from siblings like measure_point_to_curved_edge and measure_point_to_circular_edge by specifying 'straight' and 'centerline' geometry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clarifies when this applies (straight finite edges) and explicitly excludes face/body clearance ('not minimum clearance to the owning faces or bodies'), which routes the agent away from clearance-style tools. It stops short of naming the curved/circular-edge alternatives explicitly, so it is strong but not fully self-routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_point_to_planar_faceARead-only
Measure the exact minimum distance from an explicit coordinate or current B-Rep vertex to a trimmed planar face. Supports closed polygonal loops, complete circles, and exact trimmed circular arcs, including holes; returns signed supporting-plane distance, minimum distance to the actual trimmed face, closest point, and whether that point lies in the face interior or on a boundary edge. Other curved boundaries, non-planar faces, incomplete topology, and stale references are rejected; this does not measure clearance between two bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| face | Yes | ||
| point | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint true, destructiveHint false, openWorldHint false). The description goes beyond them by disclosing supported boundary topology, rejection behavior for stale references, and the semantics of what is returned (signed plane distance vs. distance to the trimmed face, closest point, interior vs. boundary).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, with the core measurement action and supported inputs front-loaded before the rejection conditions. Every clause carries information, though the second sentence is packed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by enumerating the returned quantities. Combined with the rejection rules and the clearance exclusion, an agent has enough to invoke it correctly, with the only shortfall being the undocumented point-variant parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the coordinate and vertex point variants and implies revision guards against stale references, but it omits the edge-midpoint and face-center point types that the schema actually accepts, leaving a meaningful gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource: measure minimum distance from a coordinate or B-Rep vertex to a trimmed planar face. It is clearly distinguishable from siblings like measure_point_distance or measure_point_to_curved_edge, and even disambiguates itself from face-to-face clearance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-not conditions: curved boundaries other than circles/arcs, non-planar faces, incomplete topology, and stale references are rejected, and it states it does not measure clearance between two bodies. It stops short of naming the specific alternative tool to use for those cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_measure_solid_propertiesARead-only
Measure exact native B-Rep volume, surface area, and volume centroid for one or more current Solid bodies without changing the document or Undo history. Totals include the volume-weighted centroid. This is geometric evidence; physical mass still requires an explicit qualified density.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is partly covered. The description adds value beyond that: it confirms no document/Undo-history mutation, notes totals include the volume-weighted centroid, and clarifies that mass requires an explicit density — non-obvious behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the primary purpose front-loaded, followed by a totals detail and a usage caveat. No filler, and each sentence contributes distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description usefully names the returned quantities (volume, surface area, centroid, totals). However, the unexplained required 'revision' parameter and the absence of any pagination/return-structure note leave a gap for a tool the agent must call with two required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the meaning. It implies 'ids' refer to Solid bodies ('one or more current Solid bodies'), which helps, but the required 'revision' parameter is never mentioned or explained, leaving a concurrency/versioning parameter completely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Measure) plus the exact resource (native B-Rep volume, surface area, volume centroid) and scope (one or more current Solid bodies). This clearly distinguishes it from sibling measurement tools such as plasticity_measure_face_properties (faces) and the generic plasticity_measure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: it operates on 'current Solid bodies' and explicitly does not alter the document or Undo history, plus the caveat that it yields geometric evidence rather than physical mass. It stops short of naming sibling alternatives (e.g. measure_face_properties, body_info) to route the agent between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_mirrorBDestructive
Mirror exact bodies across a world-space plane, either copying or moving the originals.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes | ||
| planeNormal | Yes | ||
| keepOriginal | No | ||
| planeOriginMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true and readOnlyHint=false, and the description usefully explains the nature of that destruction ('moving the originals'). However, it omits other behavioral traits the annotations don't cover: the effect of the keepOriginal default (true), the concurrency/revision requirement, and any reversibility or undo notes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tightly written sentence with no filler; the core operation is front-loaded and the copy/move distinction is appended where it is most useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with 0% schema description coverage, six undocumented-by-schema parameters, and no output schema, the description is too thin. It leaves body selection, the revision/concurrency contract, and the keepOriginal default undocumented, which an agent needs before invoking it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across six parameters, so the description carries full burden. It conveys the semantics of keepOriginal (copy vs. move) and implies the plane parameters (planeOriginMm/planeNormal), but says nothing about ids (which bodies) or the required revision token, leaving roughly half the parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Mirror exact bodies') plus the operation's scope ('across a world-space plane'), so an agent knows exactly what operation this performs. It does not, however, differentiate itself from close siblings like plasticity_duplicate_bodies or plasticity_split_solid_by_plane, which also create/relocate geometry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'either copying or moving the originals' implies the copy-vs-move decision that the keepOriginal parameter controls, giving indirect usage context. But there is no explicit when-to-use-this-vs-alternatives guidance against siblings such as duplicate_bodies or move, and no stated prerequisites despite a required revision token.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_moveBDestructive
Move bodies. Requires the current revision; delta is millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| deltaMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so mutation risk is covered structurally. The description adds a genuinely useful behavioral detail beyond that: an optimistic-concurrency precondition on the current revision. It still omits what happens on a stale revision and the scope of the mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action, and no filler. Both sentences carry information not present in the schema, though the overall size is thin for a 0%-coverage schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation tool with no output schema and zero schema coverage needs more than two sentences. Revision and units are covered, but the meaning of ids, intent, and stale-revision behavior are not, leaving the agent to guess at recovery semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies deltaMm units ('millimeters') and that revision must be current, but leaves ids, intent, and the revision format unaddressed, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Move bodies'), which distinguishes it from sibling move tools for faces, edges, instances, and control points. It does not explicitly name a sibling or scope boundary, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a precondition ('Requires the current revision') but no guidance on when to choose this over plasticity_move_faces, move_edges, rotate, or scale. No alternatives or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_move_curve_control_pointsADestructive
Move one or more exact current Wire control handles by a shared world-space millimeter delta in one Plasticity history step. References must come from plasticity_list_curve_control_points at the current revision. Boundary vertices edit curve ends or joins; interior control points reshape B-Splines. Re-read control points and exact B-Rep geometry afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| points | Yes | ||
| deltaMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true/readOnlyHint=false, and the description adds substantial context beyond that: the shared world-space delta semantics, single history step, boundary-vs-interior effects, revision-staleness constraint, and a required re-read. This is exactly the extra behavioral load annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the core action, then prerequisite, operand semantics, and follow-up. No redundant restatement of the name or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema and 0% schema coverage, the description supplies the prerequisite, operand distinctions, and a verification step, which is everything an agent needs to invoke it safely and correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage the description must compensate, and it does for three of four params: points (origin + current revision), deltaMm (shared world-space millimeters), revision (must be current), and the vertex/control-point kinds. The intent parameter is never explained, leaving one gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope: 'Move ... exact current Wire control handles by a shared world-space millimeter delta in one Plasticity history step.' This clearly separates it from siblings like plasticity_slide_curve_control_points, rotate, and scale variants that operate on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit prerequisite ('References must come from plasticity_list_curve_control_points at the current revision') and routes the agent to that sibling tool, plus a post-condition ('Re-read control points and exact B-Rep geometry afterward'). It also disambiguates the two operand kinds (boundary vertices vs interior control points).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_move_edgesADestructive
Move exact current B-Rep edges from one body by a nonzero world-space millimeter delta. Plasticity rebuilds adjacent faces, invalidating all prior topology references.
| Name | Required | Description | Default |
|---|---|---|---|
| edges | Yes | ||
| intent | No | ||
| deltaMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the bar is lower, yet the description adds real value: it discloses that Plasticity rebuilds adjacent faces and invalidates all prior topology references, which tells the agent about downstream breakage the annotations don't capture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, no filler, with the operation and its blast radius both front-loaded. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter mutation tool with no output schema and no schema-level descriptions, the description covers the core action and one major side effect, but omits revision semantics (optimistic concurrency?), intent's purpose, and whether the multi-edge batch is atomic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It partially does — 'nonzero world-space millimeter delta' documents deltaMm's units and non-degeneracy, and 'exact current B-Rep edges' constrains the edges array — but revision and intent are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (move) plus resource (exact current B-Rep edges) and constrains the operation (nonzero world-space millimeter delta, one body). That is enough to separate it from plasticity_move_faces, plasticity_offset_edges, and plasticity_move by name inference, but it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'exact current edges' hints that stale topology references will fail, but nothing says when to choose this over offset_edges or move_faces, and no prerequisite or exclusion is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_move_facesADestructive
Move exact current B-Rep faces by one nonzero world-space delta in millimeters. Plasticity extends and retrims adjacent faces; all topology references become stale after the edit.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| deltaMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, but the description adds the non-obvious side effects: Plasticity extends and retrims adjacent faces, and all topology references become stale afterward. That staleness warning is exactly the kind of consequence an agent needs before a destructive edit and is not derivable from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the operation and its unit/space semantics front-loaded before the consequence clause. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no output schema, the definition covers the critical behavioural risk (adjacent-face retrimming, stale references) and the delta semantics. It leaves the intent parameter and the expected failure mode when revision is out of date unexplained, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It meaningfully explains deltaMm (world-space, millimeters, nonzero) and hints at the staleness constraint behind revision, but says nothing about the 'faces' array shape (bodyId/faceId pairs) or the 'intent' field. Partial compensation for a 4-param tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource ('move exact current B-Rep faces') plus the operand form (one nonzero world-space delta in millimeters). This is specific enough to separate it from plasticity_move, plasticity_move_edges, plasticity_offset_faces, plasticity_rotate_faces and plasticity_scale_faces 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'exact current B-Rep faces' and 'one nonzero delta' phrasing implies the precondition (faces must be current, delta may not be zero), but there is no explicit when-to-use versus when-to-use-alternatives (e.g. offset_faces, rotate_faces, move_edges). Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_move_instancesBDestructive
Move current native linked instances by a world-space millimeter delta without changing their source geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| deltaMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, and openWorldHint=false, so the safety profile is covered. The description adds real context beyond them: the delta is world-space in millimeters and source geometry is left untouched (only instances move), which materially scopes the mutation. It says nothing about the revision/concurrency requirement or what happens if the revision is stale, so it is useful but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the core action and the two key qualifiers (world-space mm delta, source geometry untouched) front-loaded. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and the annotations cover the mutation safety profile, so the description does not need to explain return values. However, for a 4-parameter mutating tool with zero schema coverage, it omits revision semantics and the meaning of intent, leaving an agent without enough to call it confidently in all cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description carries the full burden. It explains only deltaMm (world-space, millimeter units); ids, revision, and intent are entirely undocumented in both schema and description. The unexplained revision parameter is the most significant gap for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Move current native linked instances') and scopes it ('world-space millimeter delta', 'without changing their source geometry'), which distinguishes it from plasticity_move, plasticity_move_reference_meshes, and the rotate/scale instance siblings by implication. It stops short of naming an alternative explicitly, so it is clear but not fully sibling-differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the phrase 'current native linked instances' — an agent can infer that instances must exist and that source geometry is preserved, but there is no explicit when-to-use statement or pointer to plasticity_rotate_instances / plasticity_scale_instances for the adjacent transform operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_move_reference_meshesADestructive
Move current approximate STL/OBJ reference meshes by a world-space millimeter delta in one Plasticity history step.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| deltaMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=true, openWorldHint=false. The description adds valuable context beyond that: the operation is a world-space mm translation and is a single atomic history step, which matters for undo and downstream feature ordering. It does not state what happens on invalid ids or revision mismatch, keeping it just short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence, front-loaded with verb and target, with no filler. Every clause carries information: transform type, units, target entity, and history behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, history-affecting mutation with no output schema and 0% param coverage, the description covers the core action and units but omits revision/token semantics, id validation behavior, and multi-id atomicity, which an agent would want before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does clarify deltaMm semantics (world-space, millimeters) and that ids target reference meshes, which is genuinely useful. However, it says nothing about the required 'revision' string (optimistic concurrency token?) or the optional 'intent' field, leaving two of four parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Move), a specific resource (current approximate STL/OBJ reference meshes), and the transform semantics (world-space millimeter delta, one Plasticity history step). This clearly distinguishes it from siblings like plasticity_move (bodies), plasticity_rotate_reference_meshes, and plasticity_scale_reference_meshes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'current approximate STL/OBJ reference meshes' implies the tool applies only to this mesh type, and 'one Plasticity history step' hints at undo behavior, but there is no explicit when-to-use guidance, no prerequisite (e.g., existing reference mesh from import), and no stated alternative for other entity types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_move_to_groupADestructive
Move current bodies, linked instances, approximate reference meshes, or whole child groups into an existing destination group in one native history step. Group cycles are rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| bodyIds | No | ||
| groupIds | No | ||
| revision | Yes | ||
| instanceIds | No | ||
| referenceMeshIds | No | ||
| destinationGroupId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is covered. The description adds genuinely new behavioral context: the operation collapses into "one native history step" and that "group cycles are rejected" (an error condition). It still omits permission requirements and what happens to objects already in a group, keeping it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the action and object scope, with the constraint (cycle rejection) last. No filler and no restating of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 7-param mutation with no output schema, the description covers what moves and one failure mode. It does not explain the required revision concurrency token, the intent field, or permissions, so an agent lacks enough to invoke it confidently beyond the happy path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 params, so the description must carry the load. It loosely maps the four object-id arrays (bodyIds, instanceIds, referenceMeshIds, groupIds) to the listed object types, but says nothing about the two required params, destinationGroupId and revision, nor the intent field. Partial compensation for a high-coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ("Move") plus the exact resources handled (bodies, linked instances, reference meshes, whole child groups) and the destination (an existing destination group). This distinguishes it cleanly from siblings like plasticity_move, plasticity_move_instances, and plasticity_move_reference_meshes, which move the same objects without the group-assignment semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: you use this when you want to relocate the listed object types into a group rather than transform them. However, there is no explicit when-to-use/when-not statement and no pointer to alternatives such as plasticity_create_group or plasticity_move for non-group moves. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_offset_edgesBDestructive
Create native parallel edge offsets on one body at a signed millimeter distance. The sign chooses an adjacent surface according to Plasticity's oriented edge, so re-read the added strip and all topology after the edit.
| Name | Required | Description | Default |
|---|---|---|---|
| edges | Yes | ||
| intent | No | ||
| revision | Yes | ||
| distanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation is known. The description adds real value beyond that: the meaning of the signed distance (sign selects the adjacent surface via oriented edges), and the warning to re-read the added strip and all topology after the edit. It stops short of detailing what is destroyed or any permission prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with dense, non-redundant content; the mutation and its sign semantics come first. Slightly heavy second sentence but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no output schema and 0% schema coverage, the description covers the key behavioral risk (topology changes, must re-read) but omits explanation of revision and intent parameters and any return/error behavior. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It usefully explains the sign convention of distanceMm, which the schema does not, but leaves edges, revision, and intent entirely undocumented. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create native parallel edge offsets on one body') with clear scope (single body, signed mm distance), distinguishing it implicitly from siblings like plasticity_move_edges and plasticity_offset_faces. It does not name an alternative sibling explicitly, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance or differentiation from closely related tools such as plasticity_move_edges, plasticity_offset_faces, or plasticity_offset_planar_curves. The sign semantics are behavioral, not routing guidance; the agent must infer selection on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_offset_face_loopsBDestructive
Insert native offset loops around exact current faces from one Solid or Sheet at a signed millimeter distance. Positive and negative signs follow Plasticity's face and adjacent-surface orientation; they can place the new loop on the selected face or propagate it over adjacent faces. This splits topology without intentionally changing volume. Re-read the exact new faces and edges instead of assuming a world direction.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| revision | Yes | ||
| distanceMm | Yes | ||
| individual | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: signs follow Plasticity's face/adjacent-surface orientation, the loop may sit on the selected face or propagate, and it splits topology without changing volume. The 're-read the exact new faces and edges' instruction is valuable mutation guidance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences, front-loaded with the action and the signed-distance/orientation caveat, then closing with the re-read instruction. Dense with genuine information and no filler, though the orientation sentence is slightly packed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, 5-parameter mutation tool with no output schema and 0% parameter coverage, the description explains the operation well but omits the meaning of intent/revision/individual and gives only indirect guidance on returned topology identifiers. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 5 parameters, so the description must carry the full burden. It clarifies that distanceMm is a signed millimeter value and that faces are 'exact current' faces from one Solid or Sheet, but says nothing about intent, revision, or individual, leaving three parameters undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Insert native offset loops around exact current faces from one Solid or Sheet.' The 'offset loops' framing (splits topology, propagates over adjacent faces) distinguishes it in spirit from sibling offset_faces/offset_edges, though the differentiation is implied rather than named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The behavior described ('splits topology without intentionally changing volume', propagation over adjacent faces) implies the scenario where this is the right tool, but no explicit when-to-use, when-not, or named alternatives (e.g., offset_faces vs offset_edges) are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_offset_facesCDestructive
Offset exact B-Rep faces by a signed distance in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| faceIds | Yes | ||
| revision | Yes | ||
| distanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The destructiveHint=true and readOnlyHint=false annotations already tell the agent this is a mutating, destructive operation. The description adds only the signed-distance/unit notion, not what geometry is modified, whether changes are reversible, or any authorization/rate-limit context, so its behavioral contribution beyond annotations is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler; the core action, object, and units are packed efficiently. For a destructive operation with five parameters it is very terse, but as conciseness it avoids bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive five-parameter mutation with 0% schema coverage and no output schema, the description does not provide enough for reliable invocation: no alternatives, no parameter meaning, and no effect of positive vs negative offsets. Rich annotations cover the safety profile but not these operational gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must document the five parameters. It covers only distanceMm indirectly ('signed distance in millimeters') and faceIds via 'faces'; id, revision, and intent remain unexplained, leaving most parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Offset'), resource ('exact B-Rep faces'), and key operand ('by a signed distance in millimeters'). However it does not distinguish this from sibling offset operations such as plasticity_offset_face_loops or plasticity_offset_edges, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use or when-not-to-use guidance and names no alternative tool. It merely states what the operation does, so an agent must infer context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_offset_planar_curvesCDestructive
Create native offsets from planar Wire bodies. Signed distance follows each Wire orientation and is measured in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes | ||
| distanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the agent knows this mutates geometry. The description adds genuinely useful context that offsets are signed and follow Wire orientation in millimeters, but it never states that the source wires are replaced/consumed or mentions the required 'revision' token, leaving the destructive consequence underspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core operation front-loaded and no filler. Efficient for a short description, though it is arguably too brief given the 4-parameter surface.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation tool with no output schema and 0% parameter documentation should do more: it omits what is destroyed at the source, what 'revision' expects, and what 'intent' is for. The description is far from complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters. The description only partially explains distanceMm (signed, orientation-following, mm), while ids, intent, and the required revision token receive no explanation anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create') and resource ('native offsets from planar Wire bodies'), which distinguishes it from the many offset siblings (offset_edges, offset_faces, offset_regions, offset_vertices). However, 'native offsets' and 'Wire bodies' are domain jargon that isn't fully unpacked.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and never names an alternative among the numerous offset_* siblings. An agent must infer the scenario entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_offset_regionsBDestructive
Create one or two native signed offsets from explicit Regions in the same sketch, preserving the source curves.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| offsetsMm | Yes | ||
| regionIds | Yes | ||
| individual | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the mutation/safety profile is partly covered. The description adds real behavioral context ('signed' offsets, i.e. direction, and 'preserving the source curves'), the latter being mildly in tension with the destructive hint. It does not describe what else is modified, revision handling, or whether new geometry replaces existing offsets.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the operation and resource with no filler. It is efficient, though packing count, sign, source, and preservation into one clause makes it slightly opaque.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with 5 parameters at 0% schema coverage and no output schema, the description covers the core operation and preservation behavior but leaves revision, intent, individual, and resulting output undefined. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It usefully conveys the count constraint ('one or two', matching offsetsMm maxItems=2), the signed nature of the offsets (direction/values), and what regionIds selects, but it says nothing about revision, intent, or the individual flag.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specifies a clear verb ('Create ... offsets') and resource (explicit Regions in the same sketch), plus the qualifier 'native signed'. This distinguishes it from offset siblings like plasticity_offset_planar_curves/offset_edges, but never names those alternatives explicitly, so the differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to any alternative tool. The phrase 'from explicit Regions in the same sketch' gives a faint scope hint, but an agent gets no signal on when this is preferable to plasticity_offset_planar_curves, plasticity_extrude_regions, or other region/sketch operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_offset_verticesADestructive
Insert exact native split vertices at one positive millimeter distance along every incident edge of one or more current Solid or Sheet vertices from the same body. This preserves the outer shape and volume while rebuilding topology; it does not move the corner, chamfer it, or fillet it. Re-read every topology reference after success.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| vertices | Yes | ||
| distanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag this as a mutating, destructive, closed-world operation, so the bar is lower. The description goes beyond them by stating the consequence profile (outer shape and volume preserved while topology is rebuilt) and the crucial side effect that all topology references go stale and must be re-read after success. It stops short of describing failure modes or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the operation, then the semantic guarantee, then the required follow-up. No filler and every sentence carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive topology-rebuild operation with no output schema, the description supplies the shape-preservation guarantee and the mandatory reference re-read, which are the details most likely to cause agent error. It is only incomplete in not clarifying the revision parameter (concurrency/optimistic-locking semantics) and the intent field.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It partially does: 'one positive millimeter distance' matches distanceMm's exclusiveMinimum, and 'one or more current Solid or Sheet vertices from the same body' constrains the vertices array and its same-body requirement. But the required 'revision' parameter and the optional 'intent' parameter are never explained, leaving a required parameter undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (insert split vertices) and resource (Solid/Sheet vertices on a body) and pins down the exact manner of the operation (one positive mm along every incident edge). It also explicitly excludes what it is not (move/chamfer/fillet), which separates it from plasticity_fillet_curve_vertices and plasticity_move_edges without opening their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'does not move the corner, chamfer it, or fillet it' clause implicitly guides the agent away from alternative topology edits, and the closing sentence gives a required post-condition workflow step. However, no alternative tool is named and there is no explicit statement of when this tool should be chosen over e.g. plasticity_offset_edges, so usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_open_documentBDestructive
Open a .plasticity document after writing the current document to a new backup file.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| intent | No | ||
| revision | Yes | ||
| backupPath | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and readOnlyHint=false. The description adds real value beyond that by disclosing the sequencing behavior: the current document is first written to a backup file before the open occurs, which tells the agent this is a safe-ish destructive operation with a recovery path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the backup behavior front-loaded after the primary action. No filler, though it is terse given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations cover the destructive profile and the description covers the backup sequencing, so the safety/behavior picture is reasonably complete. However, with 0% parameter coverage and no output schema, the meaning of 'revision' and 'intent' and the failure semantics remain unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description carries the full burden and largely fails it: 'path' and 'backupPath' are only faintly implied, and 'revision' and 'intent' are entirely unexplained. An agent cannot determine formats or constraints from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (open) and resource (.plasticity document), and adds the backup side effect. It is clear what the tool does, though it doesn't differentiate itself from other document/file-level siblings such as save_copy or import_step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives, no prerequisites stated (e.g. that a document must be loaded first for the backup to have meaning), and no mention of what happens if the open fails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_orient_bodies_for_printADestructive
Apply a Workbench workbench_assess_printability rotationDeg to one or more exact native Solids as one rigid group in one Plasticity history step, around the union B-Rep bounding-box center. Pass the same expectedSizeMm from that DFM result; the tool refuses a rotation whose predicted group bounds disagree with it, then returns actual native group bounds and verification status. The orientation is rotation about X, then Y, then Z (Workbench Euler XYZ convention); it does not split the bodies or prove slicer fit, so re-run DFM and slicing afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| bodyIds | Yes | ||
| revision | Yes | ||
| rotationDeg | Yes | ||
| expectedSizeMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the mutation/destructive profile, but the description adds substantial behavior beyond them: it validates predicted group bounds against expectedSizeMm and refuses mismatched rotations, applies the transform in a single history step, returns native group bounds and verification status, and explicitly disclaims that it does not split bodies or prove slicer fit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and its scope, followed by validation, return, and caveat details. It is a dense paragraph with some run-on phrasing, but nearly every clause carries operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description supplies the missing return semantics (actual native group bounds and verification status) and workflow dependencies (DFM before, slicing after). The main residual gap is the undocumented revision and intent parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description carries the full burden. It explains rotationDeg (Euler XYZ order), expectedSizeMm (must match the DFM result, drives validation), and bodyIds (one or more native Solids), but leaves revision and intent unexplained, so two of five parameters remain undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (orient/apply rotation) on a specific resource (exact native Solids as one rigid group) and specifies the scope (one Plasticity history step, around the union B-Rep bounding-box center). It clearly distinguishes this from generic transforms like plasticity_rotate by tying it to the printability/DFM workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: use the rotationDeg from workbench_assess_printability, pass the same expectedSizeMm from that DFM result, and re-run DFM and slicing afterward. It does not explicitly name a sibling alternative (e.g., plasticity_rotate) to route away from, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_patch_closed_wiresA
Create independent native Sheet patches from current closed Wire bodies while preserving every source Wire. Unlike planar Region patching, this accepts nonplanar closed boundaries and can create B-Surfaces. Re-read exact boundaries, surface structure, area, and native validity; the native fill is not a constrained engineering surface unless those properties are separately verified.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the generic safety profile (readOnly=false, destructive=false, openWorld=false); the description adds real behavioral substance: source Wires are fully preserved, B-Surfaces may be produced, and the resulting native fill is not a verified constrained engineering surface. That caveat about output trustworthiness is exactly the kind of context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, none wasted: the core action front-loaded, then sibling differentiation, then the verification caveat. Slightly dense with jargon (B-Surfaces, native fill) but every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Behavioral and output-quality concerns are well covered, which matters since there is no output schema. However, for a tool with a required revision parameter and 0% schema documentation, the definition is incomplete on the invocation side — an agent cannot tell what revision or intent should be supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the three parameters (ids, revision, intent). With a mutation tool taking body ids and a required revision token, the absence of any guidance on what these mean or how revision interacts with the operation is a notable gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Create) plus the exact resource (independent native Sheet patches) and its scope (from current closed Wire bodies), and explicitly contrasts itself with planar Region patching. An agent can distinguish it from patch_regions 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Unlike planar Region patching, this accepts nonplanar closed boundaries' clause gives clear context for when this tool is the right choice over the planar alternative. It stops short of an explicit rule (e.g. 'use patch_regions instead when boundaries are planar') but the selection condition is inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_patch_regionsCDestructive
Create native Sheet bodies that fill explicit revision-bound closed Regions.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| regionIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the write nature is known. What the description fails to disclose is exactly what 'destructive' means here — whether existing bodies are replaced, whether new sheets are added alongside, and what 'revision-bound' implies (stale-revision rejection, optimistic concurrency). For a destructive operation, 'revision-bound' is unexplained jargon rather than behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and result come first. It is efficient, though the compressed phrasing ('revision-bound', 'native Sheet bodies') trades clarity for brevity in a way that leaves key concepts undefined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, three-parameter creation tool with no output schema, no parameter descriptions, and no annotation detail beyond safety flags. The description does not say how to obtain region ids, what the revision token is for, whether the result replaces or augments existing geometry, or what happens on a stale revision — all material for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters, so the description must carry the burden. It hints at regionIds ('explicit ... Regions') and at revision semantics ('revision-bound'), but never explains the id format, where region ids come from (presumably list_regions), or what revision values are valid. The 'intent' parameter is entirely unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb ('Create'), a concrete output ('native Sheet bodies'), and the input condition ('explicit revision-bound closed Regions'), which is far more specific than a restatement of the name. It is somewhat distinguishable from near-neighbors like patch_sheet_hole or patch_closed_wires, though it never names a sibling to draw the boundary explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus patch_sheet_hole, cap_sheet_holes, patch_closed_wires, extrude_regions, or sweep_regions. The only implied condition is 'closed Regions,' which is a precondition rather than routing guidance. An agent must guess which surface-filling or region-consuming tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_patch_sheet_holeBDestructive
Fill one closed boundary loop on a native Sheet using exact current edge IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| edgeIds | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=true, openWorld=false, so the mutation/safety profile is covered structurally. The description adds a genuine behavioral constraint beyond that – edge IDs must be exact and *current* – implying revision staleness will fail. It does not say what is destroyed or whether the fill is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the operation and follows with the scoping constraint. No wasted words, though it is arguably too terse for a destructive mutation with undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive write tool with no output schema and zero parameter documentation, one sentence is insufficient. Revision conflict behavior, what the edge IDs must reference, and the role of the intent field are all unaddressed, leaving the agent under-informed before a destructive call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 params, so the description must carry the burden. It hints at edgeIds ('exact current edge IDs') and indirectly at revision ('current'), but says nothing about the sheet id, the intent field, or the minimum of 3 edges. Two of four parameters remain unexplained anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource+scope: 'Fill one closed boundary loop on a native Sheet'. It distinguishes itself from near-siblings by specifying a single loop bound by exact edge IDs, versus cap_sheet_holes or patch_closed_wires. Still, it never names those alternatives, so sibling differentiation is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent infers this applies when a Sheet has one closed boundary loop to fill. There is no explicit when-to-use, when-not-to-use, or routing to cap_sheet_holes / patch_closed_wires / patch_regions, all of which are adjacent in capability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_patch_solid_edge_loopsADestructive
Create independent native Sheet patches from exact edge loops selected on one current Solid. The source Solid, including any opening or through-hole, is preserved; this tool constructs covering surfaces and does not claim to heal, fill, or Boolean-close the Solid. Re-read the returned Sheets before thickening, sewing, or other downstream work.
| Name | Required | Description | Default |
|---|---|---|---|
| edges | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnly=false, so the agent knows the document is mutated. The description usefully adds that the source Solid (including openings/through-holes) is preserved and clarifies the non-healing/non-filling scope, plus a downstream-read caveat. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and scope, then the non-behavior boundary, then the downstream precaution. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Behavior and non-goals are well covered, and there is no output schema requiring return-value explanation. However, for a 3-parameter mutation tool with 0% schema description coverage, the absence of any parameter guidance leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across the three parameters (edges, intent, revision), so the description carries the burden of explaining them but does not. It only gestures at 'exact edge loops' for edges and says nothing about intent or revision, leaving callers to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Create) and resource (independent native Sheet patches) with the input scope (exact edge loops selected on one current Solid). This clearly distinguishes it from nearby siblings like patch_sheet_hole, cap_sheet_holes, patch_regions, and patch_closed_wires.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives strong context: the source Solid is preserved, and the tool explicitly does NOT heal, fill, or Boolean-close, which tells the agent when this is the wrong tool for closing an opening. It also warns to re-read returned Sheets before thickening/sewing. It stops short of naming an alternative tool explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_planarize_curvesADestructive
Orthogonally project one or more current Wire bodies onto an explicit world-space plane. This changes a spatial curve's path and may reverse its parameter direction, unlike degree elevation or subdivision. Verify planarity, endpoints, direction, and functional measurements afterward. The operation occupies one Plasticity history step.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| normal | Yes | ||
| originMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds non-obvious behavior: the curve path changes, parameter direction may reverse, and the operation consumes exactly one history step. The direction-reversal side effect is exactly the kind of trait an agent cannot get from the annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences with the core action front-loaded and the differentiation and caveats following in priority order. No filler, though the 'unlike degree elevation or subdivision' clause spends a full sentence on negation rather than adding forward guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a destructive curve-geometry mutation, the description supplies the missing safety-relevant context (parameter direction reversal, single history step, post-op verification). The main gap is undeclared semantics for revision and intent, but overall it is complete enough to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 maps 'one or more current Wire bodies' to ids and 'explicit world-space plane' to the originMm/normal pair, but never clarifies the revision token or the optional intent field, leaving two of five parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource ('orthogonally project one or more current Wire bodies onto an explicit world-space plane'), naming both the target and the destination construct. It further distinguishes itself from degree elevation and subdivision, so an agent can tell what class of operation this is 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives post-operation guidance ('Verify planarity, endpoints, direction... afterward') but never states when to choose this over the many related siblings such as plasticity_offset_planar_curves, plasticity_project_curves_onto_body, or plasticity_reverse_curves. Usage is implied rather than scoped.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_plan_cohesive_layer_planesARead-only
Generate ordered cohesive split planes from the selected exact slicer profile hash, its layer height, the caller-supplied first interlayer plane anchor in current CAD millimeters, and a confirmed global print build direction. The profile hash, layer height, layer count, build direction and anchor are caller-supplied; this helper does not fetch or authenticate a Workbench job, read CAD placement, or prove the anchor lies on the Solid. For a completed Workbench slice, call workbench_slicer_interface_heights with every selected interfaceLayerIndex; copy each returned relativeOffsetMm into interfaceOffsetsMm in the same order. You may also pass the complete selected response metadata and interfaces as depositionPathEvidence; the planner checks job/profile/G-code hashes, selected layers, layer count and relative offsets, then preserves each road-direction summary in the analysis record as provenance. To receive candidate material frames for every deposited layer, call workbench_slicer_layer_path_orientations in batches of up to 32 and combine the selected results, including the final layer, as layerPathEvidence with matching job/profile/source/G-code hashes. For solver-mapped frames, retrieve complete coverage evidence (linear moves and XY G2/G3 circular arcs using I/J offsets or signed R radius; up to 256 layers), provide user-confirmed pathFrameMapping.slicerXDirectionGlobal, and explicitly confirm with roadAxisMapping that the exact-process coupon axis 1 represents the dominant deposited-road direction. P multi-turn arcs, malformed or mixed I/J-and-R arcs, non-XY arc planes, absolute I/J center mode, and G5/G5.1 splines or G5.2/G5.3 NURBS blocks remain partial and cannot qualify this solver mapping. The cohesive analysis additionally requires useOrthotropicBulkProperties and the measured single-material tensor. It then applies that one shared tensor with a per-layer local frame in both Mode-I and Turon; it does not create multiple materials or layer-varying property values. Without roadAxisMapping, returned frames remain candidates and do not affect solver input. The same measured, direction-independent cohesive law is repeated at each interface; individual roads, within-layer raster mixtures and direction-dependent adhesion are not modeled. Interface and per-layer evidence, when both supplied, must refer to the same job and artifacts. These relative offsets are in the slicer's build frame; map only their distances onto the confirmed CAD build axis, and do not assume that absolute slicer coordinates equal CAD coordinates. Before cohesive analysis, record both the immutable Workbench profile hash and its layerHeightMm in the measured interface-test process; the analysis rejects absent or mismatched layer heights. Exact plane intersections are checked only when meshing succeeds. A complete stack up to 255 interfaces is fully analyzed; larger stacks may select up to 255 explicitly chosen interfaces and are marked incomplete. Omitted interfaces are not analyzed and no full-stack delamination conclusion is valid. Pass the returned plan as layerPlanePlan and the returned planes as splitPlanes to plasticity_analyze_cohesive_interface; that tool checks the profile hash and layer height against the measured test record and, for orthotropic bulk, checks the direction against the exact coupon frame.
| Name | Required | Description | Default |
|---|---|---|---|
| layerHeightMm | Yes | ||
| roadAxisMapping | No | ||
| totalLayerCount | Yes | ||
| pathFrameMapping | No | ||
| layerPathEvidence | No | ||
| interfaceOffsetsMm | No | ||
| processProfileHash | Yes | ||
| buildDirectionGlobal | Yes | ||
| firstInterfacePointMm | Yes | ||
| interfaceLayerIndices | Yes | ||
| depositionPathEvidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/destructive annotations, it discloses that the helper does not fetch/authenticate a Workbench job, does not read CAD placement, and does not prove the anchor lies on the Solid; that a single shared tensor is applied per-layer rather than layer-varying materials; that stacks >255 interfaces are marked incomplete; and that omitted interfaces are never analyzed. This is substantial behavioral context the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, and given the 11-param nested schema much of the content earns its place. However it is a single dense prose block with no sectioning, mixing purpose, prerequisites, evidence-gathering, and failure modes, which makes it harder to scan than the complexity alone requires.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by explaining that the returned plan (layerPlanePlan) and planes (splitPlanes) are consumed by plasticity_analyze_cohesive_interface and what that tool verifies. It covers prerequisites, evidence contracts, and limitations thoroughly; only the exact returned structure/limits remain implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the semantics, and it does explain most parameters: the role of profile hash/layer height/layer count/build direction/anchor, how interfaceOffsetsMm must be copied in order, and the meaning and requirements of depositionPathEvidence, layerPathEvidence, pathFrameMapping and roadAxisMapping. It stops short of documenting format/constraints for a few inputs (e.g. the strict build-direction vector, interfaceLayerIndices bounds), so it is strong but not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb (Generate) and resource (ordered cohesive split planes) and enumerates the exact driving inputs (slicer profile hash, layer height, first interlayer plane anchor in CAD mm, build direction). It distinguishes itself from siblings by naming the downstream consumer plasticity_analyze_cohesive_interface and the upstream evidence tools, so an agent can place it in the workflow 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states explicitly when to call it (before cohesive analysis, with a Workbench slice), the prerequisites (record profile hash and layerHeightMm in the measured test first, same job/artifacts for combined evidence), and the alternative evidence paths (workbench_slicer_interface_heights for offsets, workbench_slicer_layer_path_orientations for frames). It also names what cannot qualify the solver mapping (P multi-turn arcs, G5 splines, etc.).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_plan_single_material_strength_testsARead-only
Plan physical measurements for one selected single-material print process and solver scope; no multi-material calculation is supported. Returns required directional coupon, biaxial or same-material layer-interface evidence without inventing property values, material properties or allowables. For DCB it includes a clearly labeled generic-PLA literature geometry/acquisition precedent, not a Creality property, normative specimen size, or sample-count requirement; applicability and specimen sizing must be checked for the exact process and fixture. A focused layer-interface-normal-tension scope plans only a direct peak-strength test; it does not replace Mode-I DCB fracture evidence or calibrate a cohesive law. A focused Mode-II scope plans an ENF compliance-calibration initiation-energy estimate only; it does not claim ASTM D7905 conformity for printed PLA or provide a cohesive input curve. Coupon records require measured E1; ask for other properties only when the selected solver scope needs them. Layer-interface tests concern cohesion between layers of that same material. Initial cohesive stiffness K is MPa/mm evidence supplied directly to plasticity_analyze_cohesive_interface, not stored in the MPa interface-peak registry. Requires exact printer/material/profile/orientation/infill-percentage-and-pattern/wall-loops/top-and-bottom-shell-layers/nozzle-temperature/measured-layer-height identity; print-axis mapping and interface directions must be confirmed.
| Name | Required | Description | Default |
|---|---|---|---|
| scopes | Yes | ||
| process | Yes | ||
| interfaceNormalGlobal | No | ||
| interfaceShearDirectionGlobal | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/non-destructive/closed-world annotations, the description discloses substantial behavioral nuance: no property values or allowables are invented, the DCB entry is a generic-PLA literature precedent rather than a Creality property or normative specimen size, Mode-I fracture and cohesive-law calibration are explicitly out of scope, and K stiffness is routed to a different tool rather than stored in the interface-peak registry. This is unusually rich disclosure for a planning tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but the body is a single very long, caveat-dense block with multiple semicolon-chained clauses that are hard to parse. Most content is substantive rather than filler, but the density hurts scannability and there is mild redundancy across the DCB/Mode-I/Mode-II caveats.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a nested process object at 0% schema coverage, the description does the heavy lifting on scope semantics, exclusions, and required identity fields, and annotations cover the safety profile. It is close to complete for planning purposes, though it never describes the structure of what the plan returns (coupon list, sizing output), which would help an agent consume the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the process object is nested, so the description must carry the load. It enumerates the required identity fields (printer/material/profile/orientation/infill percentage and pattern/wall loops/top and bottom shell layers/nozzle temperature/measured layer height) and notes that print-axis mapping and interface directions must be confirmed, mapping onto interfaceNormalGlobal/interfaceShearDirectionGlobal. It adds genuine meaning, though the reference to 'measured E1' and MPa/mm units introduces terminology not directly tied to the schema properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb+resource ('Plan physical measurements for one selected single-material print process and solver scope') and explicitly excludes multi-material calculation, which distinguishes it from sibling analysis/verify tools. It is clear about what it produces (directional coupon, biaxial, or layer-interface evidence) without inventing values. The purpose is somewhat buried under a dense wall of caveats, keeping it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives real when-to-use guidance per scope: a layer-interface-normal-tension scope plans only a direct peak-strength test, a Mode-II scope yields an ENF compliance-calibration estimate only, and it states when to request additional properties ('only when the selected solver scope needs them'). It names the related destination for K evidence (plasticity_analyze_cohesive_interface), but does not broadly route the agent among sibling planning/recording tools, so it stops short of explicit alternatives for the primary workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_project_curve_pairADestructive
Create an independent 3D Wire by intersecting the bidirectional extrusion surfaces of two distinct native Wire bodies. Supply one explicit world-space projection direction for each source and a depth in millimeters large enough for both temporary surfaces to overlap. Source curves are preserved and the operation occupies one Plasticity history step.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| firstId | Yes | ||
| revision | Yes | ||
| secondId | Yes | ||
| firstDirection | Yes | ||
| secondDirection | Yes | ||
| projectionDepthMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already flagging readOnlyHint=false and destructiveHint=true, the description adds meaningful context beyond them: 'Source curves are preserved' clarifies the operation is non-destructive to inputs, and 'occupies one Plasticity history step' discloses undo granularity. Minor tension with destructiveHint=true (the tool mutates document state even if sources survive), but not a contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no filler, front-loaded with the resulting entity and mechanism before the operational detail. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and only hint-level annotations, the description covers result type, mechanism, prerequisites, and history behavior well. It stops short of documenting the required 'revision' string or return value, a small gap given 0% schema description coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there are 7 params, so the description carries the burden and largely does: firstId/secondId are the two source Wire bodies, firstDirection/secondDirection are per-source world-space projection vectors, and projectionDepthMm is the overlap depth in millimeters. Only 'revision' and 'intent' go unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource: 'Create an independent 3D Wire by intersecting the bidirectional extrusion surfaces of two distinct native Wire bodies.' This distinguishes it from siblings such as plasticity_create_body_intersection_curves and plasticity_project_curves_onto_body, which the word 'Wire' output makes explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational constraints (one world-space direction per source, a depth large enough for the temporary surfaces to overlap), which implies when the tool applies. But it never names an alternative sibling or says when NOT to use this versus projection or intersection-curve tools, so routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_project_curves_onto_bodyCDestructive
Project native Wire bodies onto a surface body along an explicit world-space vector while preserving the source curves.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| occlude | No | ||
| curveIds | Yes | ||
| revision | Yes | ||
| targetId | Yes | ||
| direction | Yes | ||
| completion | No | none | |
| bidirectional | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so the mutation/closed-world profile is covered. The description adds one genuinely useful behavioral fact beyond that: the source curves are preserved (non-destructive to inputs). It does not disclose whether the target surface body is modified or what the direction/occlude semantics do.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, stating the action, the vector constraint, and the source-preservation guarantee. Nothing is wasted, though it is arguably under-specified for the tool's parameter count.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 8-parameter tool with no output schema and 0% schema coverage, the description covers only a fraction of what an agent needs: the five undocumented parameters and the effect on the target surface are left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must carry the load. It only clarifies the semantics of 'direction' (world-space vector), 'curveIds' (source curves) and 'targetId' (surface body); occlude, completion, bidirectional, revision, and intent are undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('project'), a resource ('native Wire bodies'), and a destination ('onto a surface body'), plus two distinguishing qualifiers: 'along an explicit world-space vector' and 'while preserving the source curves'. An agent can distinguish it from nearby siblings like project_curve_pair and imprint_curves_on_body, though it never names them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as imprint_curves_on_body or project_curve_pair that project curves onto bodies. The usage is only implied by the verb, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_radial_face_patternADestructive
Repeat one exact connected feature-face set on the same Solid or Sheet around a world-space axis in a native radial array. Count includes the source feature and sweep is in degrees. Re-read all topology and validate the result because Plasticity must recognize the selected faces as a repeatable feature.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| count | Yes | ||
| faces | Yes | ||
| intent | No | ||
| centerMm | Yes | ||
| revision | Yes | ||
| sweepDegrees | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the destructive/write profile, and the description adds real value beyond them: 'Count includes the source feature', 'sweep is in degrees', and the operational warning that Plasticity must recognize the faces as a repeatable feature and that topology must be re-read and validated. It does not explain failure/rollback behavior, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the operation and scope, then the counting/units clarification, then the validation requirement. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 7-parameter tool with 0% schema coverage and no output schema, the description covers the critical semantics (count, sweep units, face-set requirement, topology re-read) but leaves centerMm, revision, and intent undefined, which an agent could mis-set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does partially compensate: it clarifies count (inclusive of source, min 2 implied), sweepDegrees (degrees), faces (connected feature-face set), and axis (world-space). It says nothing about centerMm, revision, or intent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope: 'Repeat one exact connected feature-face set ... around a world-space axis in a native radial array'. This distinguishes it from plasticity_radial_pattern (body-level) and plasticity_rectangular_face_pattern by naming the face-set input and the radial axis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description (this is the radial-array version operating on face sets), but it never names an alternative or states when-not-to-use it versus plasticity_radial_pattern or plasticity_rectangular_face_pattern. No prerequisites for face selection are given beyond the closing warning.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_radial_patternCDestructive
Create a native radial body pattern around a world-space axis.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| axis | Yes | ||
| count | Yes | ||
| intent | No | ||
| centerMm | Yes | ||
| revision | Yes | ||
| sweepDegrees | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, so the mutation risk is conveyed structurally. The description adds nothing beyond that: it never says whether the source bodies are consumed or retained, that a revision token is needed for optimistic concurrency, or what happens when the requested count conflicts with existing geometry. With no annotations covering those specifics, this is a real gap for a destructive modeling operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight, front-loaded sentence with zero filler. It is efficient, though its brevity is also the source of the definition's gaps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, 5-required geometry-mutating tool with no output schema and 0% schema coverage, a single sentence is not enough. The agent lacks enough information to call this correctly on the first attempt.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate and largely does not. The only semantic contribution is that 'axis' is world-space rather than local, which is genuinely useful. Nothing is said about ids, count, centerMm, sweepDegrees, or the required revision token.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a native radial body pattern') plus the axis scope, which distinguishes it from the face-oriented sibling plasticity_radial_face_pattern and from rectangular/curve patterns. It does not name those siblings explicitly, so differentiation requires the agent to infer it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the closely related alternatives (plasticity_radial_face_pattern, plasticity_rectangular_pattern, plasticity_curve_pattern). The agent must guess from the name alone which patterning tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_raise_curve_degreeADestructive
Raise the native degree of every B-Spline segment in one or more current Wire bodies by one while preserving its shape. This adds edit freedom without adding shape detail. Inspect native curve structure before and after; each call occupies one Plasticity history step.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-readOnly and destructiveHint=true, and the description adds genuinely new context: shape is preserved, but each call consumes one Plasticity history step, which matters for undo/history management. It does not explain what specifically is destroyed/altered in the control-point structure, keeping it short of a 5, but it does not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the operation and scope, followed by purpose and history-step caveat. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should cover return/effect semantics, and it partially does (shape preserved, history step consumed, inspect before/after). But the unexplained required 'revision' parameter and the unaddressed 'intent' parameter leave the caller guessing on a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden. It only loosely implies that ids are the Wire bodies to operate on and says nothing about 'revision' (a required string, likely a concurrency token) or 'intent', leaving two of three parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource: raising the native degree of every B-Spline segment in Wire bodies by one, with the shape-preservation qualifier. This cleanly distinguishes it from the sibling plasticity_raise_surface_degree (surfaces vs. wire curves).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the use case ('adds edit freedom without adding shape detail') and suggests inspecting curve structure before and after, which effectively points at plasticity_inspect_curve_structure. However, it never states when to choose this over degree-raising surfaces or rebuilding curves, and gives no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_raise_surface_degreeADestructive
Raise the U and V degree of every selected current native B-Surface face by one Plasticity step in one history entry. Plasticity 26.1.3 may also change span/control-point counts and exact geometry; inspect the surface structure, bounds, topology, and functional dimensions before and after instead of assuming shape preservation.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a non-read-only, destructive operation, so the bar for additional disclosure is lower. The description adds valuable specifics: it raises UV degree by one Plasticity step, records the action in one history entry, and warns that span/control-point counts and exact geometry may change. This meaningfully enriches the safety and behavior model beyond structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the action front-loaded and the geometry caveat immediately after. Every sentence contributes useful information, and there is no redundant restatement of the name or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations cover the safety profile, and no output schema exists, so the description need not explain return values. However, with 0% schema coverage for three parameters, it should explain revision and intent usage and selection prerequisites more fully. The geometry-change warning is useful, but the definition remains incomplete for a mutation tool with undocumented parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It only implies that faces must be selected native B-Surface faces; it does not explain the required faces array structure, the required revision token, or the optional intent string. Most parameter semantics are therefore left undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Raise the U and V degree of every selected current native B-Surface face by one Plasticity step in one history entry.' This distinguishes it from curve-degree siblings such as plasticity_raise_curve_degree. An agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not say when to choose this tool over alternatives such as plasticity_rebuild_face, plasticity_insert_isoparam_edges, or plasticity_raise_curve_degree. It offers only a verification caution: inspect before and after instead of assuming shape preservation. That is a usage instruction, but not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_read_dcb_mode_i_energy_testARead-only
Read one content-addressed physical DCB Mode-I energy record, including the retained source locators and derived MBT G_I versus crack-length results. This is not a traction-separation law or cohesive FEA input.
| Name | Required | Description | Default |
|---|---|---|---|
| recordId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful context beyond annotations by stating that the record is content-addressed, includes retained source locators, returns derived MBT G_I versus crack-length results, and is not a TSL or cohesive FEA input. It does not cover error behavior, but with annotations this is a strong addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary read action and returned content. The second sentence is a targeted exclusion that earns its place given the many cohesive/FEA-related sibling tools, and there is no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully summarizes what the record contains, and annotations cover safety. It omits how recordId should be discovered and does not route to sibling tools like list_dcb_mode_i_energy_tests, but for a safe read-one tool with a strict schema pattern the core invocation context is mostly present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries more burden for parameter meaning. The phrase 'content-addressed' hints that recordId is an intrinsic content hash rather than an arbitrary ID, but the description does not explain how to obtain the value or confirm its 64-character hex format. The schema pattern supplies format, leaving partial semantic coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Read'), a precise resource ('one content-addressed physical DCB Mode-I energy record'), and the scope of returned data ('retained source locators and derived MBT G_I versus crack-length results'). It also explicitly distinguishes the tool from cohesive FEA inputs, so an agent can identify what this tool is and is not 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a negative usage boundary ('not a traction-separation law or cohesive FEA input'), which helps avoid misuse. However, it does not mention when to use this tool versus siblings such as list_dcb_mode_i_energy_tests or where to obtain the required recordId, leaving procedural usage implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_read_enf_mode_ii_energy_testARead-only
Read one immutable physical ENF Mode-II energy record including all compliance calibration runs, fracture inputs, source provenance, fit diagnostics, and the server-recomputed initiation-energy result. It is not a traction-separation law or cohesive FEA input.
| Name | Required | Description | Default |
|---|---|---|---|
| recordId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuine behavior beyond that: the record is immutable, the initiation-energy result is server-recomputed, and the payload bundles calibration runs, fracture inputs and fit diagnostics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no padding, with the core action and scope front-loaded and the disambiguating 'not a ...' clause last where it belongs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates what the read returns and flags immutability, which is the right burden to carry. The only notable gap is how an agent should source the recordId, which is left entirely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter, and the description says nothing about recordId, its 64-hex format, or how to obtain one. The agent must fall back entirely on the schema's regex pattern, so the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (one immutable physical ENF Mode-II energy record), and goes further to enumerate exactly what the record contains (calibration runs, fracture inputs, provenance, fit diagnostics, recomputed initiation energy). The closing contrast with a traction-separation law / cohesive FEA input sharply distinguishes it from nearby analysis siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by 'Read one ... record'. The negative clause rules out a different artifact type, not a competing sibling, so nothing routes the agent between this and plasticity_list_enf_mode_ii_energy_tests, plasticity_record_enf_mode_ii_energy_test, or plasticity_calculate_enf_mode_ii_energy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_read_mmb_mode_i_ii_energy_testARead-only
Read one immutable physical MMB energy record including measured geometry, initiation criterion/force, source evidence, material-axis mapping, moduli, and the server-recomputed exploratory Mode-I/Mode-II partition. It is not a traction-separation law or cohesive-FEA input.
| Name | Required | Description | Default |
|---|---|---|---|
| recordId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint/non-destructive, so the bar is lower, and the description still adds real context: the record is immutable and the Mode-I/II partition is 'server-recomputed exploratory' rather than raw input. That characterization of provenance and derived-vs-measured data goes beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and resource, followed by a scoping disclaimer. No filler, though the field enumeration is dense and slightly long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned content (geometry, criterion, source evidence, moduli, partition), which is what an agent needs to know what it will get. The only gap is the untouched recordId parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single recordId parameter is never mentioned in the description beyond the generic 'read one ... record'. The schema pattern (64-hex) is not explained, and the description gives no hint about format or where IDs are obtained. With one undocumented param it should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (one immutable physical MMB energy record), then enumerates the content (geometry, initiation criterion/force, material-axis mapping, moduli, Mode-I/II partition). It implicitly separates itself from the compute/import siblings, though it does not name them directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied — a single-record fetch by recordId — and the closing 'It is not a traction-separation law or cohesive-FEA input' sets a boundary. But it never says when to prefer this over list_mmb_mode_i_ii_energy_tests, match_mmb_mode_i_ii_energy_test, or calculate_mmb_mode_i_ii_energy, nor where the recordId comes from.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_realize_instancesADestructive
Convert current linked instances into independent native Plasticity bodies. Use this before an instance needs geometry edits, Boolean operations, or independent fabrication changes.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a mutating, destructive operation. The description adds that the operation breaks the linked relationship and yields independent bodies, which is useful context. However it does not state whether the link is recoverable, whether the original instances survive, or what the revision parameter enforces, leaving meaningful behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the core action front-loaded and the usage condition following. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so return values need not be described, and annotations cover the safety profile. But for a destructive 3-parameter mutation with 0% schema coverage, the definition omits any parameter meaning and any statement about reversibility or scope limits, leaving it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for all three parameters, so the description carries the full burden and fails to mention any of them. The 'ids' target set, the 'intent' string, and especially the required 'revision' parameter (likely optimistic-concurrency control) are left entirely unexplained, which is a real gap for a destructive mutation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Convert') and the exact transformation ('linked instances into independent native Plasticity bodies'). An agent can distinguish this from siblings like plasticity_create_instance or plasticity_duplicate_bodies because the operation is a link-breaking realization, not a creation or copy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives a concrete trigger: use it before geometry edits, Boolean operations, or independent fabrication changes. This is actionable sequencing guidance. It stops short of naming an alternative tool or stating when the tool should NOT be used, so it does not reach the top of the scale.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_rebuild_curvesADestructive
Rebuild current native Wire bodies in one Plasticity history step. tolerance asks Plasticity to fit within an explicit millimeter target; control-points sets the native control-point count; degree-spans sets exact NURBS degree and span count. Read plasticity_inspect_curve_structure before and after, and measure geometric drift because a requested fit setting is not independent proof of deviation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is known. The description adds genuinely useful behavioral context beyond that: the change is confined to a single history step (hinting at undoability), and it warns that a requested fit setting is not proof of geometric deviation, nudging the agent toward verification.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences that lead with the action and scope, then define the fit modes, then give the verification caveat. No filler, though the final clause ('not independent proof of deviation') is slightly abstract for an instructional line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, parameterless rebuild with no output schema, the description covers the action, the mode semantics, and the recommended pre/post verification. The only gap is that the named fit options do not appear in the schema, which could confuse how they are passed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero schema properties the baseline is 4, and the description does explain what each fit option means (tolerance = explicit millimeter target, control-points = native control-point count, degree-spans = exact NURBS degree and span count). However, those names appear nowhere in the empty input schema, leaving ambiguity about how they are actually supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Rebuild current native Wire bodies') plus scope ('in one Plasticity history step'), and enumerates the three fit modes so an agent understands exactly what the operation alters. It does not explicitly contrast with near neighbors like plasticity_rebuild_face or plasticity_raise_curve_degree, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It prescribes a concrete workflow: read plasticity_inspect_curve_structure before and after, and measure geometric drift. That tells the agent the surrounding procedure, though it never states when this tool should be chosen over alternatives such as degree/spans edits or face rebuilds.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_rebuild_faceADestructive
Refit one exact current Solid or Sheet face as a native B-Surface with projected boundary edges. The positive millimeter tolerance is an approximation setting, not a measured deviation bound. Plasticity rebuilds the owning body in one history step and invalidates every prior topology reference; re-read dimensions, surface structure, continuity, mass properties, and native validity afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| face | Yes | ||
| intent | No | ||
| revision | Yes | ||
| toleranceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, but the description adds substantial context beyond them: the rebuild happens in one history step, it invalidates every prior topology reference, and it instructs re-reading dimensions, surface structure, continuity, mass properties, and native validity afterward. This is exactly the 'what gets destroyed and what to do next' disclosure the annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each carrying distinct payload: the operation, the tolerance semantics, and the destructive/verification consequences. No filler, and the operation is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema and 0% schema coverage, the description covers the critical consequences (topology invalidation, re-inspection) and the tolerance caveat. It falls short only on revision/intent parameter meaning and any error or precondition behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains toleranceMm well ('approximation setting, not a measured deviation bound') and the face parameter conceptually, but the intent and revision parameters—revision presumably being an optimistic-concurrency token—go entirely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+result: 'Refit one exact current Solid or Sheet face as a native B-Surface with projected boundary edges.' An agent can distinguish this from sibling surface tools like plasticity_raise_surface_degree or plasticity_untrim_faces without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description constrains usage implicitly ('one exact current face'), which tells the agent it must operate on an existing exact face, but it names no alternatives and gives no explicit when-to-use vs when-to-prefer-a-different-rebuild-tool guidance. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_reconcileARead-only
Read the document after a timeout or disconnect and allow later mutations without retrying the uncertain command.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, so safety is covered. The description adds genuinely non-annotation context about the timeout/disconnect recovery scenario, but the phrase 'allow later mutations' is mildly confusing for a read-only tool and no return behavior is described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence leading with the scenario ('after a timeout or disconnect') and the effect. It is tight, though the trailing clause about not retrying the uncertain command reads slightly awkwardly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description should make the post-call state clear. It explains the scenario but not what 'reading' yields or how the agent should proceed afterward, leaving a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so per the baseline there is nothing for the description to compensate for; schema coverage is 100% on an empty object. No parameter-level ambiguity exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a specific operation: reading the document after a timeout or disconnect to reconcile uncertain state so later mutations can proceed without retrying. It is more than a restatement of the name, though the exact mechanism (what 'reconcile' does beyond reading) stays somewhat abstract.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the triggering condition (after a timeout or disconnect) and the intended effect (later mutations without retrying the uncertain command), which tells an agent when to reach for it. It does not, however, name any alternative recovery approach or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_record_dcb_mode_i_energy_testA
Persist an immutable physical DCB Mode-I energy-release test for one exact single-material process. Requires caller confirmation that all inputs are physical, the observed crack ran on the same-material layer interface, displacement is machine-compliance-corrected load-point displacement, and the test was quasi-static/linear-elastic. Recomputes the exploratory MBT curve server-side; records the protocol hash, date, global interface normal, per-specimen failure location and source evidence. This separate energy registry is not a traction-separation registry and is not read by cohesive FEA; do not use it as peak traction, cohesive stiffness, or a design allowable.
| Name | Required | Description | Default |
|---|---|---|---|
| testedAt | Yes | ||
| specimens | Yes | ||
| testMethod | Yes | ||
| materialProcess | Yes | ||
| testProtocolHash | Yes | ||
| displacementEvidence | Yes | ||
| interfaceNormalGlobal | Yes | ||
| callerConfirmsPhysicalTests | Yes | ||
| linearElasticQuasiStaticEvidence | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare non-read-only, non-destructive, closed-world; the description adds significantly more: the record is immutable, the exploratory MBT curve is recomputed server-side, and specific fields (protocol hash, date, interface normal, failure location, source evidence) are captured. The prohibition against treating it as a design allowable is meaningful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose, then requirements, then behavioral note, then exclusions. Dense but nearly every clause carries distinct information; the precondition list is compact rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-output-schema mutation with nested objects and 9 required params, the description supplies the confirmation contract, immutability, server-side recomputation, and what is stored. It is close to sufficient; only the internal structure of materialProcess and specimens is left to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 required (and deeply nested) parameters, so the description must compensate. It does so for the semantic preconditions—displacementEvidence, linearElasticQuasiStaticEvidence, callerConfirmsPhysicalTests, interfaceNormalGlobal, failureLocation—but adds little for materialProcess and specimen/dataset field structure, which the schema still leaves undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (persist), resource (immutable physical DCB Mode-I energy-release test), and scope (one exact single-material process). It explicitly distinguishes itself from the traction-separation registry and cohesive FEA, so an agent can tell it apart from siblings like record_mmb_mode_i_ii_energy_test or record_enf_mode_ii_energy_test.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists the preconditions the caller must confirm (physical inputs, crack on same-material interface, compliance-corrected displacement, quasi-static/linear-elastic) and names what it must NOT be used for (peak traction, cohesive stiffness, design allowable). When-to-use and when-not-to-use are both present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_record_enf_mode_ii_energy_testA
Persist an immutable caller-confirmed physical ENF Mode-II initiation-energy test for one exact single-material process, interface normal, in-plane shear direction, protocol and date. Requires compliance calibration from the same fixture and source SHA-256/locator for every calibration and fracture input; recomputes the exploratory C-a^3 energy result server-side. This independent Mode-II energy registry is not a traction-separation registry and is not used by cohesive FEA; do not treat G_IIc as a peak shear traction, cohesive stiffness, R-curve or design allowable.
| Name | Required | Description | Default |
|---|---|---|---|
| testedAt | Yes | ||
| specimens | Yes | ||
| testMethod | Yes | ||
| materialProcess | Yes | ||
| testProtocolHash | Yes | ||
| complianceEvidence | Yes | ||
| interfaceNormalGlobal | Yes | ||
| callerConfirmsPhysicalTests | Yes | ||
| interfaceShearDirectionGlobal | Yes | ||
| linearElasticQuasiStaticEvidence | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, and the description adds substantive behavior: immutability of the persisted record, server-side recomputation of the exploratory C-a^3 energy result, and evidence-hashing requirements. It does not detail idempotency, duplicate handling, or error behavior for a non-destructive write, which would be needed for a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences front-load the action and scope before the constraints, and every clause adds a requirement or exclusion. It is information-heavy with long compound clauses, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-required-parameter, deeply nested, no-output-schema tool, the description covers the conceptual requirements but omits how the nested specimen inputs relate to the recomputed result and says nothing about what the call returns or how duplicates are handled. Adequate as a conceptual frame, incomplete as operational guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries full burden; it explains the material/interface/protocol/date identity and the compliance-evidence and source-hash requirements, which maps to several required parameters. However, it leaves specimen geometry (widthMm, armThicknessMm, totalLengthMm), failureLocation enum, and testMethod undocumented, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Persist an immutable caller-confirmed physical ENF Mode-II initiation-energy test,' and scopes it to one exact single-material process/interface/protocol/date. It explicitly distinguishes itself from sibling registries (traction-separation, cohesive FEA) and from peak-traction/cohesive-stiffness/R-curve interpretations of G_IIc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states prerequisites (caller-confirmed physical tests, compliance calibration from the same fixture, source SHA-256/locator for every calibration and fracture input) and clarifies what the tool is not used by (cohesive FEA). It does not explicitly route the agent between this and siblings like plasticity_calculate_enf_mode_ii_energy or plasticity_import_enf_mode_ii_energy_csv, so 'when not to use' is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_record_fastener_group_testA
Store immutable caller-attested physical test results for a multi-hole printed plate with the exact printer/material/profile/orientation, measured specimen dimensions and hole layout, load axis, fastener clearance, clamp condition and fixture configuration. Every peak load must link to measured N evidence and the measured geometry/test report must be traceable. This records observations only: it does not derive design allowables, infer a shared-ligament formula, qualify statistical strength or approve a part. Repeating identical data is idempotent.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| source | Yes | ||
| fixture | Yes | ||
| process | Yes | ||
| evidence | Yes | ||
| geometry | Yes | ||
| outcomes | Yes | ||
| testedAt | Yes | ||
| testReportEvidenceId | Yes | ||
| callerConfirmsPhysicalTests | Yes | ||
| specimenMeasurementEvidenceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a write operation (readOnlyHint=false, non-destructive, closed world), and the description adds non-obvious traits beyond them: records are immutable, repeat submissions are idempotent, evidence traceability is mandatory, and data is 'caller-attested'. It does not say what the call returns or how duplicates/conflicts surface, which keeps it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the action and resource, followed by the traceability requirement and the explicit negative scope. No filler, though the long field enumeration makes the opening sentence heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 11-parameter nested write tool with no output schema, the description supplies scope, evidence-linking obligations, idempotency, and clear exclusions, which is enough for correct invocation. Minor gaps remain around the response and duplicate-handling behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it does map the major required groups (process, geometry, fixture, outcomes, evidence, the two evidence IDs) and states the linking rule that every peak load must reference measured N evidence. It still omits enum meanings and format expectations (e.g., orientation array, mm units) that the bare schema leaves to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Store immutable caller-attested physical test results for a multi-hole printed plate', naming the exact data domain (printer/material/profile/orientation, dimensions, hole layout, load axis, clamp condition, fixture). An agent can distinguish this recording tool from siblings like plasticity_match_fastener_group_test or plasticity_verify_fastener_group_load.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-not guidance: 'it does not derive design allowables, infer a shared-ligament formula, qualify statistical strength or approve a part', which steers the agent away from misusing it as an analysis tool. It does not, however, name the alternative sibling to call for those tasks, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_record_material_coupon_dataA
Store immutable physical coupon data for one exact single-material printer/material/profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers, nozzle temperature, and measured layer height. E1 (youngModulusMPa) with measured evidence is required. Isotropic shear modulus and tensile/shear strengths are optional and must each be paired with evidence; record them only when measured for a selected analysis. Optionally include measured Poisson ratio nu12 with its evidence IDs. Add E2/E3, nu13/nu23, G12/G13/G23 under orthotropicMaterial; its propertyEvidence IDs point to exact measured entries in evidence[]. Include the three global print axes; axis 3 must align with the build direction, and orientation.evidence must be user-confirmed or traceable. An optional tsaiWuCriterion can store nine directly measured directional failure strengths and three derived normalized interaction coefficients from biaxial tests. Each test evidence entry must state testAxis and testMode in the confirmed material frame (X/Y/Z tension or compression, XY/XZ/YZ shear, and corresponding-plane biaxial interactions); interaction evidence dependencies must carry the same biaxial plane. These attestations are stored with each exact evidence entry and the process in the immutable record hash. This model uses one material per part; it does not model multi-material prints. These un-factored strengths are not design allowables or proof of part strength.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| source | Yes | ||
| process | Yes | ||
| evidence | Yes | ||
| testedAt | Yes | ||
| properties | Yes | ||
| poissonRatio | No | ||
| testStandard | Yes | ||
| specimenCount | Yes | ||
| propertyEvidence | Yes | ||
| orthotropicMaterial | No | ||
| poissonRatioEvidence | No | ||
| composedFromRecordIds | No | ||
| callerConfirmsPhysicalTests | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare write/non-destructive/non-open, so the description carries real load and delivers: immutability, that attestations are folded into the immutable record hash, and the required-vs-optional evidence pairing. It does not, however, state the authorization needed or the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, which is good, but the body is dense and runs to many long clauses covering edge cases. Each sentence is informative, but the volume makes it harder to scan than necessary for a 14-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a highly nested, no-output-schema, 9-required-parameter write tool with no annotation detail, the description supplies substantial domain context (immutability, evidence dependencies, frame/axis constraints, single-material limit, non-allowable caveat). A few required and optional parameters remain undocumented, keeping it short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it explains the required/optional status of E1 vs shear/tensile strengths, the propertyEvidence pairing rule, orthotropicMaterial contents, orthogonal axis alignment, testAxis/testMode semantics, and Tsai-Wu interactions. It still leaves several parameters (testStandard, specimenCount, testedAt, source, callerConfirmsPhysicalTests, composedFromRecordIds) unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Store) and a precise resource (immutable physical coupon data) scoped to a single-material printer/material/profile hash. The carve-outs ('one material per part; it does not model multi-material prints') implicitly distinguish it from siblings like combine_material_coupon_data and match_material_coupon_data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives conditional recording rules ('record them only when measured for a selected analysis') and pairing requirements, which is genuine usage guidance. However, it never explicitly names an alternative tool (combine/match/list) or states when to choose this tool over them, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_record_material_interface_testA
Store an immutable caller-attested physical test of a printed layer interface for one material and one exact print process shared by both sides. Supply one materialProcess with printer/material/profile/orientation/infill percentage and pattern/wall-loop/top-bottom-shell/nozzle-temperature/measured-layer-height identity, the global interface normal, test mode, load direction and a hashed specimen/fixture protocol. For a direct peak-strength series, attach one specimenResults entry per physical sample with measured peak force, net cross-section, individual failure location and traceable source; the selected representativeSpecimenId must match measuredPeakStrengthMPa and its evidence. Use plasticity_calculate_interface_specimen_strengths to derive nominal N/mm² = MPa values and descriptive sample statistics. A direct-strength record without a traction-separation curve must include these raw specimen results. For a curve-based fracture test, explicitly set fractureMethod to dcb-mode-i, enf-mode-ii or mmb-mixed-mode; loading direction and a free-text testMethod do not establish the fracture method. DCB requires normal-tension loading and a scalar curve, ENF requires interface-shear loading and a scalar curve, and MMB requires mixed-mode loading and a vector curve. When available, attach depositionPathEvidence from the actual sliced specimen G-code with matching profile, source/G-code hashes, per-layer road direction summaries and user-confirmed slicer-to-global axes; this is provenance only and is not converted into adhesion strength. Normal-tension loads must align with the interface normal; interface-shear loads must lie in its plane; mixed-mode loads must contain both components. Curves require source SHA-256 and locator, begin at zero, end at zero traction, and match the evidenced measured peak. This stores test evidence only: it does not derive design allowables or approve a design. Repeating identical data is idempotent.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| source | Yes | ||
| evidence | Yes | ||
| testMode | Yes | ||
| testedAt | Yes | ||
| testMethod | Yes | ||
| specimenCount | Yes | ||
| fractureMethod | No | ||
| failureLocation | Yes | ||
| materialProcess | Yes | ||
| specimenResults | No | ||
| testProtocolHash | Yes | ||
| fixtureDescription | Yes | ||
| loadDirectionGlobal | Yes | ||
| specimenDescription | Yes | ||
| interfaceNormalGlobal | Yes | ||
| depositionPathEvidence | No | ||
| measuredPeakStrengthMPa | Yes | ||
| tractionSeparationCurve | No | ||
| representativeSpecimenId | No | ||
| callerConfirmsPhysicalTests | Yes | ||
| mixedModeTractionSeparationCurve | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only marking it non-read-only/non-destructive, the description carries real behavioral weight: immutability, idempotency on repeated identical data, the callerConfirmsPhysicalTests attestation, validation rules (curves begin at zero, end at zero traction, match the evidenced peak), load-alignment constraints, and that depositionPathEvidence is provenance only and never converted to strength. These are traits annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and nearly every sentence encodes a distinct required rule, so the length is justified by the tool's complexity with almost no filler. It is delivered as one dense block with long multi-clause sentences, which hampers scannability of the conditional branches and constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 22-parameter, nested-object, mutation-style tool with no output schema and no schema descriptions, the description supplies the domain rules an agent needs (fracture-method-to-loading-to-curve-type mapping, curve endpoint and peak-matching requirements, provenance-only status of deposition path evidence, idempotency). It omits any indication of what is returned on success and leaves the evidence-array and hash/protocol parameters unelaborated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 22 parameters, so the description must compensate, and it explains the identity fields of materialProcess (printer/material/profile/orientation/infill percentage/pattern/wall-loop/top-bottom-shell/nozzle-temperature/layer-height), the global normal and load direction, fractureMethod enum values, the per-specimen fields, the representativeSpecimenId-to-peak match, and the depositionPathEvidence contents. Several parameters (testProtocolHash, the evidence array, notes, testedAt, source, specimenCount, callerConfirmsPhysicalTests) are left unexplained, so it does not fully close the zero-coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a precise verb (Store) and resource (an immutable caller-attested physical test of a printed layer interface) with explicit scope ('one material and one exact print process shared by both sides'). It also draws a boundary against the sibling plasticity_calculate_interface_specimen_strengths and against designing/approving, so an agent can place it among record/match/list/analyze siblings without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear conditional routing: 'For a direct peak-strength series... attach one specimenResults entry', 'For a curve-based fracture test, explicitly set fractureMethod', and 'A direct-strength record without a traction-separation curve must include these raw specimen results,' plus a pointer to plasticity_calculate_interface_specimen_strengths for derivation. It stops short of naming the retrieval/analysis siblings (match/list/analyze) as alternatives or stating when NOT to record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_record_mmb_mode_i_ii_energy_testA
Persist an immutable caller-confirmed physical MMB initiation-energy partition for one exact single-material process, interface normal, in-plane shear axis, protocol and date. Requires traceable source evidence for the manually selected initiation force, specimen geometry, same-process flexural/orthotropic moduli and confirmed material axes, plus explicit observed failure location and initiation criterion. The server recomputes the exploratory Reeder-Crews estimate. This separate MMB energy registry is not a traction-separation registry or cohesive-FEA input; a calculated energy partition is not a cohesive law, peak traction, or design allowable.
| Name | Required | Description | Default |
|---|---|---|---|
| testedAt | Yes | ||
| specimens | Yes | ||
| testMethod | Yes | ||
| leverWeight | Yes | ||
| flexuralModulus | Yes | ||
| materialProcess | Yes | ||
| testProtocolHash | Yes | ||
| orthotropicModuli | Yes | ||
| axesMappingConfirmed | Yes | ||
| interfaceNormalGlobal | Yes | ||
| callerConfirmsPhysicalTests | Yes | ||
| interfaceShearDirectionGlobal | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only state readOnly=false, destructive=false, openWorld=false. The description adds real behavioral context: the record is immutable, requires caller confirmation of physical tests, requires traceable source hashes/locators, and the server recomputes the exploratory Reeder-Crews estimate. It also clarifies what the stored value is NOT (cohesive law, peak traction, design allowable).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, front-loaded with the persist action, then requirements, then server behavior, then exclusions. Each sentence carries distinct information, though it is somewhat verbose and packed with domain jargon that could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation-style record tool with no output schema and 12 fully undescribed required params, the description supplies the preconditions, source-evidence requirements, server-side recomputation, and scope exclusions. Remaining gaps (what is returned on success, uniqueness/idempotence behavior of "immutable") are minor but present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 12 required params, so the description must carry the load. It conceptually maps most inputs: manually selected initiation force, specimen geometry, same-process flexural/orthotropic moduli, confirmed material axes, interface normal, in-plane shear axis, protocol, date, material process, observed failure location and initiation criterion. It does not explain the const sentinel fields or the enum vocabularies, leaving some schema-only detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ("Persist") and a precise resource ("immutable caller-confirmed physical MMB initiation-energy partition"), which distinguishes it from the calculate/import/read/list siblings in the same family. It also bounds the resource to one exact material process, interface normal, shear axis, protocol and date.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for use: caller-confirmed physical tests, traceable source evidence, and an explicit exclusion ("not a traction-separation registry or cohesive-FEA input"). It stops short of naming the alternative tools (e.g. the calculate or import siblings) so an agent must infer which path applies when only computed or imported data exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_record_printed_thread_qualificationA
Persist an immutable physically tested rounded-print-v1 thread fit for one exact printer, material, slicer profile, nozzle, layer height, orientation, and thread definition. Requires explicit confirmation that a real specimen completed full-travel testing; geometric interference checks alone are not accepted. Repeating the same record is idempotent.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| source | Yes | ||
| thread | Yes | ||
| process | Yes | ||
| fitClass | Yes | ||
| testedAt | Yes | ||
| testLoadN | No | ||
| cyclesCompleted | Yes | ||
| selectedSampleId | Yes | ||
| testTemperatureC | No | ||
| profileClearanceMm | Yes | ||
| confirmedPhysicalTest | Yes | ||
| testedEngagementLengthMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-destructive, closed-world. The description goes beyond them by disclosing two behavioral traits: records are immutable and repeated submissions are idempotent. It does not say what happens on a conflicting re-submission with differing field values, which is the remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and identity tuple, each sentence contributing distinct information (identity, precondition, idempotency). Minor verbosity in the enumerated dimension list, but nothing fatuous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter nested persistence tool with no output schema, the description covers what is stored, the gating requirement, and idempotency. It omits the meaning of several required numeric/enum fields and any mention of validation or rejection behavior, but the core call conditions are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 13 parameters (10 required, nested process/thread objects), so the description must carry meaning. It does map the identity tuple (printer, material, slicer profile, nozzle, layer height, orientation, thread definition) and implies confirmedPhysicalTest must be true, but says nothing about fitClass, cyclesCompleted, testedEngagementLengthMm, testedAt, or source, leaving several required inputs unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Persist an immutable ... record') plus the exact resource (a physically tested rounded-print-v1 thread fit) and enumerates the identity dimensions. It is clearly distinguishable from the read-side siblings plasticity_list_printed_thread_qualifications and plasticity_match_printed_thread_qualification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a real precondition: an explicit confirmation that a real specimen completed full-travel testing, and explicitly excludes geometric interference checks as a substitute. It does not name the sibling tools an agent should use instead for listing/lookup, so it falls 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.
plasticity_rectangular_face_patternADestructive
Repeat one exact connected feature-face set on the same Solid or Sheet in a native rectangular array. Counts include the source feature and spacing is center-to-center in millimeters. Re-read all topology and validate the result because Plasticity must recognize the selected faces as a repeatable feature.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| count1 | Yes | ||
| count2 | No | ||
| intent | No | ||
| revision | Yes | ||
| direction1 | Yes | ||
| direction2 | No | ||
| spacing1Mm | Yes | ||
| spacing2Mm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, so the mutation profile is covered. The description adds non-obvious behavior: counts include the source feature, spacing is center-to-center in millimeters, and the result must be re-read and validated because face recognition of the repeatable feature is required. This is substantive context beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action, followed by semantics and validation guidance. No filler, though the validation clause could be slightly more specific about what to re-read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, 9-parameter, no-output-schema tool, the description covers the essential creation semantics and the validation requirement, but says nothing about return values, failure modes, or the array-direction parameters. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, so the description carries the full burden. It clarifies only count (includes source), spacing units (center-to-center mm), and what 'faces' should contain; direction1/direction2 vectors, count2, spacing2Mm, revision, and intent are left entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation (repeat a connected feature-face set as a native rectangular array) with the resource and scope spelled out. The 'face' qualifier implicitly separates it from the sibling plasticity_rectangular_pattern and plasticity_radial_face_pattern, but it never explicitly contrasts itself with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a real precondition ('one exact connected feature-face set on the same Solid or Sheet') and a post-condition ('Re-read all topology and validate the result because Plasticity must recognize the selected faces as a repeatable feature'). No explicit when-not or named alternative tool is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_rectangular_patternCDestructive
Create a native rectangular body pattern using counts and center-to-center spacing in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| count1 | Yes | ||
| count2 | No | ||
| intent | No | ||
| revision | Yes | ||
| direction1 | Yes | ||
| direction2 | No | ||
| spacing1Mm | Yes | ||
| spacing2Mm | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the write/destructive nature is covered externally. The description adds only that spacing is in millimeters and that counts drive the pattern, but says nothing about what the operation destroys, whether it copies bodies or modifies originals, or how it interacts with existing geometry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted clauses; the core action leads and unit information is tacked on efficiently. Minor filler in 'native' keeps it short of ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 9-parameter mutation with no output schema and no schema descriptions, the definition is too thin. It omits direction semantics, the role of revision/ids, and any behavioral consequences of the destructive pattern operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, so the description must compensate and largely does not. It only loosely maps to count1/count2 and spacing1Mm/spacing2Mm (clarifying the mm unit), leaving ids, direction1, direction2, intent, and revision entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Create' plus resource 'rectangular body pattern', and it distinguishes itself from the sibling face/radial/curve pattern tools by specifying a 'body' pattern. It is clear what is being produced, though the vague qualifier 'native' adds little.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives like plasticity_radial_pattern, plasticity_curve_pattern, or plasticity_rectangular_face_pattern. The only usage implication is that it needs counts and spacing, which is not a use-case condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_redoBDestructive
Redo the most recent undone document edit.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the mutation profile is covered. The description adds no behavioral context beyond that: it does not say what state is affected, whether the redo stack must be non-empty, or how this interacts with document history. Nothing is contradicted, but little value is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with zero waste; the scope qualifier 'most recent undone' is stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an undocumented required parameter, no output schema, and no annotation coverage of redo-stack semantics, the one-sentence description is not complete enough to call the tool reliably. Failure conditions and the meaning of 'revision' are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for both parameters. The description does not explain the required 'revision' string (a revision identifier? the undone revision?) or the optional 'intent' field, so an agent gains no semantic guidance beyond the bare schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (redo), resource (document edit), and scope (most recent undone). It is clearly distinguishable from its sibling plasticity_undo, though it does not name that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Redo is a well-understood standard operation, so usage is largely implied, but the description offers no explicit condition such as requiring a prior undo, no failure behavior when the undo stack is empty, and no reference to the undo alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_reference_search_statusARead-only
Report whether isolated Codex live web search for product CAD and dimensional references is available. This capability has no CAD, shell, local-file, or MCP access.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false). The description adds the useful boundary that the capability has no CAD, shell, local-file, or MCP access, which is real context. However, it slightly conflicts with the openWorldHint=false framing since it advertises a live web search capability, and it says nothing about what the report actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences; the purpose is front-loaded and the second sentence adds a distinct constraint rather than padding. Minimal waste, though 'isolated Codex' is unexplained internal vocabulary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description should ideally indicate what the status report contains (e.g., boolean availability, reason/message when unavailable). It states what is being reported but not the shape or semantics of the answer, leaving a small but real gap for an agent that must interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty with additionalProperties=false, so there is nothing for the description to disambiguate. Baseline of 4 applies for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Report') and a specific resource (availability of live web search for product CAD/dimensional references), so the agent knows this is a status/capability-probe tool. It does not explicitly differentiate itself from sibling status tools like plasticity_status or plasticity_capabilities, and 'isolated Codex live web search' is jargon that assumes internal context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement, but the description implies the tool is a precondition check for the reference-search path (plasticity_search_product_references / plasticity_analyze_design_reference). The second sentence gives a negative usage boundary, which is partial guidance rather than a routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_refillet_facesBDestructive
Change recognized native fillet faces by a signed radius delta in millimeters.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| deltaMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as a non-read-only, destructive operation, and the description adds that it edits recognized native fillet faces by a signed delta in millimeters, which usefully clarifies the parametric nature and direction of the change. However, it does not disclose what else may be affected, how revision conflicts are handled, or what happens when faces are not recognized fillets, so it adds only moderate behavioral context beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes to the operation, target, and primary parameter meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with four parameters, no output schema, and no schema descriptions, this one-sentence description is not complete enough. It omits required revision semantics, face identification details, failure behavior, and what the operation returns or changes beyond the fillet radius.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all four parameters. It clarifies only that deltaMm is a signed value in millimeters; it does not explain the required faces array structure (bodyId/faceId), the required revision string, or the optional intent parameter. Most parameter meaning remains undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (change recognized native fillet faces) and the controlling parameter (a signed radius delta in millimeters), clearly implying an edit of existing fillet geometry rather than creation or removal. It does not explicitly name or differentiate from sibling tools such as plasticity_fillet or plasticity_remove_fillets, but the scope is clear enough to identify the tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives like plasticity_fillet, plasticity_remove_fillets, or plasticity_offset_faces. The description only states what the operation does, leaving the agent to infer the appropriate context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_refresh_datumC
Re-resolve a geometry-backed datum after a document revision change.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| reference | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is partially covered. The description adds context that this is a re-resolution operation tied to document revision changes, but it does not disclose side effects, failure modes, or what dependent geometry may be affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no wasted words and the triggering condition is front-loaded. It is perhaps overly terse relative to the tool's nested parameter complexity, but structurally it is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested required reference object, 0% schema description coverage, and no output schema, the description is insufficient. An agent cannot learn what the reference fields should contain or what the re-resolution operation returns, leaving major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no information about either parameter. The required 'reference' object contains four nested required fields (id, sessionId, documentToken, revision) that are entirely undocumented, and the optional 'intent' parameter is also unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Re-resolve') and resource ('geometry-backed datum') with a triggering condition ('after a document revision change'). It is clear enough to distinguish this from creation-oriented datum siblings, but it does not explicitly name an alternative tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an implied usage condition ('after a document revision change'), which tells the agent when this tool is relevant. However, it gives no when-not-to-use guidance, no prerequisites, and does not mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_remove_construction_planeBDestructive
Remove one current saved construction plane. Standard planes are protected.
| Name | Required | Description | Default |
|---|---|---|---|
| plane | Yes | ||
| intent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral rule not present in annotations (standard planes cannot be removed), but says nothing about optimistic-concurrency behavior given the revision/documentToken fields, nor what happens to geometry referencing the plane.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, action and constraint front-loaded, with zero filler. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive two-parameter tool with a nested identifier object at 0% schema description coverage and no output schema, the description omits how to identify the target plane and what intent means. A caller has enough to grasp the operation's purpose but not enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the nested plane object (id, sessionId, documentToken, revision) plus the intent parameter are entirely undocumented. The phrase 'current saved' weakly implies the plane must be an existing saved reference rather than a standard plane, but nothing explains identity fields or what intent is for; the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (remove) and resource (saved construction plane) with a clear scope qualifier ('one current saved'). It implicitly distinguishes itself from plasticity_create_construction_plane and plasticity_list_construction_geometry, but never names an alternative explicitly, which is why it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no named alternative for removing versus recreating geometry. The one usable rule — 'Standard planes are protected' — is a precondition that hints at when the call will fail, but the agent gets no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_remove_filletsCDestructive
Remove every native fillet recognized on one or more current Solid or Sheet bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: the operation is wholesale ("every" fillet, not a selected subset) and applies only to native/recognized fillets, not imported geometry. It omits reversibility, whether a new revision is produced, and whether failures are atomic across multiple bodies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and scope first and no filler. It is efficient, but its brevity is bought at the cost of the missing parameter and usage detail rather than by tight editing of present content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, no-output-schema tool with an undocumented required concurrency/targeting parameter (revision) and an undocumented intent field, the description is too thin. It does not tell the agent how ids relate to bodies/fillets or what a successful versus partial removal looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and none of the three parameters are explained in the description. "One or more current Solid or Sheet bodies" weakly implies ids is a list of body/face ids, but "revision" (required) and "intent" are left entirely undefined 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.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ("Remove ... native fillet") with an explicit scope: fillets on one or more current Solid or Sheet bodies. It is distinguishable from plasticity_fillet (adds) and plasticity_refillet_faces (rebuilds fillets), though it does not name those siblings to route the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus alternatives such as refillet_faces, unjoin_faces, or delete_faces, nor any prerequisite guidance. The only implied usage cue is "recognized ... on current Solid or Sheet bodies," which the agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_renameCDestructive
Rename one body with Undo support.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| name | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation semantics are covered structurally. The description adds one genuinely useful trait — 'Undo support' — telling the agent the change is reversible, but it omits any mention of the revision/concurrency check or failure conditions that make a rename return an error.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with no filler and no redundancy. Its brevity is appropriate in form, though for a tool with three required parameters it reads as under-specified rather than efficiently minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four parameters, 0% schema coverage, no output schema, and three required fields including an unexplained 'revision', the description is too thin for the tool's complexity. An agent can guess the intent but cannot know the preconditions or parameter meanings needed to invoke it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description carries the full burden and fails it. 'one body' loosely implies 'id' targets a body, but 'name', 'intent', and the required 'revision' string are entirely unexplained, including the 120-char name limit and the role of revision.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Rename') and resource ('one body'), which lets an agent distinguish it from the nearby plasticity_rename_group and plasticity_rename_reference_mesh siblings that operate on other resource types. It is clear and correctly scoped, though it offers no further differentiation beyond the resource noun.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus renames of other resources, nor any prerequisite information. The required 'revision' parameter suggests an optimistic-concurrency precondition, but the description never mentions it, leaving the agent to infer when a call will succeed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_rename_groupBDestructive
Rename one current non-root native Plasticity group through document history.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| name | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so safety framing is covered. The phrase 'through document history' usefully implies the rename is journaled and revertible via plasticity_undo, which goes slightly beyond the annotations, but nothing is said about required permissions, failure modes, or revision handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the scope qualifiers come before the action detail. It is economical, though the density of qualifiers ('current non-root native') without elaboration slightly hurts readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter mutation tool with 0% schema description coverage and no output schema, the description omits the most operationally important detail — what 'revision' is and why it is required. Annotations cover the safety profile, but the parameter gaps leave an agent guessing how to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for all four parameters, so the description carries the full burden of explaining them — and it explains none. It never says that 'id' identifies the group, that 'revision' is a required concurrency/version token, or that 'intent' is an optional annotation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (rename) and resource (group) with meaningful qualifiers: 'one', 'current', 'non-root', 'native'. This distinguishes it from generic singletons like plasticity_rename and from plasticity_rename_reference_mesh, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Constraints ('one current non-root native group') imply the preconditions without stating them as when-to-use guidance. There is no explicit statement about when to choose this over plasticity_rename or plasticity_create_group, and no exclusion for root groups beyond a qualifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_rename_reference_meshBDestructive
Rename one current imported STL/OBJ reference mesh through Plasticity document history.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| name | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is covered. The description adds 'through Plasticity document history,' signaling the rename is an undoable history operation, which is useful context, but it does not state permission requirements or what exactly changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with zero filler; the operation and target are stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter mutation tool with no output schema and no schema descriptions, the description should carry more load (e.g., id/revision semantics for targeting the current mesh). It leaves the parameter contract almost entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for 4 parameters (id, name, intent, revision). The description does not clarify any of them; 'one current ... mesh' vaguely gestures at id/revision but gives no meaning for id, intent, or the concurrency role of revision.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (rename) and resource (one imported STL/OBJ reference mesh), with a scoping qualifier ('one current'). It implicitly distinguishes itself from plasticity_move_reference_meshes, scale, rotate, and delete, but does not name the generic plasticity_rename sibling it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use, when-not-to-use, or prerequisite statement. The agent can infer it is the renaming operation for reference meshes, but there is no guidance on alternatives or required state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_resolve_fastener_designationARead-only
Interpret a bounded fastening request such as 'крепится на 4 болта M5x10 с гайками' or 'печать винта M6x20 и ответной части'. It defaults to combined strength and geometry intent, parses thread metadata, quantity, selected ISO/DIN head and drive family, explicit joint phrases and fixed/adjustable/pivot intent, and returns one active question package plus compatible Plasticity geometry/strength tools. Its bounded catalog recognizes common hex, socket-cap, button, pan, countersunk and headless set-screw standards with source URLs; set-screw standards also identify flat, truncated-cone, dog, or cup points and require the mating contact function to be resolved. Printed screw, nut, and generic mating-part phrases route to the custom matched-thread tools without importing an ISO pitch. A slot is proposed only for explicit adjustment. It never treats nominal thread diameter as a finished hole, insert pocket, head recess, or nut envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| designation | Yes | ||
| jointIntent | No | unknown | |
| decisionMode | No | ask-user | |
| analysisIntent | No | both | |
| mountingIntent | No | unknown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/non-destructive/closed-world, so the bar is lowered, and the description adds real behavioral context beyond them: defaulting to combined strength+geometry intent, a bounded ISO/DIN catalog with source URLs, point-type detection for set screws, and an explicit non-inference rule ('never treats nominal thread diameter as a finished hole, insert pocket, head recess, or nut envelope').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is substantive but dense and run-on, packed with parenthetical bilingual examples and long clause chains rather than a front-loaded statement of purpose. It is appropriately sized for the tool's complexity but could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain the return value, and it does ('returns one active question package plus compatible Plasticity geometry/strength tools'). For a complex resolver the coverage is strong, with the only real gap being the behavior of decisionMode.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it does for most parameters: designation parsing (thread, quantity, head/drive family), jointIntent (joint phrases), analysisIntent (strength vs geometry), and mountingIntent (fixed/adjustable/pivot plus 'slot only for explicit adjustment'). Only decisionMode ('ask-user' vs 'agent-may-select-qualified') is left unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it resolves/interprets a bounded fastening designation and returns a question package plus routing to geometry/strength tools. The scope (thread metadata, quantity, head/drive family, joint/mounting intent) clearly distinguishes it from siblings like plasticity_strength_request or plasticity_check_fastener_stack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains internal routing rules (printed/nut/mating-part phrases go to matched-thread tools, slots only for explicit adjustment), which is genuinely useful, but it never states when the agent should pick this resolver over sibling tools, nor any when-not-to-use condition in the overall workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_reverse_curvesCDestructive
Reverse the native direction of one or more current Wire bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the write nature is covered. The description adds only scope ('one or more', 'current'), leaving unstated what is actually modified downstream (curve direction affects sweeps/lofts/offsets), whether it is undoable, or whether body revision is bumped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and scope, with no filler. Brevity is achieved by omission rather than by tight writing, but there is no redundancy or padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation with no output schema, no annotation beyond the safety hints, and zero-parameter documentation. The agent lacks enough to know what the revision argument does or what changes as a result of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across three parameters. The description hints that the target is a list of bodies ('one or more') and that current state matters ('current'), loosely gesturing at ids and possibly revision, but says nothing about the required 'revision' string or the free-text 'intent' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb and resource: 'Reverse the native direction of ... Wire bodies.' An agent can distinguish it from plasticity_reverse_sheets (sheets vs. wire/curve geometry) and from direction-listing tools like list_curve_directions. It stops short of naming any sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus alternatives (e.g. reverse_sheets for sheet bodies, or rebuild_curves) and no prerequisites or preconditions. The agent must infer the use case entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_reverse_sheetsBDestructive
Reverse the native surface normal orientation of one or more current Sheet bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the meaningful context that it targets the native normal orientation of sheets, but says nothing about reversibility, effect on adjacent/joined geometry, or that the change alters surface sidedness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the action and its target without any filler. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with zero schema description coverage and no output schema, the description is too thin. It omits parameter meaning (especially revision and intent) and any behavioral notes on how the reversal is applied or what it affects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are three parameters. The phrase 'one or more current Sheet bodies' loosely maps to ids, but the required revision parameter and the intent parameter are entirely undocumented in both schema and description, leaving the agent without syntax or format guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (reverse) plus a precise resource (native surface normal orientation of Sheet bodies). It implicitly differentiates from the sibling plasticity_reverse_curves by scoping to Sheet bodies rather than curves, but never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or prerequisite guidance. The description does not tell the agent how this differs from flipping curves, nor when a normal reversal is the right operation versus rebuilding or patching a sheet.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_revolve_profileBDestructive
Revolve a planar Wire profile around a world-space axis. Axis origin is millimeters and the positive angle is degrees.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| axis | Yes | ||
| intent | No | ||
| revision | Yes | ||
| angleDegrees | Yes | ||
| axisOriginMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the mutation safety profile is covered. The description adds genuinely useful behavioral context beyond that: the axis is world-space (not workplane-relative) and the origin units are millimeters with positive angles in degrees. It still omits whether the source profile is consumed or preserved and what geometry is produced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with nothing wasted, front-loading the operation and following with unit conventions. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a geometry-creating tool with 6 parameters, no output schema, and 0% schema coverage, the description is too thin: it never says what object results, whether the input Wire survives, or what revision/id refer to. An agent lacks enough to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 parameters, so the description must carry the load and it only clarifies two of them: axisOriginMm (millimeters) and angleDegrees (degrees, positive). The critical id, revision, intent, and axis vector parameters are left completely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Revolve a planar Wire profile around a world-space axis.' An agent can distinguish this from extrusion/sweep/loft siblings by the revolve operation and the Wire-profile input requirement. It does not name or contrast any sibling, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus alternatives such as plasticity_extrude_profile, plasticity_sweep_regions, or plasticity_loft_curves, nor any prerequisite (e.g. that a planar closed Wire must already exist). Usage must be inferred entirely from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_rotateCDestructive
Rotate bodies around a world pivot and axis. Angle is degrees.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| axis | Yes | ||
| intent | No | ||
| degrees | Yes | ||
| pivotMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation/safety profile is covered. The description adds operational context ('world pivot' implies global coordinates, 'Angle is degrees' clarifies units), but says nothing about the required revision token (concurrency semantics) or undo/reversibility beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler. Efficient, though the extreme brevity is partly why coverage gaps remain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, destructive, no-output-schema mutation tool, the description is thin: it omits parameter meanings, revision/concurrency behavior, and any indication of the effect or return of the operation. Notable gaps remain despite the clear purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 parameters, so the description carries the full burden but only clarifies one field ('degrees'). It does not explain the ids array, the 3-number pivotMm/axis format, or the role of the required revision string, leaving most parameters ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (rotate) and resource (bodies), plus the operation frame (world pivot and axis). The word 'bodies' implicitly distinguishes it from siblings like plasticity_rotate_faces, plasticity_rotate_instances and plasticity_rotate_curve_control_points, though it does not name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many alternative rotation tools (rotate_faces, rotate_instances, rotate_reference_meshes) or versus plasticity_move/plasticity_scale. The agent must infer selection from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_rotate_curve_control_pointsADestructive
Rotate exact current Wire control handles around an explicit world-space pivot and axis in one Plasticity history step. References must come from plasticity_list_curve_control_points at the current revision. The angle is in degrees; re-read handles and exact B-Rep geometry afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| intent | No | ||
| points | Yes | ||
| degrees | Yes | ||
| pivotMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and non-read-only, so the safety profile is covered. The description adds real behavioral value beyond that: the edit is one Plasticity history step, the pivot is world-space, and the agent should re-read handles and exact B-Rep geometry afterward. It stops short of describing failure modes or whether the operation is reversible via undo.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, no filler, with the action and scoping constraint front-loaded before prerequisites and post-conditions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, six-parameter mutation tool with no output schema and no schema descriptions, the definition covers sourcing, coordinate frame, units, and post-conditions. It omits what the return payload contains and what happens on a stale revision, but the essentials for correct invocation are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage the description must compensate, and it does for most parameters: degrees is in degrees, pivotMm/axis are world-space, points are Wire control handles sourced from list_curve_control_points, and revision must be current. Only the optional 'intent' parameter is left unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (rotate) and resource (Wire control handles) with the scope qualifier 'exact current' and the transform parameters (world-space pivot and axis). It is clearly distinguishable from siblings like move_curve_control_points or scale_curve_control_points.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete prerequisite — references must come from plasticity_list_curve_control_points at the current revision — and implicitly tells the agent to re-read handles afterward. It does not explicitly contrast against plasticity_rotate (body-level) or the other control-point tools, so no exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_rotate_facesBDestructive
Rotate exact current B-Rep faces around a world-space pivot and axis. Pivot is millimeters and angle is degrees; Plasticity extends and retrims adjacent faces, invalidating old topology references.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| faces | Yes | ||
| intent | No | ||
| degrees | Yes | ||
| pivotMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, but the description adds substantially: units (millimeters pivot, degrees angle), world-space framing, and the critical consequence that Plasticity extends/retrims adjacent faces and invalidates old topology references. That topological invalidation is exactly the kind of behavior an agent must know but annotations alone cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the action stated first and the side-effect consequence second. Well front-loaded, though the second clause is dense with two ideas (units and topology invalidation) joined by a semicolon.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no output schema, it covers the key hidden behavior (topology invalidation) and units, but omits what revision and intent are for and gives no error/failure semantics. Adequate but with a clear gap around the required revision parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 parameters. The description clarifies units for pivotMm (mm) and degrees (degrees) and that axis is world-space, but leaves faces, revision (required, string), and intent completely unexplained — including whether revision gates a concurrency check, which is critical for a mutation tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (rotate ... B-Rep faces) and constrains scope to 'exact current' faces, which distinguishes it from siblings like plasticity_rotate (whole-body rotation) and plasticity_move_faces. It does not name a sibling explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by describing what it does, but never says when to pick this over plasticity_rotate, plasticity_move_faces, or plasticity_scale_faces, and gives no prerequisites. No when-to-use/when-not guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_rotate_instancesBDestructive
Rotate current native linked instances around a world-space pivot and axis. The angle is in degrees.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| axis | Yes | ||
| intent | No | ||
| degrees | Yes | ||
| pivotMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation and destructive nature are covered structurally. The description adds useful context that the rotation uses a world-space pivot and axis and that the angle is in degrees, but it does not explain what gets altered, whether the revision token guards concurrency, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no filler. The operation is front-loaded, and the subsequent unit clarification is immediately useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive six-parameter mutation tool with no output schema and 0% schema description coverage, the description is too sparse. It omits how instances are identified, the role of the revision parameter, and the expected mutation behavior, all of which an agent needs before invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry full parameter semantics. It only explains pivot, axis, and degrees, leaving required parameters ids and revision and optional intent unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: rotate current native linked instances. It distinguishes the operation from sibling transforms like move_instances and scale_instances, and from rotate_reference_meshes by specifying native linked instances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and does not name alternatives such as plasticity_rotate or plasticity_move_instances. An agent must infer usage entirely from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_rotate_reference_meshesADestructive
Rotate current approximate STL/OBJ reference meshes around an explicit world-space pivot and nonzero axis. The angle is in degrees and the edit occupies one Plasticity history step.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| axis | Yes | ||
| intent | No | ||
| degrees | Yes | ||
| pivotMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-readonly, destructive mutation. The description adds valuable context beyond annotations: the angle unit (degrees), the requirement for an explicit world-space pivot and a nonzero axis, and the fact that the edit consumes one Plasticity history step. It still omits any auth or rate-limit notes, but the added behavioral detail is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no wasted words. The core operation and its most important constraints are front-loaded, and all additional detail (units, history step) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, 5-required mutation tool with no schema descriptions and no output schema, the description covers the operation, target resource, units, and history behavior. However, it gives no explanation of the required ids and revision parameters, leaving meaningful gaps an agent must resolve elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the full parameter burden. It adds semantic meaning for only three of six parameters (pivotMm as world-space, axis must be nonzero, degrees in degrees) and leaves required parameters ids and revision, plus optional intent, completely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Rotate') and resource ('current approximate STL/OBJ reference meshes'), making the operation clear. It does not explicitly name or contrast with siblings like plasticity_move_reference_meshes or plasticity_scale_reference_meshes, so it misses the sibling-differentiation criterion for a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource ('reference meshes' as opposed to bodies or faces), but there is no explicit when-to-use, when-not-to-use, or alternative guidance. An agent could infer this is the rotation operation for reference meshes, but nothing routes it away from move/scale/delete reference mesh tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_save_copyB
Save the current document to a new .plasticity file without overwriting.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, and 'without overwriting' is consistent with that safety profile. The description adds the useful constraint that existing files are not clobbered, but says nothing about failure behavior when the target exists, whether the working document's path changes after the copy, or where relative paths resolve.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with the key qualifier ('without overwriting') placed correctly at the end. Nothing is wasted, though it is arguably thin for a tool that writes to disk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter file-write tool with annotations covering the safety profile, this is minimally adequate. The remaining gap — path resolution and behavior when the destination already exists, which matters for a non-destructive save — is not addressed anywhere since there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required `path` parameter, so the description must carry the meaning. It hints the target is a .plasticity file but never explains path format (absolute vs relative), whether the extension is appended automatically, or whether the path must not already exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Save) and resource (current document to a new .plasticity file), and the 'without overwriting' clause clarifies the operation's scope. It does not name or differentiate itself from any sibling (e.g. plasticity_open_document or the various export_* tools), though none of those is a direct competing save.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent can infer this is for producing a copy rather than mutating the working document in place. There is no explicit when-to-use, when-not-to-use, or pointer to alternatives such as capture_snapshot or export_step for other output formats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_save_named_selectionADestructive
Save a semantic face or edge query and re-evaluate it after topology changes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a write with destructiveHint=true and openWorldHint=false; the description adds real value by explaining the re-evaluation-after-topology-change semantics. However, it never explains what the destructive aspect is (e.g. overwriting an existing named selection) or what state the operation depends on, leaving a meaningful gap beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action, with no filler. Every clause carries information: what is saved and why it matters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and a stateful operation, the description should explain how the query/selection is supplied (e.g. from the current selection) and whether saving under an existing name overwrites it. The re-evaluation behavior is covered, but this operational context is missing for a tool the agent otherwise cannot call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool exposes zero parameters and the schema has no properties, so there is no parameter semantics for the description to clarify. The baseline for a 0-parameter tool is 4, and nothing in the description misrepresents the inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Save') and resource ('semantic face or edge query'), and adds the distinctive behavior that the saved query is re-evaluated after topology changes. It is clearly not a list/delete/select operation, though it never names the sibling tools it differs from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 're-evaluate it after topology changes' implies the use case (persistent, topology-robust selections), but there is no explicit when-to-use guidance and no routing to siblings such as plasticity_list_named_selections, plasticity_delete_named_selection, or the select_faces/select_edges tools. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_scaleCDestructive
Scale bodies around a world pivot with positive XYZ factors.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| factors | Yes | ||
| pivotMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, so the mutation profile is covered structurally. The description adds a real constraint - factors must be positive and the pivot is a world pivot - but says nothing about the required revision token, concurrency behavior, or what scaling does to dependent geometry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the key qualifiers (world pivot, positive factors) front-loaded and no filler. It is efficient, though the brevity is partly under-specification rather than pure economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 4-required-parameter mutation with no output schema and no schema descriptions, the definition omits the identity list semantics, the intent field, and the revision concurrency argument. An agent could not call this reliably without guessing at three of five parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, so the description must carry the load. It loosely covers two of them (factors as positive XYZ, pivotMm as the world pivot) but leaves ids, intent, and the required revision string entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (scale) and resource (bodies) plus the pivot semantics, which separates it from plasticity_scale_faces, plasticity_scale_instances, and plasticity_scale_reference_meshes. It does not name those siblings explicitly, so differentiation is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of when to prefer this over the similarly-named scale tools. The agent must infer applicability from the resource noun alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_scale_curve_control_pointsADestructive
Scale exact current Wire control handles around an explicit world-space pivot with positive XYZ factors in one Plasticity history step. References must come from plasticity_list_curve_control_points at the current revision. Re-read handles and exact B-Rep geometry afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| points | Yes | ||
| factors | Yes | ||
| pivotMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds real value: it notes the operation happens in 'one Plasticity history step' (atomicity), requires a current revision, and warns to re-read handles and B-Rep geometry afterward (implying prior references are invalidated). It stops short of stating undo/permission behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, verb-first, no filler. The pivot/factors/scope constraint is front-loaded and the prerequisite and post-condition follow in logical order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 5-parameter mutation with no output schema, the description covers purpose, precondition, atomicity, and post-state reasonably well. The remaining gap is semantics for the undocumented 'intent' and 'revision' parameters, which is partly compensated by the description's revision-freshness requirement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It usefully clarifies 'world-space pivot' and 'positive XYZ factors' (a constraint not enforced by the schema), and ties points to list_curve_control_points. However, the 'intent' and 'revision' parameters are not explained at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Scale ... Wire control handles'), names the pivot and factor semantics, and is clearly distinguishable from sibling mutations like plasticity_move_curve_control_points, plasticity_rotate_curve_control_points, and plasticity_slide_curve_control_points.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit prerequisite lineage: references must come from plasticity_list_curve_control_points at the current revision. It does not explicitly say when to prefer this over the move/rotate/slide siblings, but the scoping constraint provides clear operational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_scale_facesADestructive
Scale exact current B-Rep face surfaces by positive world-space XYZ factors about a millimeter pivot. This is a direct surface edit: adjacent faces are retrimmed, and scaling a planar face within its unchanged infinite plane may be a no-op. Re-read exact geometry afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| factors | Yes | ||
| pivotMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, but the description adds real behavioral detail beyond them: adjacent faces are retrimmed, planar faces may be no-ops within their infinite plane, and geometry should be re-read afterward. It stops short of stating auth/permission or reversibility/undo semantics, keeping it at a strong 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with purpose followed by behavioral caveats and the post-operation instruction. Every sentence adds distinct value with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no output schema, the description covers the critical edit consequences well and annotations cover the safety profile. However, with 0% parameter coverage it omits what 'revision' (likely optimistic concurrency) and 'intent' require, leaving the agent to guess at required inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, so the description carries the full burden. It clarifies that factors are positive world-space XYZ and the pivot is in millimeters, but leaves 'faces' (bodyId/faceId structure), 'revision', and 'intent' entirely unexplained despite being required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Scale exact current B-Rep face surfaces') with the coordinate scope ('positive world-space XYZ factors about a millimeter pivot'). This cleanly distinguishes it from sibling scaling tools like plasticity_scale (bodies), plasticity_scale_instances, plasticity_scale_reference_meshes, and plasticity_scale_curve_control_points by naming the target object type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It conveys context ('direct surface edit') and a nuance about when it may be a no-op, but names no alternative tools (e.g., offset_faces, move_faces, or body-level scale) nor an explicit 'use this when' rule. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_scale_instancesBDestructive
Scale current native linked instances around a world-space pivot with positive XYZ factors, preserving their link to the source geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| factors | Yes | ||
| pivotMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is covered. The description adds one genuinely new behavioral fact — that the source-geometry link is preserved — which is useful. It does not disclose the required optimistic-concurrency revision handling, permission needs, or what happens on a stale revision.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and resource come first and every clause (pivot, factors, link preservation) carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 5-parameter mutation with no output schema and zero schema description coverage, the description omits too much: what revision expects, whether ids must be linked instances, whether factors may be non-uniform, and failure behavior. It is adequate only for the geometry semantics it does cover.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, so the description carries the full burden. It adds real semantics for two of them ('world-space pivot' and 'positive XYZ factors' — a constraint the schema does not encode), but leaves ids, revision, and intent entirely unexplained, including the required revision string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (scale), a precise resource (native linked instances), and the operation's scope (world-space pivot, positive XYZ factors). This clearly distinguishes it from the sibling plasticity_scale (generic) and plasticity_scale_reference_meshes, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the narrow scope ('native linked instances') — an agent can infer this applies only to linked instances rather than bodies or reference meshes. However, there is no explicit when-to-use/when-not guidance and no mention of sibling tools like plasticity_realize_instances or plasticity_scale that an agent might otherwise pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_scale_reference_meshesADestructive
Scale current approximate STL/OBJ reference meshes around an explicit world-space pivot with positive XYZ factors in one Plasticity history step. Re-read the returned mesh bounds; scaling does not make the source dimensionally authoritative.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| factors | Yes | ||
| pivotMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already flagging destructiveHint=true and readOnlyHint=false, the description adds real context: the operation runs in one Plasticity history step and scaling does not make the source dimensionally authoritative, plus a directive to re-read returned mesh bounds. It never spells out exactly what is mutated or that the change is in place, but it goes beyond the annotation surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the operation and its mechanism, followed by the caution. No filler and nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and existing annotations, the description covers the pivot/factor model, the single history step, and a return-value caution. It omits permission requirements and the semantics of ids/revision, leaving a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden, and it only partially compensates: it clarifies pivotMm (world-space) and factors (positive XYZ), but ids, intent, and revision are left completely undocumented. Partial coverage of 2 of 5 params earns a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Scale) applied to a specific resource (current approximate STL/OBJ reference meshes) and even the mechanism (around an explicit world-space pivot with positive XYZ factors in one history step). This clearly separates it from the generic plasticity_scale and from plasticity_move_reference_meshes/rotate_reference_meshes without needing the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource it targets, but the description never states when to prefer it over sibling operations such as plasticity_move_reference_meshes, plasticity_rotate_reference_meshes, or the generic plasticity_scale. No exclusions, prerequisites, or conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_scan_arbitrary_sectionsARead-only
Sample 2–32 exact B-rep sections at evenly spaced stations along an explicit plane normal and offset interval. The caller chooses the scan direction and range; this does not identify or rank mechanically critical sections.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyId | Yes | ||
| revision | Yes | ||
| startPlane | Yes | ||
| toOffsetMm | Yes | ||
| fromOffsetMm | Yes | ||
| stationCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint=false, and destructiveHint=false, so safety is covered. The description adds meaningful behavioral detail beyond annotations: exact B-rep sampling, evenly spaced stations, caller-controlled direction/range, and explicit non-ranking of critical sections.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero waste. The core purpose is front-loaded, followed by caller-control and exclusion details in the correct order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-required-parameter tool with a nested startPlane object and no output schema, the description is only partly complete. It covers the sampling concept and range behavior but omits parameter-level details for bodyId and revision, and it does not describe what the call returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must carry the parameter burden. It explains station count range (2–32), offset interval, plane normal, and caller-chosen direction/range, which maps to several parameters, but it never mentions bodyId or revision, leaving key required inputs undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Sample), resource (2–32 exact B-rep sections), and method (evenly spaced stations along an explicit plane normal and offset interval). It distinguishes itself from strength-oriented siblings by explicitly stating it does not identify or rank mechanically critical sections.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context that the caller chooses scan direction and range, and it states a negative condition: this does not identify or rank mechanically critical sections. That helps an agent avoid misusing it for critical-section ranking, but it does not name the alternative tool to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_scan_section_strengthB
Measure exact B-rep sections and calculate one identical load/material scenario at each explicitly bounded station. It ranks only supported, complete single-mode utilization results; any unsupported or incomplete station suppresses a global governing-station claim. It saves one immutable scan report with every measured input and calculation; report reads re-check the live CAD binding.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyId | Yes | ||
| revision | Yes | ||
| scenario | Yes | ||
| startPlane | Yes | ||
| toOffsetMm | Yes | ||
| fromOffsetMm | Yes | ||
| stationCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare this is a non-readOnly, non-destructive, closed-world write. The description adds real value beyond that: it ranks only complete single-mode results, suppresses a global governing-station claim when any station is unsupported, saves one immutable report, and notes report reads re-check the live CAD binding. This is meaningful behavioral disclosure, though permissions/error behavior are unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core action, with the ranking/suppression rule and the save behavior each adding distinct information. No obvious filler, though the phrasing is heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-required-param, nested-schema, no-output-schema tool, the description covers the operation and its output behavior but leaves the entire parameter contract undocumented, which matters most for the complex scenario object. Adequate but with a clear gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 required parameters and deeply nested scenario/material/evidence objects. The description only vaguely gestures at 'explicitly bounded station' and 'load/material scenario,' leaving bodyId, revision, startPlane, and the scenario contract entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs and resources: measuring B-rep sections and calculating one load/material scenario per bounded station, then saving a scan report. It is fairly distinguishable from siblings like calculate_section_strength and section_strength_scan_report, though it never names them directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites, and no mention of the closely related alternatives (calculate_section_strength, scan_arbitrary_sections, section_strength_scan_report). The agent must infer selection from purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_screenshotA
Save a PNG screenshot of the visible Plasticity renderer viewport to a new file without overwriting. Refuses hidden windows to avoid stale frames.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, and the description usefully adds that the file is written new and never overwritten, plus that hidden windows are rejected to avoid stale frames. That is real behavioral context beyond the annotations, though auth/permission needs and the return value go unmentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, both of which earn their place: the first gives the action and its non-overwrite guarantee, the second gives the refusal condition. No filler and the core action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should ideally indicate what comes back (saved file path, or an error on hidden windows). It covers the write semantics and the refusal case, which is adequate for a one-parameter tool, but leaves the return contract unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single 'path' parameter, so the description carries the burden. It says the target is a 'new file' and will not be overwritten, implying a destination path, but it never states whether the path is absolute or relative or whether the .png extension must be included.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: saving a PNG screenshot of the visible Plasticity renderer viewport. That is far more precise than a sibling like plasticity_capture_snapshot, but the description never contrasts itself with that sibling explicitly, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this tool versus plasticity_capture_snapshot or plasticity_list_windows. The only condition mentioned ('refuses hidden windows') is a failure mode rather than usage guidance, leaving the agent to guess when this is the right capture tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_search_product_referencesARead-only
Search live web sources for candidate CAD models and reliable dimensioned references using an isolated Codex profile. Results are unverified discovery leads only: source-page and direct asset URLs are cross-checked against Codex web-search/open-page results, but licensing, paid/account access, fit, source quality and dimensions still require review. Each candidate reports accessStatus separately from licenseStatus; a paid product page is not a direct asset URL and must not be passed to an importer. It never downloads/imports files or mutates CAD. Prefer manufacturer sources; specify allowedDomains when discovery should be scoped. searchTimeoutMs defaults to 180000 and accepts 30000–180000 ms for slow searches.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| intendedUse | No | ||
| allowedDomains | No | ||
| searchTimeoutMs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare read-only/open-world/non-destructive; the description adds substantial context beyond them: results are unverified leads cross-checked via Codex web-search/open-page, accessStatus is reported separately from licenseStatus, and the 30s–180s timeout default is stated. This is exactly the operational nuance annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph but front-loaded with purpose and each sentence carries distinct information (verification status, access vs license, importer warning, timeouts). It is longer than ideal, yet no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter, no-output-schema tool with open-world behavior, the description covers what it returns (candidate leads with separate accessStatus/licenseStatus), the caveats on trustworthiness, and the non-mutating guarantee. The gap is that limit/intendedUse semantics and candidate result shape are never addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains allowedDomains (scoping) and searchTimeoutMs (default 180000, range 30000–180000), but adds nothing for query, limit, or intendedUse, leaving three of five parameters to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource+scope: 'Search live web sources for candidate CAD models and reliable dimensioned references'. It also states the boundary versus the import siblings ('never downloads/imports files or mutates CAD'), so an agent can distinguish it from plasticity_download_and_import_step or plasticity_import_reference_mesh without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear triggering context (discovery of leads, scoping with allowedDomains, preferring manufacturer sources) and an implicit when-not: a paid product page is not a direct asset URL and must not be handed to an importer. It stops short of naming the specific alternative tools to call after review, so it is strong but not a full routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_section_strength_scan_reportBRead-only
Read one immutable section-strength scan, including exact candidate geometry, evidence, calculations and ranking. Re-checks the stored session/document/revision/body against the live Plasticity binding and reports current, stale or unverified.
| Name | Required | Description | Default |
|---|---|---|---|
| scanReportId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the description's job is to add beyond that, and it does: the scan record is immutable, it bundles candidate geometry, evidence, calculations and ranking, and it performs a live re-check of session/document/revision/body that returns a current/stale/unverified verdict. That staleness semantics is genuinely valuable context not derivable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, and the read scope is front-loaded before the validation behavior. Dense with information while staying short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description does useful work by enumerating the returned payload and the staleness verdict, and a single required parameter keeps input complexity low. The remaining gap is the undocumented source/format of scanReportId, which is the one thing an agent must resolve before it can call the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter scanReportId carries only a regex pattern with no prose. The description never explains what a scan report ID is, its expected format, or where the agent obtains one (presumably from plasticity_scan_section_strength or a listing tool). With low coverage the description needed to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a specific verb (Read) and a specific resource (one immutable section-strength scan) plus the payload it contains (candidate geometry, evidence, calculations, ranking). This clearly separates it from the producer sibling plasticity_scan_section_strength, which creates scans rather than retrieving them, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the tool reads a previously created scan by ID and re-validates it against the live binding, so an agent can infer it is called after a scan exists. There is no explicit statement of when to prefer this over plasticity_list_section_analyses, plasticity_strength_report or re-running the scan, and no preconditions are spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_select_bodiesBDestructive
Replace the current Plasticity selection with stable body IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the mutation profile is covered. The description usefully adds that the *current selection is replaced* (disclosing what gets destroyed), which is real value beyond the annotations. However, the presence of a 'revision' parameter hints at concurrency/versioning behavior that goes entirely unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler and no redundancy. It is efficient, though for a destructive operation with an unexplained revision parameter it is arguably too terse to be optimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive selection-replacement tool with two required parameters and no output schema, key information is missing: what 'revision' means, what happens if it is stale, and any error or conflict behavior. Annotations cover the safety profile, but the concurrency semantics remain a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It only implies that 'ids' are body IDs ('stable body IDs'), adding marginal value, and says nothing at all about 'revision' or what it must match. Half the parameters are effectively undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Replace) and resource (selection of bodies) and pins it to 'stable body IDs', which cleanly distinguishes it from the many sibling select tools (select_curves, select_faces, select_nodes, select_edges, etc.). An agent can tell which selection target this operates on 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the mention of 'stable body IDs' suggests this is the ID-based way to select bodies, but the description names no alternative, no when-not-to-use condition, and no prerequisites. No routing guidance between this and other selection mechanisms is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_select_curve_control_pointsADestructive
Replace the current Plasticity selection with revision-bound Wire boundary vertices and interior B-Spline control points so the agent can point out the handles it will edit. References must come from plasticity_list_curve_control_points.
| Name | Required | Description | Default |
|---|---|---|---|
| points | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, and the description reinforces this by saying it REPLACES the current selection, disclosing that prior selection state is lost. It also adds the non-obvious revision-binding requirement, which annotations do not convey. It stops short of describing error/validation behavior when the revision is stale.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb+resource and followed by the derivation constraint and rationale. No filler, though the phrase 'so the agent can point out the handles it will edit' is slightly loose framing rather than operational instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation-style selection tool with no output schema, the description covers the replace semantics, the reference source, and revision binding – enough to call it correctly. Minor gaps remain around invalid/stale revision handling and the point-kind distinction being inferable only indirectly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description maps the two params meaningfully: 'revision-bound' explains the revision string, and 'Wire boundary vertices and interior B-Spline control points' mirrors the two oneOf point kinds (vertex, control-point). It still leaves pointId/bodyId encoding to the schema, so it compensates well but not exhaustively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Replace) and resource (the current Plasticity selection) and names exactly what the new selection contains: revision-bound Wire boundary vertices and interior B-Spline control points. This distinguishes it from siblings like plasticity_select_curves and plasticity_select_bodies without requiring the schema to be opened.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear prerequisite: references must originate from plasticity_list_curve_control_points, establishing the list-then-select workflow. It does not, however, state when to prefer this over other select_* tools or what happens when nothing is currently selected, so the guidance stops short of full alternatives coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_select_curvesADestructive
Replace the current Plasticity selection with whole native Wire curves, using current revision-bound Wire IDs. The returned curveIds identify selected Wires; bodyIds may also contain the same native Wire IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the description's 'Replace the current Plasticity selection' usefully confirms and specifies exactly what is overwritten (the existing selection). It also discloses the response shape (curveIds identify selected Wires, bodyIds may repeat them), which annotations do not cover. It does not state behavior on a stale/unknown revision, which is the main residual gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler; the mutation action is front-loaded and the return-value note follows logically. Slightly dense with domain terms but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive two-parameter mutation with annotations covering the safety profile and no output schema, the description supplies the essentials: what is replaced, what the returned IDs mean, and that the IDs must match the current revision. Only edge-case behavior (invalid/expired revision, partial ID matches, empty-result handling) is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 semantic load. It clarifies that 'ids' are Wire IDs and that 'revision' is the revision those IDs are bound to, which is real added meaning for both parameters. However, it omits the schema's constraints (1–4096 items, positive integers) and gives no format example for the revision string, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: replaces the current Plasticity selection with whole native Wire curves. It is distinct from the other plasticity_select_* siblings (bodies, nodes, faces, edges) because it names the Wire/curve domain explicitly. It stops short of a 5 because it never names an alternative selector for contrast, and the jargon ('native Wire curves') assumes domain familiarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no reference to any sibling tool. The agent must infer from the name alone that this is the curve-selection counterpart to plasticity_select_bodies/select_edges. The one implicit constraint ('current revision-bound Wire IDs') hints at a precondition but does not frame it as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_select_edgesADestructive
Replace the current Plasticity selection with exact revision-bound B-Rep edges so the agent can point out boundaries in the application.
| Name | Required | Description | Default |
|---|---|---|---|
| edges | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds key behavioral context: it replaces the current selection and requires exact revision-bound edges. This goes beyond the annotations by specifying what gets replaced and the revision constraint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action and contains no redundant or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two required parameters and no output schema, the description covers the core purpose and selection-replacement behavior but lacks parameter details, error handling (e.g., revision mismatch), and return value information. It is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate, but it only vaguely refers to 'B-Rep edges' and 'revision-bound' without explaining the structure of the edges array (bodyId/edgeId) or what the revision string represents. This adds minimal meaning beyond the visible schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (Replace) and resource (current Plasticity selection with exact revision-bound B-Rep edges), clearly distinguishing it from sibling selection tools that target bodies, faces, or curves. However, it does not explicitly name or contrast with those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'so the agent can point out boundaries in the application' implies a use case, but there is no explicit guidance on when to use this tool versus other selection tools (e.g., select_faces, select_bodies) or any conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_select_facesBDestructive
Replace the current Plasticity selection with exact revision-bound B-Rep faces so the agent can point out surfaces in the application.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, and the description reinforces this by saying it REPLACES the current selection and is 'revision-bound' (implying stale revisions are rejected). It adds real context beyond the annotations, but omits what happens on revision mismatch, whether the change is undoable, and how a revision id is obtained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted preamble; the name-replacing verb and the revision constraint come first. The trailing 'so the agent can point out surfaces in the application' is mild rationale rather than essential content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive selection-replacement tool with no output schema and zero schema description coverage, the description is adequate but leaves meaningful gaps: how to acquire a valid revision, error behavior on a stale revision, and the meaning of the face identifiers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, and it only loosely clarifies semantics: 'B-Rep faces' hints at the face shape and 'revision-bound' implies revision must match a known model state. The nested bodyId/faceId fields, id formats, and the 4096-item cap are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Replace the current Plasticity selection') and a specific resource ('revision-bound B-Rep faces'), which cleanly separates it from sibling selectors like select_bodies/select_edges. It doesn't name or contrast a sibling explicitly, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: nothing tells the agent whether to prefer this over plasticity_select_bodies, plasticity_find_faces, or plasticity_current_selection, nor when a selection should be replaced rather than added to. Usage is only implied by the verb 'Replace'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_select_nodesBDestructive
Replace the current Plasticity selection with a mixed set of current bodies, linked instances, approximate reference meshes, and native groups so the agent can point out assembly content in the application.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyIds | No | ||
| groupIds | No | ||
| revision | Yes | ||
| instanceIds | No | ||
| referenceMeshIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds real context by saying the operation 'replaces' the current selection, which tells the agent what the destructive act actually destroys. However, it says nothing about the required revision parameter's role (likely optimistic-concurrency guard) or behavior with empty lists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the verb and the replacement semantics before enumerating resources. Efficient, though the clause 'so the agent can point out assembly content' is slightly padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, 5-parameter mutation with no output schema and 0% schema coverage, the description is adequate on purpose but leaves the required revision parameter and the when-to-use routing unexplained. An agent could call it, but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It maps four of the five parameters (bodyIds, instanceIds, referenceMeshIds, groupIds) to their content types, which is useful, but it never mentions 'revision' — the one required parameter, which is a notable omission.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('replace') and enumerates the mixed resources selected (bodies, instances, reference meshes, groups), which distinguishes it from the single-type siblings like plasticity_select_bodies or plasticity_select_faces. The mismatch with the name's 'nodes' terminology is minor, but the purpose is otherwise clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (a mixed-type selection spanning several content types) but never states when to prefer this over plasticity_select_bodies or the other per-type select tools, nor any prerequisites. Usage is inferable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_select_reference_meshesBDestructive
Replace the current Plasticity selection with current imported STL/OBJ reference meshes so the agent and user can point at the same approximate reference objects in the application.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, and the description is consistent with this by stating it 'Replace[s] the current Plasticity selection,' which discloses that the prior selection is overwritten. It adds little beyond that, omitting any authentication, rate-limit, or side-effect details, but it does not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the action and resource, with no filler. It is efficient, though the trailing rationale clause is slightly loose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with no output schema and 0% schema coverage, the description covers intent but leaves parameter semantics and return behavior unexplained. It is adequate for identifying the tool but thin for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning, yet neither 'ids' nor 'revision' is explained beyond the vague phrase 'current imported STL/OBJ reference meshes.' The 'revision' parameter -- presumably a concurrency/version guard -- is entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Replace') and resource ('reference meshes'), and distinguishes itself from the many other plasticity_select_* siblings by targeting STL/OBJ reference meshes rather than bodies, curves, faces, etc. It is clear what the tool does, though it does not name a specific alternative sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a rationale (aligning agent and user on the same reference objects) but provides no explicit when-to-use, when-not-to-use, or named alternative such as list_reference_meshes or the other select_* tools. Usage must be inferred from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_set_appearance_materialADestructive
Assign an existing Plasticity appearance material, create and assign a bounded color/roughness/metalness/opacity appearance, or clear an assignment with materialId 0. This changes display appearance only and uses one native Undo step.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| name | No | ||
| intent | No | ||
| opacity | No | ||
| colorHex | No | ||
| revision | Yes | ||
| metalness | No | ||
| roughness | No | ||
| materialId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: it clarifies the change is scoped to display appearance only (not geometry) and that the whole operation consumes exactly one native Undo step. No return format or persistence caveats are given, but the impact and reversibility disclosure is genuinely valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with zero waste; the three operational modes are front-loaded before the impact/undo note. Nothing could be removed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter mutation tool with 0% schema coverage and no output schema, the description covers the modes and the destructive scope reasonably but omits the semantics of the two required parameters (ids, revision). It is adequate to attempt a call but not complete enough to guarantee a correct one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It does explain materialId 0 as the clear sentinel and ties color/roughness/metalness/opacity to the inline-appearance mode, which is useful. But the required 'ids' (what is being colored?) and 'revision' parameters, plus 'name' and 'intent', are left entirely undocumented, leaving material gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (assign/create/clear) and resource (Plasticity appearance material) and enumerates the three distinct operating modes: assigning an existing material, creating an inline bounded appearance, or clearing via materialId 0. An agent can distinguish this from the sibling plasticity_list_appearance_materials without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The three modes imply when each parameter combination applies (existing material name vs inline color/roughness/metalness/opacity vs materialId 0 to clear), which is useful implied guidance. However, it never explicitly states when to prefer this tool over alternatives or names a sibling to route to, leaving the when-to-use decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_set_block_dimensionsBDestructive
Set the exact local width, length, and height of one current Solid that Plasticity still recognizes as a dimensionable block. This is a one-step native direct edit centered on the existing block; it does not create a persistent parametric constraint. Read the resulting B-Rep dimensions back after the edit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| widthMm | Yes | ||
| heightMm | Yes | ||
| lengthMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuine extra context: it is a one-step native direct edit, it does NOT create a persistent parametric constraint, and the agent should read B-Rep dimensions back afterward to verify. The remaining gap is that revision-based behavior and failure modes are unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, followed by the constraint caveat and the verification step. Efficient, though the trailing 'Read the resulting B-Rep dimensions back' verges on advisory rather than definitional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive mutation tool with annotations and no output schema. The description covers the edit semantics and recommends a read-back, but leaves the required 'revision' parameter and 'intent' wholly unexplained, so an agent lacks enough to invoke it correctly on the first try.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 parameters. The description names width, length, and height, covering 3 of them, but 'id', 'revision', and 'intent' are entirely undocumented in both schema and description. 'revision' in particular is a required, non-obvious parameter whose purpose (concurrency check?) is never explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (set) and resource (block dimensions: width/length/height) and scopes it to 'one current Solid that Plasticity still recognizes as a dimensionable block.' It does not name sibling tools like plasticity_set_rectangle_dimensions or plasticity_create_box, so it is clear but lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'still recognizes as a dimensionable block' implies a prerequisite state, and the sentence about not creating a persistent parametric constraint hints at when to prefer this over a parametric approach. However, there is no explicit when-to-use vs alternative routing, and nothing tells the agent what to do if the solid is not dimensionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_set_lockedADestructive
Set the native Plasticity lock state for current bodies, linked instances, approximate reference meshes, or groups. Locked geometry remains readable but resists manual selection and editing.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| locked | Yes | ||
| bodyIds | No | ||
| groupIds | No | ||
| revision | Yes | ||
| instanceIds | No | ||
| referenceMeshIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=true, openWorld=false), so the description's added value is semantic: it explains that locked geometry stays readable but resists manual selection and editing. That is genuinely useful behavioral context beyond the structured fields, though it omits the concurrency/revision behavior and the fact that locked=false reverses the state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, with the operation and target scope front-loaded and the state semantics following. No filler or repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool with 0% schema coverage and no output schema, the description covers intent and lock semantics but leaves the required revision parameter and multi-target combination rules undocumented. Minimum viable, but an agent could still call it incorrectly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description carries the full burden. It implicitly accounts for bodyIds/instanceIds/referenceMeshIds/groupIds via the stated target types, but says nothing about the required 'revision' string (a non-obvious concurrency token), nor whether multiple target arrays may be combined in one call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Set') and resource ('native Plasticity lock state') and enumerates the exact target types (bodies, linked instances, reference meshes, groups), which cleanly separates it from siblings like plasticity_set_visibility. An agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The list of supported target types implies when the tool applies, but there is no explicit when-to-use vs. alternative guidance, no note on preconditions (e.g., needing a current selection or fetched IDs first), and no mention of the revision/optimistic-concurrency requirement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_set_radius_dimensionADestructive
Set the exact radius of one current cylindrical B-Rep face through Plasticity's native direct-dimension command. This changes recognized coaxial geometry in one Undo step; it is not a fillet command or persistent parametric constraint. Read the resulting cylindrical face radius back after the edit.
| Name | Required | Description | Default |
|---|---|---|---|
| face | Yes | ||
| intent | No | ||
| radiusMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a destructive, closed-world edit. The description adds meaningful behavioral context beyond them: the change affects recognized coaxial geometry in one Undo step, is not parametric, and should be verified by reading the radius back. It does not cover permissions or failure modes, so it is not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with purpose, followed by behavioral caveats and post-edit verification. Every sentence adds value and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose and key behavioral quirks for a destructive, non-parametric direct edit. But with 0% schema descriptions and a required revision parameter, the description leaves important call semantics unexplained, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It only loosely maps 'exact radius' to radiusMm and 'cylindrical B-Rep face' to face; it never explains revision, intent, or the nested bodyId/faceId structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Set') and resource ('exact radius of one current cylindrical B-Rep face') and explicitly distinguishes the operation from a fillet command and a persistent parametric constraint. An agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: use this for a direct exact-radius edit on a cylindrical B-Rep face, and it explicitly is not a fillet or persistent constraint. However, it does not name alternative sibling tools or explain when a different radius-modifying command should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_set_rectangle_dimensionsADestructive
Set Plasticity's exact local width and length for one closed planar Wire that the native dimension command recognizes as a rectangle. The profile remains centered and its Region updates in one Undo step. This is a direct edit, not a persistent constraint; read the resulting Wire B-Rep bounds back.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| intent | No | ||
| widthMm | Yes | ||
| lengthMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, and the description adds meaningful context beyond them: the profile stays centered, the Region updates in a single Undo step, and the edit is not a persistent constraint. It still does not say what happens if the rectangle precondition is unmet or whether the revision token must match to avoid conflict.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and target, followed by behavioral facts. No filler or repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Behaviorally it is well covered for a mutation (undo scope, centering, non-persistent nature), and with no output schema the instruction to read back Wire B-Rep bounds is reasonable. However, zero schema documentation on four required parameters, especially revision, leaves a real gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, so the description carries the burden. It conveys width and length semantics indirectly, but says nothing about id (which Wire is targeted), intent, or revision — a required concurrency token whose role an agent must guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb ('Set') plus the exact resource scope (one closed planar Wire recognized as a rectangle) and the exact values edited (local width and length). It distinguishes itself from creation-oriented siblings like plasticity_create_rectangle and plasticity_set_block_dimensions by describing a direct edit of an existing Wire.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The precondition for use is stated clearly: the Wire must be closed and planar and recognized by the native dimension command as a rectangle. It does not name an alternative tool or state what to do when the precondition fails, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_set_viewBDestructive
Set a named viewport orientation and optionally fit all geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| fit | No | ||
| view | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered structurally. The description adds the concrete behavior of fitting all geometry, but does not explain why a mere viewport change is flagged destructive or what state it alters, leaving a small unexplained gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the primary action precedes the optional modifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description is adequate but thin: it does not enumerate the orientation options nor clarify what fitting geometry does to the current view, which an agent might need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry meaning. It correctly conveys that 'view' selects a named orientation and that 'fit' is optional, but it does not clarify the allowed orientation values or the effect of fit, adding only partial meaning over the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Set a named viewport orientation') plus the additional fit behavior, so the agent knows exactly what the tool does. It is clear but offers no differentiation against any sibling, since no other view-orientation tool exists in the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative. The only usage hint is the word 'optionally' for the fit argument, which is a parameter detail rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_set_visibilityADestructive
Set exact native visibility for current bodies, linked instances, approximate reference meshes, or groups. Hidden geometry remains in the document and can be restored with the same tool.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| bodyIds | No | ||
| visible | Yes | ||
| groupIds | No | ||
| revision | Yes | ||
| instanceIds | No | ||
| referenceMeshIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, but the description adds genuinely useful context beyond them: hidden geometry is not deleted and is restorable with the same tool, effectively clarifying that the 'destructive' flag overstates the risk. It does not, however, disclose the concurrency/revision requirement or permission expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and scope, with the restoration caveat following. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool with no output schema and zero schema description coverage, the description covers purpose and reversibility but omits the meaning of the required 'revision' (likely an optimistic-concurrency token) and 'visible' arguments. Enough to call it, not enough to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it only partly does. The four entity types named ('bodies, instances, reference meshes, groups') give real meaning to bodyIds, instanceIds, referenceMeshIds and groupIds, but the required 'visible' and 'revision' parameters and the 'intent' field are left completely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Set ... visibility') and enumerates the exact target resource classes ('current bodies, linked instances, approximate reference meshes, or groups'), so the agent knows precisely what the tool operates on. It is unambiguous and cannot be confused with the selection/list/inspection siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this tool versus the adjacent list/select/set_locked/activate_group tools, nor any precondition or exclusion. Usage is only inferable from the purpose itself, which falls short of explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_set_workplaneCDestructive
Activate a current construction plane in the selected Plasticity window.
| Name | Required | Description | Default |
|---|---|---|---|
| plane | Yes | ||
| intent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=false, so the safety profile is available externally. The description adds no behavioral context beyond the action itself—it does not explain what changes, what could be lost, or any side effects, leaving the annotation's destructive hint unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It is appropriately sized, though its brevity comes at the cost of information rather than being a model of efficient completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a required nested object parameter, no output schema, and destructive annotations, the description is far too thin. It omits parameter requirements, expected behavior, and any distinction from sibling tools, leaving an agent without enough context to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two parameters, including a required nested plane object with four required fields and an optional intent string. The description mentions no parameters, field meanings, or expected format, so it fails to compensate for the absent schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Activate') and resource ('construction plane'), and the action is distinguishable from sibling tools that create or remove construction planes. However, it does not clarify what a 'current construction plane' is or how this differs from other plane-related tools beyond the verb choice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states only what the tool does, with no guidance on when to use it versus alternatives such as plasticity_create_construction_plane or plasticity_remove_construction_plane. No prerequisites, context, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_size_memberBRead-only
Evaluate an explicit finite list of rectangular-member heights or plate thicknesses. This is a deterministic scenario calculation and does not modify CAD.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| heightsMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds that the tool is deterministic and does not modify CAD, which reinforces and slightly extends the annotation profile. It does not disclose return behavior, error conditions, or how the extensive input object is processed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no wasted words. The main purpose is front-loaded, and the non-destructive nature is stated immediately afterward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a complex, deeply nested input schema, no output schema, and 0% schema description coverage, the description is too sparse. It omits explanation of the required input object, method choices, material/evidence requirements, and what the evaluation returns. An agent would need to reverse-engineer most of the call contract from the raw schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the input schema is a large nested object with two top-level required parameters. The description mentions heights or plate thicknesses, which loosely maps to the heightsMm array, but it says nothing about the required 'input' object (goal, method, material, evidence, assignments, assumptions, binding). It does not compensate for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Evaluate an explicit finite list of rectangular-member heights or plate thicknesses.' It also distinguishes the tool from CAD modification. However, it does not differentiate this tool from sibling strength or inspection tools such as plasticity_inspect_rectangular_member or plasticity_calculate_rectangular_strength_from_coupon_data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance or alternatives. It only states that the tool is a deterministic scenario calculation and does not modify CAD, which is context but not usage direction. An agent must infer when to choose this tool over the numerous sibling strength tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_slide_curve_control_pointsBDestructive
Slide one or more exact current Wire handles by a positive millimeter distance along each handle's local positive-U or negative-U control-polygon direction. Use the unit directions returned by plasticity_list_curve_control_points to predict the world-space result. All handles share one direction sense and distance, and the edit occupies one Plasticity history step. Re-read handles and exact B-Rep geometry afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| points | Yes | ||
| revision | Yes | ||
| direction | Yes | ||
| distanceMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and non-read-only, but the description adds real behavioral context beyond them: all handles share one direction sense and distance, the edit occupies a single Plasticity history step, and handles/geometry should be re-read afterward. This meaningfully informs invocation, though it doesn't clarify reversibility or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences, front-loaded with the action and its geometric constraint, followed by prediction, scope, and post-conditions. Efficient, though somewhat dense with jargon that could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema and 0% schema coverage, the description covers the mechanics, history-step behavior, and follow-up well. However, it omits the meaning of 'revision' (likely optimistic concurrency), 'intent', and the two point kinds the schema accepts, leaving real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies 'distanceMm' (positive millimeter distance) and 'direction' (positive-U/negative-U), but leaves 'points' (vertex vs control-point kinds), 'revision', and 'intent' entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('slide'), resource ('exact current Wire handles'), and a distinctive constraint ('along each handle's local positive-U or negative-U control-polygon direction') that sets it apart from freeform siblings like plasticity_move_curve_control_points. It does not explicitly name the alternatives, so it falls short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful workflow guidance (predict the result using plasticity_list_curve_control_points directions, then re-read afterward) but never states when to prefer this over move/rotate/scale_curve_control_points, nor any prerequisites. Usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_split_curve_segmentADestructive
Split one exact nonperiodic current Wire segment into two consecutive segments at a normalized parameter strictly between 0 and 1. Evaluate the intended point first with plasticity_evaluate_curve_segments. The Wire body remains one body and its path is preserved, but every old segment reference becomes stale. Full periodic circles are rejected because one split point only relocates their seam.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| segment | Yes | ||
| revision | Yes | ||
| normalizedParameter | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and readOnlyHint=false, and the description adds substantial non-obvious context: the Wire body remains a single body, its path is preserved, and critically every old segment reference becomes stale. It also explains why periodic circles are rejected - behavior an agent cannot infer from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each carrying distinct information: core action with constraints, prerequisite tool, side-effect on references, and the periodic-circle exclusion. Front-loaded with the primary operation; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no output schema, the description covers safety-relevant behavior and prerequisites well. The remaining gap is the undocumented 'revision' and 'intent' parameters, which the description does not explain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all 4 parameters. It explains 'normalizedParameter' (strictly between 0 and 1) and implies the segment selection via 'exact nonperiodic current Wire segment,' but 'revision' and 'intent' are never addressed. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (split) and resource (curve segment) with precise scope qualifiers: 'one exact nonperiodic current Wire segment,' 'normalized parameter strictly between 0 and 1.' This clearly distinguishes it from siblings like plasticity_subdivide_curves or plasticity_split_solid_by_plane.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly directs the agent to a prerequisite alternative ('Evaluate the intended point first with plasticity_evaluate_curve_segments') and states a when-not condition ('Full periodic circles are rejected because one split point only relocates their seam'). Both selection context and exclusions are covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_split_solid_by_planeADestructive
Split one current Solid into exactly two native Solid parts with one explicit plane that crosses its interior. The tool derives an oversized planar cutter from exact B-Rep bounds, cuts the Solid, verifies both native volumes sum to the original within tolerance, checks unrelated bodies are unchanged, and removes its temporary cutter geometry. It does not add an assembly joint; create a qualified locating-pin or tongue-and-groove joint afterward if required. The plane origin, normal, and in-plane x direction are millimeters/world vectors and the tool occupies four native history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| normal | Yes | ||
| originMm | Yes | ||
| revision | Yes | ||
| targetId | Yes | ||
| xDirection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=false, but the description goes well beyond them: it explains the oversized B-Rep cutter derivation, the volume-conservation verification, the unrelated-body check, the removal of temporary cutter geometry, and that the operation consumes four native history steps. That history/cleanup/verification detail is exactly the kind of behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Roughly four dense sentences, front-loaded with the operation and its guarantee, with the joint caveat placed after. Nearly every clause carries information, though the verification/cleanup sentence could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, no-output-schema tool, the description covers mechanism, verification, and side effects well, but never indicates what the caller receives (e.g., new body identifiers or a success/failure status) or what a failed volume-tolerance check yields. That return-value gap is the main incompleteness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does by defining units for three parameters ('plane origin, normal, and in-plane x direction are millimeters/world vectors'). It says nothing about targetId, revision, or the intent string, so half the parameters remain unexplained beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a precise verb+resource+scope: split one current Solid into exactly two native Solid parts with one explicit plane crossing its interior. The phrase 'one explicit plane' implicitly distinguishes it from the plural sibling plasticity_split_solid_by_planes, and the tool's mechanism (oversized planar cutter from B-Rep bounds) is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It usefully clarifies the downstream workflow ('does not add an assembly joint; create a locating-pin or tongue-and-groove joint afterward'), which tells the agent this is a geometric split, not a joint. However, it never states when to choose this single-plane tool over the plural plasticity_split_solid_by_planes or plasticity_split_solid_to_build_volume, leaving alternative selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_split_solid_by_planesADestructive
Split one current Solid into a grid using an ordered list of explicit world-space planes. Each plane is applied only to current Solid parts whose exact B-Rep bounds it crosses; each native cut must produce exactly two valid Solid results and preserve volume, temporary cutters are removed, and the final part volumes are checked against the source. Planes are processed sequentially and partial results remain if a later cut fails; reconcile and inspect before continuing. This tool does not choose planes from a Workbench splitPlan, orient the source, or add joints. Each successful cut uses four native history steps.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| planes | Yes | ||
| revision | Yes | ||
| targetId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark this as destructive and non-read-only, and the description adds substantial operational detail beyond them: volume preservation checks, temporary cutter removal, sequential processing behavior, partial-result persistence on failure, and four native history steps per successful cut. This gives the agent strong behavioral context for a high-impact operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and then layers constraints, failure behavior, and exclusions. It is relatively long but most sentences carry operational value; structure is clear, though the density of clauses makes it slightly heavier than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex destructive solid-splitting tool with no output schema and only basic annotations, the description covers purpose, failure semantics, volume validation, history-step cost, and exclusions thoroughly. The main remaining gap is parameter-level explanation, especially revision and intent, but the overall operational picture is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, but it only clarifies that planes are an ordered list of explicit world-space planes and that bounds-crossing matters. It does not explain originMm, normal, xDirection, revision, intent, or targetId beyond what the bare schema property names imply, leaving significant parameter meaning undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — split one current Solid into a grid — and specifies the mechanism: an ordered list of explicit world-space planes. It also distinguishes the tool from related workflows by stating what it does not do, such as choosing planes from a Workbench splitPlan or adding joints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear conditions and constraints: each plane is applied only where it crosses exact B-Rep bounds, each cut must yield exactly two valid Solids, and partial results remain if a later cut fails, so the agent should reconcile and inspect before continuing. It also names exclusions, though it does not explicitly say when to prefer this over the singular-plane sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_split_solid_to_build_volumeADestructive
After orienting a current Solid to the printer's world X/Y/Z axes, split it into an even grid sized from its exact native B-Rep bounds and the selected profile's usable build volume in millimeters. The tool derives world-space cut planes, performs the bounded native multi-plane recipe, validates exact total volume and native Solids, and verifies every result's exact bounds fit the usable volume within 0.01 mm. It does not rotate the part or create assembly joints; a failed operation can leave confirmed earlier cuts, so inspect the revision and scene before continuing.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| targetId | Yes | ||
| usableBuildVolumeMm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses the internal mechanics (derives world-space cut planes, bounded native multi-plane recipe, total-volume validation, 0.01 mm bounds verification) and a concrete failure mode ('a failed operation can leave confirmed earlier cuts'). That is exactly the destructive-operation context an agent needs on top of destructiveHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then behavior, then caveats. Dense but each clause adds distinct information (validation, bounds tolerance, failure mode). Slightly long, but no filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no output schema and no rich annotations, the description covers prerequisites, behavior, validation guarantees, and recovery caveats well. The remaining gap is that intent and targetId semantics are left entirely to the undocumented schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden. It explains usableBuildVolumeMm (the profile's usable build volume in millimeters) and hints at revision semantics ('inspect the revision'), but never mentions targetId or intent. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (split) on a specific resource (a current Solid) with precise scope: an even grid derived from exact native B-Rep bounds and the profile's usable build volume. This implicitly and clearly separates it from plasticity_split_solid_by_plane / plasticity_split_solid_by_planes, which take explicit planes rather than deriving them from a build volume.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition ('After orienting a current Solid to the printer's world X/Y/Z axes') and an explicit when-not ('It does not rotate the part'), steering the agent to orient first. It also advises inspecting the revision and scene before continuing. It stops short of naming the sibling tools explicitly, so it is strong but not fully routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_static_fem_reportARead-only
Read a persisted linear-static FEA report and check whether its CAD binding and referenced exact-process coupon record still match. When an isotropic report contains a directly traceable factored von Mises allowable, returns the raw peak stress comparison for every saved case and mesh level. When a homogeneous orthotropic report contains all nine traceable, already factored directional allowables, returns a componentwise maximum-normal/maximum-shear screen in its material-local frame; the fixed-frame screen is unavailable for layer-local reports. An optional 3D Tsai-Wu screen uses measured single-process strength data and biaxially derived interaction coefficients evaluated at each local integration-point tensor; it reports failure index and proportional load factor only. Layerwise static FEA applies one measured material tensor in G-code-mapped frames and assumes perfectly bonded interfaces; it does not predict delamination. Use cohesive-interface analysis with measured interface tests for that. These results remain diagnostic and never establish strength, convergence or print approval. Missing, corrupted or newly conflicting coupon records make a bound report stale; reports remain immutable and are not refreshed automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| reportId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/no-destructive, but the description adds substantial behavior beyond them: results are diagnostic and 'never establish strength, convergence or print approval', reports are immutable and never auto-refreshed, and stale binding/conflicting coupon records are explained. This is rich, non-obvious context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core read action, but the middle sentences are dense domain jargon detailing per-report-type returns. Given there is no output schema this detail is defensible, yet it reads as more than the selection decision requires.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, describing what is returned for isotropic, orthotropic and Tsai-Wu cases is necessary and present, as are staleness and immutability semantics. The only real gap is any explanation of the reportId parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single reportId parameter has 0% schema description coverage, and the description adds no format, source, or lookup guidance for it. It only frames the id implicitly through 'a persisted ... report', leaving the agent to infer semantics from the pattern alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read a persisted linear-static FEA report') plus the secondary action (checking CAD binding / coupon record match). It is clearly distinguishable from siblings like plasticity_analyze_static_fem (which runs an analysis) and plasticity_cohesive_fem_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes one case elsewhere: 'Use cohesive-interface analysis with measured interface tests for that' when delamination prediction is needed, and states when the fixed-frame screen is unavailable. It lacks guidance on when to read an existing report vs. run a new analysis, but the read-only framing implies it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_statusARead-only
Read a compact document summary with identity, revision, exact body bounds, topology counts, and Undo/Redo state. Body summaries are paginated with bodyOffset/bodyLimit (default 0/50, maximum 200); follow bodyPagination.nextOffset and pass the prior page's revision as expectedRevision so scene edits cannot mix pages. Use plasticity_body_info for exact face/edge/vertex geometry of one body, or plasticity_list_bodies for paginated topology details.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyLimit | No | ||
| bodyOffset | No | ||
| expectedRevision | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/openWorldHint/destructiveHint, so safety is covered. The description adds genuinely useful behavior beyond that: pagination defaults and maximums, and the revision-pinning mechanism that prevents scene edits from mixing pages. It stops short of describing error handling or failure modes, but the added context is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with zero filler, and the most important information (what it reads, what the payload contains) is front-loaded before the pagination mechanics and the sibling routing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description takes on the burden of describing the return content, which it does (identity, revision, body bounds, topology counts, Undo/Redo state), and it fully explains the paginated body-summary behavior. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 load, and it does: bodyOffset/bodyLimit defaults (0/50) and maximum (200) are given, and expectedRevision is explained in terms of passing the prior page's revision to avoid mixed pages. All three parameters are meaningfully documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Read') and resource ('compact document summary') and enumerates the exact payload: identity, revision, exact body bounds, topology counts, and Undo/Redo state. It is clearly distinguishable from siblings, which it names explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when to reach for alternatives: 'Use plasticity_body_info for exact face/edge/vertex geometry of one body, or plasticity_list_bodies for paginated topology details.' It also describes the correct pagination workflow (follow bodyPagination.nextOffset, pass the prior page's revision as expectedRevision), so an agent knows both when to use it and how.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_strength_methodsBRead-only
List deterministic member, plate and section methods plus Codex analysis availability. Search accessible primary product/material sources before asking the user for known facts.
Before requesting missing print-material data, call plasticity_plan_single_material_strength_tests for the selected method and exact one-material process. Use its measurement matrix to ask only for evidence needed by that route; explain why the measurements matter and never invent coupon values or allowables. A DCB task may contain an explicitly labeled generic-PLA literature geometry as a starting reference only; do not present it as a Creality property, normative specimen size, or sample-count requirement, and require checking the selected process, fixture and method. Keep the confirmed road/build axes and same-material layer-interface assumptions explicit.
For Creality PLA literature references, read plasticity://strength/interlayer-literature-baseline. It contains separate CR-PLA and Hyper PLA records plus generic-PLA Z-tension/DCB context; do not merge product families or transfer values across SKUs. It is a screening reference only: do not register literature values as physical coupons or interface tests, bind them to the user's exact K1C process, treat them as design allowables, or infer a traction-separation curve from fracture energy. Manufacturer-mirror discrepancies and non-matching printer/process tests must remain visible; ask for exact-process physical tests before a calibrated cohesive result. When the user provides raw direct-tension machine CSV, call plasticity_import_interface_tensile_csv first with explicit specimen-ID/force headers, delimiter, decimal separator, force unit and sign, measured net area and observed failure location for every coupon. Review its hashed peak-force preview; the importer does not filter or correct machine data, register a test, or derive DCB/ENF/MMB curves. For directly loaded specimens supplied in another format, record every sample's measured peak force, net cross-section, observed failure location and SHA-256/source locator, then call plasticity_calculate_interface_specimen_strengths; report force/area as nominal specimen stress. Include only confirmed interface failures in its summary statistics; show bulk/fixture failures individually and do not pool them with interface failures. Keep all statistics descriptive only. Do not call these local interface tractions or design allowables, and do not use them as a cohesive law.
When a raw DCB force/displacement CSV is available, use plasticity_import_dcb_mode_i_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting explicitly, then select the exact source record for every manually observed crack-growth point and enter that measured crack length; never let the importer filter traces, infer growth or select peak loads. It converts units only, preserves the source hash/record locators and calculates an exploratory MBT G_I(a) curve. Require the caller to establish machine-compliance-corrected load-point displacement and quasi-static linear-elastic behavior; attestations are not independent verification. Review selected rows, crack lengths, calculation and limitations against the physical log. If no CSV is available, plasticity_calculate_dcb_mode_i_energy accepts equivalent manually selected observations with traceable source hash/locators. This does not conform the test to ASTM D5528 (whose stated scope is unidirectional fiber composites), create a traction-separation law, or qualify CR-PLA. Never convert G_I into peak traction or strength without separate evidence.
When raw ENF force/displacement CSV is available, use plasticity_import_enf_mode_ii_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting; group calibration rows into each measured run/crack length, manually select only the initial-linear records, and manually select the observed initiation/peak record for the fracture run. The tool fits compliance from the selected rows, then the existing ENF calculator fits C against a^3 and returns exploratory G_IIc; it never searches for the linear range, crack growth or peak. Review each compliance fit, source hash/record locator, force/displacement correction and fixture log. If pre-reduced compliances are supplied, use plasticity_calculate_enf_mode_ii_energy directly. Neither path determines ASTM D7905 validity for printed PLA, registers physical evidence, builds an R-curve or yields a cohesive law. Keep the confirmed in-plane shear direction exact; do not merge ENF runs with differing direction just because their layer normals match.
When the requested failure mode is layer separation, distinguish CR-PLA's physical tensile/infill study and the two-sample CR-PLA-associated vertical layer-adhesion screen from the Hyper PLA flat tensile/flexural study: observed flexural delamination is qualitative failure-mode evidence, not a measured interface law. The baseline also records an upright generic-PLA tensile coupon on a Creality Ender 3 Pro and a custom generic-PLA interface coupon/calibrated cohesive parameter; neither identifies the filament as Creality nor establishes a same-process cohesive calibration. For only a nominal normal-strength screen across the layers, use the focused layer-interface-normal-tension scope; require measured failure at the interface and do not use that peak as a cohesive law. Use layer-interface-mode-i for a Mode-I fracture response, layer-interface-mode-ii for exploratory ENF Mode-II initiation energy using a same-fixture compliance calibration, and layer-interface-mixed-mode only when the requested analysis needs DCB/ENF/MMB cohesive evidence. The focused ENF calculator fits the experimentally supplied compliance against crack length cubed and uses the initiation peak; it is not an R-curve, does not verify the physical fixture or raw compliance fit, and does not claim ASTM D7905 validity for printed PLA. Layerwise static FEA assumes perfectly bonded interfaces and cannot answer a delamination question.
After reviewing an exploratory DCB energy preview against the physical test log, persist it only through plasticity_record_dcb_mode_i_energy_test with explicit confirmation that the measurements came from real physical tests. Retrieve a full record with plasticity_read_dcb_mode_i_energy_test and require exact process/interface-normal/protocol matching through plasticity_match_dcb_mode_i_energy_test before comparing runs. For ENF Mode-II energy, record reviewed measurements only through plasticity_record_enf_mode_ii_energy_test with the same physical-test confirmation; retrieve all calibration/fracture inputs with plasticity_read_enf_mode_ii_energy_test and exact-match process/interface-normal/in-plane-shear-axis/protocol using plasticity_match_enf_mode_ii_energy_test. Both immutable energy registries are separate from peak-strength and traction-separation records and are not consumed by cohesive FEA.
For an exploratory mixed-mode initiation partition, use plasticity_calculate_mmb_mode_i_ii_energy only when measured MMB force and geometry, same-process flexural and orthotropic moduli, and material-axis mapping are available; require lever weight to be measured negligible or counterbalanced. This Reeder-Crews beam-theory estimate does not establish ASTM D6671 validity for printed PLA and does not replace full mixed-mode traction-separation curves or provide a cohesive law. For raw MMB force CSV, use plasticity_import_mmb_mode_i_ii_energy_csv only with manually selected initiation records and a physically observed criterion; it does not search traces for onset/peak. Record a preview only after reviewing the source and confirming the data are from physical tests; matching caller confirmation with plasticity_record_mmb_mode_i_ii_energy_test persists and server-recomputes this separate energy estimate. Use plasticity_match_mmb_mode_i_ii_energy_test only for the exact process, interface normal, shear axis and protocol; read the full evidence with plasticity_read_mmb_mode_i_ii_energy_test. This registry is not cohesive input or an FEA source.
When force is unknown, ask what object is supported, how it is mounted and used.
Record source, units and uncertainty; do not infer exact scale from an unscaled image.
Ask at most one next-step question package per response, then wait for the user's answer. Include only facts needed to choose the next safe step; defer material, manufacturing, tolerances and detailed dimensions until they affect that decision. Re-evaluate after every answer and ask a focused follow-up only when it changes the method, required evidence or next action. If the user does not know, move to one useful contextual clue such as the supported object, use, environment or mounting; do not repeat a list of unknowns or guess. On a new bracket task, first ask compactly what it supports, its load/use and how it is mounted; defer section, material/process and displacement questions until that first answer narrows the load path and method.
Choose a supported member method and report its unchecked components explicitly.
For a flat rectangular panel, establish net pressure and the real condition of all four edges before choosing the simply-supported plate method. Do not infer edge support from appearance.
For a straight prismatic rectangular member in centred axial compression, use the Euler column method only when effective-length factor K, elastic limit, compressive allowable, and the actual restraint condition are supported by evidence. Use the weakest section axis, require a negative force value for compression, and reject Euler results when its predicted critical stress exceeds the supplied elastic limit; do not guess K or treat the method as an inelastic, eccentric-load, local-buckling, or whole-part check.
For an integral rectangular enclosure wall, inspect two opposed planar faces on the same Solid with plasticity_inspect_integral_rectangular_plate, then use plasticity_verify_integral_plate_strength to replace dimensions from exact native B-rep. The inspector accepts only rectangular faces whose outlines match or inset by one wall thickness on each side. It measures geometry only: establish the real support, pressure, material and edge conditions separately; never assume a box wall is simply supported.
For section analysis, identify the critical plane and explain the load path that makes it critical. Use an existing planar face when it matches; otherwise inspect an arbitrary plane through the Solid.
For one fastener carrying in-plane plate load, establish the load direction and separate bearing, shear and tensile allowables before calculating. Never substitute compressive strength for bearing strength.
For a fastener group on a rectangular planar face, inspect exact hole centers and boundaries, then check center-to-edge distance, hole-edge clearance, pitch, ligament and every applicable head, washer, nut or driver envelope against explicitly sourced or user-approved criteria. A measured layout without criteria is not a pass, and a layout pass is not a strength pass.
When checking the fastener member, establish its grade, tensile stress area, effective shear area at the actual plane, one or two shear planes, total axial tension including applicable preload, and actual shear load. Explain why the selected combined-load interaction is applicable before accepting it.
For a tapped hole, nut, or threaded insert under axial load, establish the designation, pitch, actual engagement, fully formed engaged thread count, and configuration-matched allowable loads for internal-thread stripping, external-thread stripping, and fastener tension. Do not infer any capacity from nominal M size. A procured nut or insert requires a specified assembly allowable or dedicated test rather than an unqualified nominal shear-area calculation.
For solver-backed static FEA, first use plasticity_match_material_coupon_data when a physically tested material record may match the print process. Only an unambiguous exact match for printer, material, profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers, nozzle temperature and measured slicer layer height can supply Young's modulus; pass the selected record ID/process and the exact recorded modulus so the server binds and validates it. If match is ambiguous because compatible partial records have no single consolidated record, ask the user for the confirmed count of unique physical specimens and call plasticity_combine_material_coupon_data with those exact record IDs; it preserves measured values and evidence without averaging. If records conflict, stop and ask the user which physical measurement applies. For an orthotropic print model, do not use a uniaxial coupon as a full tensor. When an immutable exact-process record contains the complete measured tensor and nu12, pass orthotropicMaterial.couponRecordId and process, plus materialCoupon with the same record ID; the MCP checks E1, nu12, every remaining constant, each evidence object and the confirmed global print axes, and rechecks the record when reading the saved report. Otherwise pass E2/E3, nu13/nu23, G12/G13/G23 with separate exact evidence, global material axes 1 and 2, and a user-confirmed or sourced global build direction; material axis 3 must align with that build direction and represents the homogeneous layer-normal response. This does not represent individual layers or prove adhesion. Model one material and one print process per analyzed part; do not combine material datasets or infer a multi-material print. When the selected exact-process coupon record contains a qualified Tsai-Wu dataset, pass its ID as orthotropicMaterial.tsaiWuQualificationRecordId along with the identical orthotropicMaterial.process; the server loads measured strengths, biaxial interaction data and source evidence, then verifies the axes. Do not copy or reconstruct criterion values by hand. If the exact-process match remains ambiguous after consolidation, ask the user to resolve conflicting measurements; never choose a record silently. The legacy youngsModulusMPa and poissonRatio fields are E1 and nu12. Ask the user to resolve the print-axis orientation if it is unknown; never infer it from a photo or CAD face. The server checks positive-definite compliance and rejects a von Mises allowable or coupon binding for this orthotropic model. Otherwise attach youngsModulusEvidence whose value exactly matches the modulus; measured/sourced evidence needs a URL, SHA-256 and locator. poissonRatioEvidence is always required and must exactly match the ratio. A physical coupon record may store measured nu12 with its exact process. If using its Tsai-Wu record-binding path, the server verifies the nu12 value and evidence against that record; otherwise supply the input evidence directly from a traceable source. Never infer nu12 from a generic plastic label. An assumed value must include its reason and stay explicitly scenario-only after discussing the assumption with the user. Optionally supply a directly measured or sourced, process-applicable factored von Mises design allowable using factoredVonMisesAllowableMPa, exact matching factoredVonMisesAllowableEvidence with URL, SHA-256 and locator, and factoredVonMisesAllowableBasis. It must already include the design factors. Never turn a generic tensile strength or raw coupon peak into a design allowable. The report will compare every sampled raw mesh peak with it as a diagnostic screen only: above means a sampled peak exceeds that supplied allowable; below does not prove strength. This never changes strengthPass or print approval. Confirm the actual restraints with the user. Legacy supportFaceIds fix all three global translations on each selected planar face; use explicit supportConditions only when the user has specified which global x/y/z translations are zero on each face. Each condition acts on all nodes of that face, is not a frictionless-contact or rotational support, and may leave rigid-body modes or create a singular system; do not infer it from a photo or face normal. Supports and loaded faces must not share mesh nodes. Every selected planar load face needs an explicit uniform traction and/or resultant force with its point of application and free moment. Use plasticity_analyze_static_fem only for one Solid with 1–8 explicit support conditions and load vectors grounded in a selected planar face. Use named loadCases for physically distinct scenarios such as weight, operating force and handling load; do not combine mutually exclusive scenarios. Each case has a separate solver result, and comparison proceeds only when the generated meshes are byte-identical. Set meshRefinementSteps to 1–3 for two to four mesh levels when a trend across successively halved element sizes is useful; the report classifies the sampled direction of raw maximum von Mises stress and observed displacement as increasing, decreasing, unchanged, non-monotonic or insufficient-levels. For more than four levels, run separate analyses against the same current CAD revision and call plasticity_compare_static_fem_refinement_reports; it merges only reports with matching loads, supports, material evidence, native geometry and byte-identical overlapping mesh results. Check the returned freshness before relying on it. Treat all trend labels and relative changes as diagnostic evidence only. Never call a mesh trend a pass or proof of convergence. Each result includes the raw maximum C3D4 integration-point stress element and its mesh-element centroid in millimetres; this is a mesh-bound locator, not an averaged stress field, a resolved critical-region boundary, or proof of a physical hotspot. Locations may move between refinement levels. The legacy top-level load fields still represent one case. The tool returns total and per-support reaction forces and moments, global force/moment equilibrium residuals and a named displacement axis for each case; per-support values are diagnostic resultants over each support node set. Re-read it with plasticity_static_fem_report; any CAD revision change makes it stale.
For layerwise static FEA, keep the single-material exact process consistent from measurement through solver input. Read the immutable profile hash, infill pattern, wall loops, top/bottom shell layers and measured layer height from workbench_manufacturing_profiles, then slice the intended model/orientation with the selected Creality K1C profile. Record actual specimen settings if per-object overrides differ from profile defaults; an unchanged profile hash does not erase those differences. Call workbench_slicer_layer_path_orientations in batches of up to 32 and combine layer-path results for every deposited layer, including the final deposited layer, into layerPathEvidence with identical job ID, profile hash, source-artifact hash and G-code hash. Layerwise static orientation is supported only for a complete linear or planar circular-arc direction result for every layer in stacks of 2–33 layers; do not fill missing or curved-path directions by inference. Confirm pathFrameMapping.slicerXDirectionGlobal in CAD global coordinates and explicitly confirm that the same exact-process coupon's material axis 1 represents the dominant deposited-road direction in roadAxisMapping. Call plasticity_plan_cohesive_layer_planes with the same profile hash and layer height, current CAD anchor at the first interlayer plane, confirmed CAD build direction, total layer count, and the full layer-path evidence/mappings; pass its returned plan as layerPlanePlan to plasticity_analyze_static_fem. When the slicer supplies actual interface heights, call workbench_slicer_interface_heights for every interface in this complete stack, set each interfaceOffsetsMm value to its depositionLayerZMm minus firstDepositionLayerZMm, and attach the matching job/profile/source/G-code hashes as depositionPathEvidence; this preserves first-layer and adaptive heights instead of assuming nominal uniform spacing. The static analyzer requires the plan to match the one measured orthotropic process and applies the same measured orthotropic tensor to each layer with its confirmed G-code-mapped frame. It assumes perfectly bonded layers and cannot assess delamination. Do not use static FEA to assess delamination; use the separate same-material cohesive route only when matching physical interface tests are available. Never infer layer directions, material identity or interlayer strength from a photo, generic material label or nominal slicer preset.
For orthotropic FEA, optionally supply all nine directly traceable, already factored X/Y/Z tensile and compressive plus XY/XZ/YZ shear limits in orthotropicMaterial.factoredAllowables, with separate exact-value evidence and an applicability/design-factor basis. Never substitute generic datasheet strength or an unqualified coupon peak. The returned componentwise maximum-stress screen uses local material-axis stress extrema and is diagnostic only; it assumes one homogeneous orthotropic continuum, does not model layer interfaces, delamination or different-material joints, and omits multiaxial interaction. Matched interlayer-test data can inform Z-tension and XZ/YZ-shear allowables but does not turn this into a cohesive-interface analysis. Never report this screen as verified layer adhesion, part strength or print approval.
For an optional 3D Tsai-Wu first-failure screen in orthotropic linear FEA, require one exact single-material printer/material/profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers and nozzle-temperature identity in orthotropicMaterial.process. Prefer binding the unique exact-process qualification by its orthotropicMaterial.tsaiWuQualificationRecordId; the server loads its nine directly measured, un-factored X/Y/Z tensile/compressive and XY/XZ/YZ shear failure strengths, three normalized XY/XZ/YZ normal-interaction coefficients and evidence, then verifies material axes. Each strength test must attest its material-frame axis and mode (for example, x tension is material-1 tension; xy shear is material-1-2 shear); each interaction and its source dependencies must attest the corresponding biaxial plane. Legacy records without these direction attestations remain readable but cannot qualify a Tsai-Wu FEA. A complete inline orthotropicMaterial.tsaiWuCriterion remains supported when needed. Interactions must be derived from traceable biaxial tests. Ask the user for these records if missing; never copy generic datasheet values, assume the conventional interaction coefficient or infer it from uniaxial coupons. The normalized interaction matrix must be positive definite. The result reports local integration-point failure indices and proportional load factors to index one only. A load factor is not a design safety factor, and neither a sub-unity index nor a large load factor means the part passed. The model still represents one homogeneous material, not individual roads or delamination.
When actual test-coupon G-code is available, preserve its profile/source/G-code hashes, selected per-layer road summaries and explicitly user-confirmed slicer-to-global axes in depositionPathEvidence. This is test provenance only, not an adhesion measurement or solver input; never reconstruct road direction from nominal slicer settings.
When physical adhesion between printed layers of one material is relevant, use plasticity_record_material_interface_test only for caller-provided measured test results with the same exact printer/material/profile process on both sides, interface normal, test mode, load direction, fixture/specimen protocol hash and observed failure location. Normal-tension load direction must align with the interface normal; interface-shear load direction must lie in its plane; mixed-mode must contain both components. Store full compliance-corrected pure-mode curves as scalar separation/traction data and MMB curves as separate normal/tangential separation and traction components, with source SHA-256 and locator. Call plasticity_analyze_material_interface_test_curve to summarize measured work and mode mixity. When the user has a CSV of already processed physical fracture data, use plasticity_import_interface_fracture_csv for a read-only per-specimen preview; explicitly map the method, columns, units and CSV formatting, and attest that the values are already compliance-corrected physical traction-separation data. Never convert raw machine force-displacement data with this importer. Verify each source hash/record locator, specimen, fixture, exact print process and observed failure plane before separately recording any curve with plasticity_record_material_interface_test. For a CZM_TURON candidate fit, provide Mode-I DCB, Mode-II ENF and at least two MMB tests at distinct measured energy fractions; all ENF and MMB tests must use the same in-plane shear axis within one degree because this route has a single tangential cohesive law. The MCP requires those protocol identifiers in each testMethod and reports the pure-mode peaks plus fit residuals. Review residuals against test uncertainty. Do not invent ETA_BK. K is not identified by that fit and must not be silently guessed. Code_Aster CZM_TURON uses one normal and one tangential cohesive response, sharing tangential strength and fracture energy across both in-plane tangent directions; it cannot represent direction-dependent shear adhesion. Matching shear axes prevents mixing directional datasets but does not prove that the bond is isotropic. These outputs summarize physical evidence only; they are not qualified cohesive-law parameters, design allowables or a part FEA. Do not claim bond integrity from the homogeneous orthotropic FEA screen.
Use plasticity_analyze_cohesive_interface only for a single-material printed part, with an exact-process coupon for that one bulk material, traceable Poisson ratio and a matching immutable same-material layer test. Dissimilar-material printed bonds are rejected before meshing and are outside this calculation scope. Mode-I analysis requires a full normal-tension DCB traction-separation curve with failure at the layer interface. Its modeILaw may explicitly select CZM_EXP_REG or CZM_LIN_REG; omitted input preserves the CZM_EXP_REG default. Both parameterize their softening law from measured peak traction and integrated fracture energy and do not fit the full measured curve shape. Review this choice against the measured curve and record the reason; do not infer it from part geometry. Read the returned solver.result.v3Interpretation: for CZM_EXP_REG, V3 is a damage variable in [0,1]; for CZM_LIN_REG, V3=2 means the cohesive element is completely broken, so do not present it as the same normalized damage fraction. By default it uses isotropic bulk elasticity with pinned Code_Aster 15.2. If useOrthotropicBulkProperties is explicitly enabled, Mode-I uses Code_Aster 17.4 and applies one measured homogeneous orthotropic tensor; when explicit layerwise mapping is enabled, each bulk layer uses its G-code-mapped frame while all layers share that same tensor. The mixed-mode Turon route additionally requires same-process-pair DCB, ENF and at least two MMB tests at distinct measured energy fractions, traceable K, and an explicit global displacement with both opening-normal and in-plane tangential components greater than one degree. The displacement's shear axis must match the common measured ENF/MMB shear axis within one degree; reject other directions because this solver law has one tangential response. All ENF and MMB tests must use the same in-plane shear axis within one degree. Supply 1..32 ordered parallel split planes for a same-material layer stack; their normals may be tilted in global coordinates, and the same measured layer law is repeated at every plane. This equivalent-interface assumption does not resolve individual roads or within-layer raster variation. Either route may accept useOrthotropicBulkProperties when the exact-process coupon contains measured E2/E3, nu13/nu23, G12/G13/G23 evidence and a confirmed or traceable global print frame. Check the exact-process coupon match is unambiguous and do not infer axes from a photo or CAD face. Confirm the tested material's side relative to the chosen split-plane normal; do not infer this from the body or face normals. The measured test direction must match the normal/shear mode; the support face lies below the first split plane and the loaded face above the last plane along the shared normal. The server derives peak traction, integrated fracture energy and displacement endpoint from exact tests, exports the selected current Solid, creates a conforming multi-region mesh with a cohesive element set at every requested plane, and aborts if the CAD revision changes. Review the mesh-resolution screen and perform refinement/sensitivity work as needed. Turon approximates measured curves using peak/area parameters and its K still needs sensitivity analysis. The bulk tensor remains one measured single-material continuum whose local frame may vary by mapped layer; repeated cohesive planes use the same measured, direction-independent interface law and do not resolve individual deposited roads, within-layer raster mixtures or direction-dependent adhesion. Use results only as raw solver responses; never report it as a part-strength verdict, qualified layer-adhesion value, print approval or design allowable.
Before asking for a physical coupon record, obtain the selected immutable profile hash plus material.nozzleTemperatureC, slicer.layerHeightMm, slicer.nominalInfillPercent, slicer.sparseInfillPattern, slicer.wallLoops, slicer.topShellLayers, and slicer.bottomShellLayers from workbench_manufacturing_profiles when those settings are available. Carry the exact process values into the record; do not infer missing infill or substitute a generic profile. These are resolved profile defaults; sparse fill or shell settings may be overridden per object and must not be assumed when a modifier was used. If the coupon was printed with a different setting, first register/select the matching immutable process profile and hash. When layer positions should follow the actual print, record the measured profile hash and layer height in the physical interface-test and material-coupon process; layer height is part of exact process identity. After slicing, if the job reports a complete deposition-height schedule, call workbench_slicer_interface_heights for every selected interface index. Derive each offset as that interface’s depositionLayerZMm minus firstDepositionLayerZMm and pass the ordered values as interfaceOffsetsMm; this preserves first-layer and adaptive heights. Also pass the selected interface response plus its job/profile/source/G-code hashes, layer count and coordinate frame as depositionPathEvidence so the cohesive report retains the exact per-layer road-orientation observations. This evidence preserves the measured toolpath but does not qualify material properties. Use workbench_slicer_layer_path_orientations in batches of up to 32 to retrieve every layer direction (up to 33 total layers) when the user wants layerwise solver orientation. Confirm how slicer X maps into the CAD global frame and that the exact-process coupon axis 1 represents the dominant deposited-road direction; pass those confirmations as pathFrameMapping and roadAxisMapping. Combine complete responses, including the final deposited layer, as layerPathEvidence with shared job/profile/source/G-code hashes. Every layer must have complete linear or planar circular-arc coverage; do not treat unsupported arc/spline moves as complete. With explicit roadAxisMapping and useOrthotropicBulkProperties, Mode-I and Turon use one measured tensor with a separate local frame per layer. Without roadAxisMapping, frames remain candidates and do not affect solver response. This does not model multiple materials, layer-varying properties, within-layer raster mixtures or directional interface adhesion. Returned coordinates are in slicer build coordinates: map only relative offsets onto the confirmed CAD print axis, never copy absolute slicer Z into CAD. Otherwise the planner uses the nominal profile height. Call plasticity_plan_cohesive_layer_planes with that same profile hash and layer height, a point on the first interlayer plane after object placement, confirmed global build direction, total layer count and explicit interface indices. Copy both its plan and planes into layerPlanePlan and splitPlanes; analysis rejects legacy test records without a recorded layer height and any height that differs from the measured process profile. It also checks profile identity, plane coordinates, and (for orthotropic bulk) alignment with the coupon’s confirmed build direction. For up to 32 interfaces the planner requires the complete stack; for larger stacks it marks selected planes as incomplete, and omitted interfaces remain unanalyzed. Do not present selected-plane analysis as full-stack delamination resistance. If no validated placement/anchor is available, ask instead of inferring layer positions from an image or display mesh.
Read maximumVonMisesElementSICN alongside each raw stress-peak locator to see the Gmsh SICN of that exact tetrahedron. Compare it with the mesh minimum only as local mesh-shape context; neither a high value nor separation from the minimum proves stress accuracy, a resolved hotspot, convergence, or strength.
Read maximumPrincipalStressMPa and minimumPrincipalStressMPa as raw tensile/compressive principal extrema across sampled integration points, each with its own mesh locator. Their refinement trends and signed relative changes expose mesh sensitivity only; they are diagnostic and must never be compared with a von Mises allowable or reported as a pass without a criterion qualified for the selected failure mode.
The public FEA tool measures the rank of all fixed global translations at the actual mapped mesh nodes and stops before CalculiX if they leave any of the six rigid-body translation/rotation modes unconstrained. A full rank of six is necessary to remove those rigid-body modes, but it does not establish physical support validity, elastic stability, or absence of local mechanisms.
For a heat-set insert, use pullout and torque-out capacity only when the evidence matches the exact insert, host material, print profile, orientation, pocket and installation process. Ask for the worst-case demand on one insert; do not divide a group load evenly without a load-path model.
For two or more fasteners under an in-plane load, establish every transfer-point coordinate, both force components, the point of application and any free moment. Use the elastic group method only after confirming a rigid attachment and identical in-plane fastener stiffness. Use each fastener’s own vector resultant for any member check. On a rectangular mounting face, call plasticity_check_fastener_group_layout with an explicit opposedFaceId to verify matching native perforated faces and exact plate thickness. This is geometry evidence only and does not establish a load path or capacity. plasticity_verify_fastener_group_plate_bearing compares each elastic per-fastener demand with a directly traceable, configuration-matched, already factored bearing allowable using exact measured thickness and hole diameter. It can additionally check a straight transverse net-tension section only when you provide the external tensile resultant separately, identify local X or Y as its axis, supply a distinct traceable factored tensile allowable, and confirm uniform membrane tension, centered through-thickness loading and a straight transverse failure path. Never substitute per-fastener demands for the external plate tension or infer that resultant from a sketch. Optionally use edgeShearOut with a separate traceable, factored shear allowable to check local two-plane tear-out for per-fastener vectors aligned to local X or Y; diagonal vectors and e/d below 1.5 are unsupported, while e/d below 2 remains conditional. Angled/staggered fracture paths, compression-side buckling, shared-ligament interaction, unsupported tear-out directions, bypass and complete-joint strength remain unchecked; even a within-allowable result is only a conditional local screen. If a physical multi-hole plate test is run, record the measured specimen, exact hole layout, print-process/profile, fixture, load axis, individual peak loads and observed failure modes with plasticity_record_fastener_group_test, then use plasticity_match_fastener_group_test to find only an exact configuration match. A test match is evidence only: it does not produce a design allowable or pass a different part or support setup. To add a test benchmark to the CAD-bound report, first confirm that the record's exact process and fixture/load path apply to the current part. Supply the selected immutable record ID, an independently evidenced dimensional equivalence tolerance, the exact process, safety factor, and explicit process/fixture confirmations; the server then checks every measured plate and hole dimension against the live B-rep. This comparison only checks factored external tensile demand against the lowest observed specimen peak. It is not a statistically reduced allowable, strength pass/fail, or proof for unobserved failure modes. Do not select a nearby test by appearance or silently assume fixture equivalence. The single-through-fastener plate method assumes one hole; never repeat it per hole and aggregate the results into a multi-hole plate or whole-joint pass.
Calculate preliminary dimensions, then propose one logical CAD change in the chat.
Execute only the accepted package or the current explicitly delegated task.
Delegation ends when the task ends and is not restored after restart.
Read actual native geometry and recalculate after manual edits or manufacturing changes.
Workbench is optional. Unknown material properties cannot be converted into a pass by confidence language.
For an end-to-end tongue-root scenario, use plasticity_calculate_tongue_root_strength_from_coupon_data or plasticity_verify_tongue_root_strength_from_coupon_data. They match the physical coupon record to the exact Workbench profile hash, printer, material, orientation, infill, nozzle temperature and measured slicer layer height, then copy only measured Young's/shear moduli and their evidence into the calculation. Supply separately sourced tensile/shear design allowables and explain their applicability; raw coupon strengths are never substituted for allowables. These tools keep material suitability unconfirmed and the result conditional. No-match or conflicting records return without a calculation. If no record exists, ask for the report and unresolved process details, and record it only after the user confirms the physical tests. The registry does not check test-standard compliance, derive statistical design values, or certify a part. Never substitute a generic filament label or slicer properties for coupon evidence.
For axial rectangular or rectangular-cantilever scenarios with exact-process coupon data, use plasticity_calculate_rectangular_strength_from_coupon_data. It copies only measured Young's modulus and its evidence. Provide independent tensile design allowable evidence, plus an independent compressive allowable for a cantilever; state their applicability basis. Never map raw coupon tensile/compressive strengths into design allowables. These scenarios remain conditional with material suitability unconfirmed. Exact-process no-match or ambiguity returns without saving a calculation.
Nominal section stress is not whole-part validation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds context that this is a deterministic method/availability listing, but it does not describe return structure, pagination, or other behavior specific to invoking this tool; most behavioral detail concerns other tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long, spanning many unrelated workflows, tool-routing rules, and domain constraints. Only the first sentence is clearly front-loaded for this tool; the rest is massively overlong for a zero-parameter listing operation and does not earn its place in this definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter listing tool with no output schema, the description states what is listed and includes abundant surrounding context. It is arguably over-complete rather than incomplete, though it still does not describe the exact return format or pagination behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty, so there are no parameter semantics for the description to clarify. With no parameters and 100% schema description coverage, the baseline is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb and resource: 'List deterministic member, plate and section methods plus Codex analysis availability.' That is much clearer than the tool name alone. However, the description does not explicitly distinguish this catalog/listing tool from sibling strength calculators, and it spends most of its text giving instructions for other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to consult the method list and provides broad workflow guidance such as searching sources before asking the user for known facts. It does not, however, state when to use this tool versus alternatives, nor does it give a clean call condition for this specific listing operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_strength_reportCRead-only
Read an immutable report and evaluate freshness against optional current task/material inputs and live CAD identity for bound reports.
| Name | Required | Description | Default |
|---|---|---|---|
| current | No | ||
| reportId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: the report is immutable, freshness is evaluated against live CAD identity only for bound reports, and current task/material inputs are optional. It still omits what a freshness verdict looks like or what happens on a stale report.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with the verb front-loaded ('Read an immutable report') and the qualifiers trailing. No filler, though the sentence is packed tightly enough that the conditional clauses take a second read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema and an enormous nested input schema, the description leaves the agent without the return shape, the meaning of a freshness result, or the identity fields required for a bound report. It is minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate; it partially does by characterizing the 'current' parameter as optional task/material inputs and clarifying that 'reportId' names an immutable report. However, it gives no format, structure, or constraint detail for either parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource are present (read a report, evaluate freshness), but 'a report' is generic in a family that contains plasticity_static_fem_report, plasticity_section_strength_scan_report, plasticity_fastener_group_plate_bearing_report and plasticity_cohesive_fem_report. Nothing tells the agent which report types this tool handles or how it differs from those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no alternative named. 'For bound reports' hints at a conditional branch (live CAD identity) but not at what invokes it or what to do when the report is unbound. The agent must infer the selection criteria from the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_strength_requestBRead-only
Read one persisted strength-analysis request without starting or retrying Codex.
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds that no Codex run is started or retried and that the request is 'persisted', which is useful side-effect context beyond the annotations, but it does not describe what happens if the requestId does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with zero filler, and the distinguishing constraint is front-loaded at the end of the verb+resource core. Nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read tool with annotations covering safety, the description is close to adequate, but with no output schema the agent gets no sense of what a 'request' record returns, and the requestId parameter is left undefined. These are real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter (requestId) with 0% schema description coverage, so the schema documents nothing about it. The description does not explain the identifier's format, origin, or how to obtain it, leaving the sole parameter essentially undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource ('one persisted strength-analysis request'), and adds a scope qualifier ('without starting or retrying Codex') that separates it from a start/retry counterpart. It never names that counterpart explicitly, so sibling differentiation is implied rather than spelled out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without starting or retrying Codex' implies this is the read-only path for inspecting an existing request rather than launching work, which gives decent contextual usage signal. However, it names no alternative tool and gives no explicit when-to-use or precondition guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_subdivide_curvesADestructive
Insert native knots into one or more current B-Spline Wire bodies while preserving degree and shape. This adds local edit points without changing the curve's path. Inspect native curve structure before and after; each call occupies one Plasticity history step.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations set readOnly=false and destructive=true, and the description meaningfully adds to that: shape and degree are preserved, the path doesn't move, and every call takes one Plasticity history step (relevant undo/state behavior). Missing details on failure modes or required selection state, but clearly beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded, then the outcome, then the operational caveat. No filler, and each sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating B-Spline tool with no output schema, the description covers purpose, effect on geometry, and history impact, which is decent. It falls short on parameter meaning (notably the required 'revision') and on the before/after inspection it tells the agent to perform.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description never explains the three parameters. It only loosely implies that ids are the target B-Spline Wire bodies; 'intent' and the required 'revision' string are completely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Insert native knots into ... B-Spline Wire bodies') and elaborates the mechanism: adds local edit points without changing the curve's path. The scope is clear, but it does not differentiate itself from the close sibling plasticity_insert_curve_knot, which sounds nearly identical.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It hints at workflow ('Inspect native curve structure before and after') and warns that each call consumes a history step, implying when it fits. But it never states when to prefer this over plasticity_insert_curve_knot, plasticity_rebuild_curves, or plasticity_raise_curve_degree, leaving the alternative selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_sweep_regionsCDestructive
Sweep one or more explicit closed Regions along a native Wire spine to create exact Solid geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| scale | No | ||
| corner | No | miter | |
| intent | No | ||
| spineId | Yes | ||
| revision | Yes | ||
| simplify | No | ||
| alignment | No | normal | |
| regionIds | Yes | ||
| twistDegrees | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=true, so the agent knows this creates/modifies geometry. The description adds the constraint that inputs must be closed Regions along a native Wire spine, which is useful behavioral context. It does not, however, disclose side effects (e.g., whether the source Wire or Regions are consumed or preserved), so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded with the operation and resource, and contains no filler. It is appropriately sized, though it could be marginally more structured by breaking out prerequisites.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex, nine-parameter, destructive geometry operation with no output schema and 0% schema description coverage, the description is far too thin. It omits parameter explanations, prerequisites, and side-effect behavior, leaving significant gaps an agent would need to fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description names none of the nine parameters (regionIds, spineId, revision, scale, corner, alignment, simplify, twistDegrees, intent). With zero description-level parameter explanation and zero schema-level descriptions, the agent is left guessing what each parameter does, especially non-obvious ones like 'alignment' or 'twistDegrees'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (sweep), the source geometry (closed Regions along a native Wire spine), and the result (exact Solid geometry). It clearly separates this operation from sibling creation tools like extrude_regions or loft_regions. However, it doesn't explicitly name which sibling it's an alternative to, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to choose sweep over loft, extrude, or pipes, nor any prerequisites such as the need for a Wire spine and closed Regions. The description merely states what the tool does; an agent must infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_thicken_facesADestructive
Copy exact current faces from one Solid or Sheet into a new independent native body with nonnegative front and back thicknesses in millimeters. The original body is preserved. Front follows each selected face normal and back goes against it; at least one side must be positive. Re-read all topology and identify the new bodies after success.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| backMm | Yes | ||
| intent | No | ||
| frontMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses that the original body is preserved, that the operation creates a new independent body, and the directional semantics of front vs back thickness relative to each face normal. The post-success instruction to re-read topology is valuable behavioral guidance. A mild tension exists with destructiveHint=true, but creating a new body while preserving the source is not an outright contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, followed by the preservation guarantee, geometric semantics, and the constraint. Dense and mostly waste-free, though the directionality and constraint could be tightened into one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter mutation tool with no output schema and no schema descriptions, the definition covers the operation, side effects on the source body, geometric direction, validity constraint, and follow-up workflow. The remaining gap is the unexplained 'intent' and 'revision' parameters, which an agent must infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must carry the load, and it does for the critical parameters: frontMm/backMm are nonnegative millimeters, one side must be positive, and front/back are defined relative to face normals. It omits meaning for 'intent' and 'revision' (the latter only implied by the re-read guidance), so it is strong but not fully compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation (copy exact current faces into a new independent native body), the source entities (Solid or Sheet faces), and the resulting artifact. This clearly distinguishes it from neighbors like plasticity_thicken_sheets, plasticity_offset_faces, and plasticity_hollow_faces, which modify or shell existing geometry rather than producing a new body from copied faces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a precondition ('at least one side must be positive') and a post-run workflow ('Re-read all topology and identify the new bodies after success'), which gives useful invocation context. However, it never says when to choose this over alternatives such as plasticity_thicken_sheets or plasticity_extrude_faces, so the routing guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_thicken_sheetsBDestructive
Thicken native Sheet bodies into solids. Front and back distances are nonnegative millimeters on opposite sides of each sheet.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| backMm | Yes | ||
| intent | No | ||
| frontMm | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, destructive mutation, so the safety burden is partly lifted. The description usefully adds that front/back offsets are nonnegative and sit on opposite sides of the sheet, but says nothing about what happens to the source sheets, whether the operation is reversible, or how the 'revision' parameter interacts with concurrent edits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero waste; the core action is front-loaded and the offset semantics follow immediately. Nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 5-parameter mutation with no output schema, the description covers the geometric core but omits the required 'revision' concurrency token and the body selection input, both of which an agent must understand to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does explain the meaning and units of frontMm/backMm (nonnegative millimeters on opposite sides). However, 'ids', 'intent', and especially the required 'revision' token are left completely unexplained, so half the parameter surface is undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Thicken native Sheet bodies into solids'), which is unambiguous. It does not, however, distinguish itself from the close sibling plasticity_thicken_faces or plasticity_create_solid_from_sheet, which an agent would need to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many sheet/solid conversion siblings (thicken_faces, create_solid_from_sheet, insert_sheet, cap_sheet_holes). The description states what it does but never when or why to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_trim_curve_fragmentsBDestructive
Remove one or more explicit revision-bound curve fragments using Plasticity's native Trim operation.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes | ||
| fragmentIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=false, so the agent knows this mutates and destroys geometry. The description only adds that removal happens through the native Trim operation and that the fragments must be revision-bound; it says nothing about reversibility, undo support, or what happens to the parent curve.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and mechanism come first. It is terse to the point of omitting prerequisites, but nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 3-parameter mutation with no output schema, the description covers the core action but leaves gaps: no precondition about locked/grouped fragments, no mention of undo/recovery, no explanation of the intent parameter. Annotations absorb part of the safety burden, which keeps this at a minimum-viable level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden. It loosely explains fragmentIds ('one or more ... curve fragments') and links revision to 'revision-bound', but the intent parameter is never mentioned and no format or syntax detail (ID shape, revision token source, intent purpose) is added beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Remove) applied to a specific resource (explicit revision-bound curve fragments) via a named mechanism (Plasticity's native Trim operation). This clearly separates it from sibling readers like plasticity_list_curve_fragments and from whole-curve operations like plasticity_split_curve_segment, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no prerequisites (e.g. fragments must be unlocked or belong to an existing revision), and no pointer to alternatives such as plasticity_unjoin_curves or plasticity_list_curve_fragments. The phrase 'explicit revision-bound' hints that a revision must be supplied but does not explain the condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_undoCDestructive
Undo the most recent document edit.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation/safety profile is covered. The description adds one useful behavioral constraint — that it reverts only the single most recent edit rather than an arbitrary point — but says nothing about reversibility of the undo itself (redo), or why a revision argument is needed at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; efficient and readable. It is arguably under-specified rather than too long, but as a structure it is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and zero schema description coverage on a required 'revision' parameter, one sentence is not enough. The description should at minimum clarify the revision argument and the undo/redo relationship.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with two parameters, one of them required ('revision'), and the description explains neither. 'Revision' is especially non-obvious for an undo operation and the description offers no hint of its format or purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (undo) and scope (most recent document edit), which is more precise than a generic 'undo'. It does not, however, name or distinguish itself from the sibling plasticity_redo, so differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no mention of plasticity_redo as the natural alternative, and no conditions or exclusions. The agent must infer everything about context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_unjoin_curvesCDestructive
Split compound native Wire bodies into separate editable curve bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation profile is covered. The description adds that the output is separate editable curve bodies, but says nothing about what happens to the original compound wire, permissions, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the action front-loaded and zero filler. Appropriately sized for what it says, though it is arguably too short given the undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema and a completely undocumented parameter set, the description is too thin. It should at least clarify what the required ids and revision refer to and what remains of the original body.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across all three parameters (ids, intent, revision), and the description explains none of them. It does not clarify that ids target the compound wire bodies nor what revision is for, leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (split) and resource (compound native Wire bodies) and names the resulting artifact (separate editable curve bodies). It clearly reads as the inverse of plasticity_join_curves, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no preconditions, and no mention of alternatives such as plasticity_join_curves or plasticity_trim_curve_fragments. The agent must infer usage from the operation name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_unjoin_facesBDestructive
Detach exact current faces from their native shells into separate Sheet bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description usefully adds the outcome (faces become separate Sheet bodies), but it does not state reversibility, that the source shell is modified, or anything about the required revision parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. Every word earns its place and the outcome is stated before any qualification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no annotations beyond the safety hints and no output schema, the description is thin: it never explains the required revision (a versioning/optimistic-concurrency concern) or what the caller receives back. An agent could invoke it but might mishandle the revision requirement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 3 parameters. The description hints at the faces parameter ("exact current faces") but says nothing about the required "revision" parameter or the optional "intent", leaving two of three parameters undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("detach"), resource ("faces"), and resulting state ("separate Sheet bodies"), which is enough to differentiate it from siblings like plasticity_unjoin_shells or plasticity_dissolve_faces. It stops short of explicitly naming which sibling to use instead, so it does not reach a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives (e.g. dissolve_faces, extract_faces, unjoin_shells) or when not to. The description only states the mechanical effect, leaving the agent to infer the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_unjoin_shellsADestructive
Explode every face of one or more current multi-face Solid or Sheet bodies into independent single-face native Sheets in one Plasticity history step. The selected bodies are replaced, one result may reuse a source stable ID, and all prior body and topology references become stale; use the returned state.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (destructiveHint=true, readOnlyHint=false) by disclosing that source bodies are replaced, that one result may reuse a source stable ID, and that all prior body and topology references become stale. This is exactly the kind of downstream consequence an agent needs before invoking a destructive op.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded sentences with no filler; the destructive consequence is stated up front. Slightly clause-heavy, but every clause carries meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, the description adequately covers destruction, ID reuse, and reference staleness. The main gap is the unexplained required 'revision' parameter, which an agent needs in order to call the tool successfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description only obliquely hints at 'ids' (referring to bodies). The required 'revision' parameter and the optional 'intent' parameter are never explained, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Explode ... into independent single-face native Sheets') and resource (multi-face Solid or Sheet bodies), and qualifies the scope ('every face', 'one or more current'). This clearly distinguishes it from sibling operations like unjoin_faces, unjoin_curves, or extract_faces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The prerequisite ('one or more current multi-face Solid or Sheet bodies') implies when the tool applies, but there is no explicit when-to-use vs alternatives such as plasticity_unjoin_faces or plasticity_extract_faces. The lone directive 'use the returned state' is operational, not a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_untrim_facesADestructive
Restore selected current Solid or Sheet faces to the natural bounds of their carrier surfaces in one native history entry. The selected trim boundaries are discarded, the result can overlap neighboring geometry, and all topology references become stale; inspect surface structure, bounds, validation, and intersections before continuing.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructive=true and readOnly=false, but the description goes well beyond them: it discloses that trim boundaries are discarded, the result may overlap neighboring geometry, topology references become stale, and the operation lands in a single native history entry. These consequences (stale references, unintended overlaps, undo granularity) are exactly the behavioral context an agent needs before a destructive call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the operation and then the consequences. Nearly every clause carries information, though the prepositional-chain phrasing ('natural bounds of their carrier surfaces in one native history entry') is slightly heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, the description covers the behavioral fallout well but leaves the parameter contract entirely unexplained and does not state whether an undo/snapshot is required beforehand. An agent knows the risks but not how to correctly form the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 3 parameters (faces, intent, revision), including a nested faces object. The description mentions 'faces' conceptually but never explains the required bodyId/faceId structure, what revision is for (staleness/concurrency), or what intent does. It does not compensate for the complete lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (restore/untrim) and resource (Solid or Sheet faces to the natural bounds of their carrier surfaces), which is clearly distinguishable from siblings like dissolve_faces, delete_faces, or trim_curve_fragments. An agent can tell what operation is being performed 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a precondition workflow ('inspect surface structure, bounds, validation, and intersections before continuing'), which tells the agent when the tool is appropriate and what to check first. It does not name a specific alternative tool to use instead, so it stops short of full when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_unwrap_faceB
Create an exact planar native Sheet development from one current analytic Cylinder face while preserving the source body. This is geometric surface unwrapping; it does not add sheet thickness, bend radii, bend allowances, or manufacturing compensation. Plasticity chooses the seam and planar placement, so inspect the returned Sheet bounds and edges.
| Name | Required | Description | Default |
|---|---|---|---|
| face | Yes | ||
| intent | No | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only declaring readOnlyHint=false and destructiveHint=false, the description carries useful extra context: the source body is preserved, no thickness/bend allowance/manufacturing compensation is added, and Plasticity itself chooses the seam and planar placement so the returned Sheet bounds/edges must be inspected. The implicit non-determinism about seam placement is a genuinely helpful disclosure beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and then the scope exclusions and follow-up advice. Each sentence contributes; only the closing inspection hint is marginally advisory rather than definitional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with no output schema and 0% schema coverage, the description covers purpose, exclusions, and a return-handling hint, but omits the meaning of intent/revision and any routing against the cone-development sibling. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all 3 parameters. It constrains the 'face' argument to 'one current analytic Cylinder face', which adds real meaning, but says nothing about the 'intent' or 'revision' parameters, leaving most of the parameter surface undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Create an exact planar native Sheet development from one current analytic Cylinder face.' The Cylinder-face scope implicitly distinguishes it from the sibling plasticity_create_cone_development, but the sibling is not named explicitly, so it stops short of a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated. The clause 'This is geometric surface unwrapping; it does not add sheet thickness, bend radii, bend allowances, or manufacturing compensation' clarifies the scope of when this tool applies, but it never names an alternative tool or an explicit when-not condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_validate_bodiesBRead-only
Run Plasticity's native B-Rep Check and report exact topology closure and solid printability for current revision-bound bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| revision | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds that the check is native/B-Rep-based and that it reports closure and printability, which is useful behavior context, but it says nothing about cost, failure modes, or result format when output schema is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the operation and its output scope arrive immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two required parameters documented nowhere and no output schema, the description does not carry enough detail for an agent to call this correctly — the meaning of 'ids' versus 'revision' and what the check returns are left to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both required parameters. The description only obliquely gestures at them ('revision-bound bodies'), never explaining that 'ids' is a list of body IDs (1-4096) or what form the 'revision' string must take.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-and-resource: runs Plasticity's native B-Rep Check and reports topology closure and solid printability. The 'printability' framing distinguishes it from generic inspection siblings like plasticity_body_info, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what happens but never when to reach for this tool versus plasticity_body_info, plasticity_check_interference, plasticity_diagnose, or plasticity_measure_solid_properties. No preconditions (e.g. when a revision-bound body set is required) are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_verify_fastener_group_loadA
Re-read exact cylindrical faces from one current Solid, replace caller fastener coordinates with native B-Rep axis centers, calculate the in-plane load distribution and persist a CAD-bound report. Optionally compare each demand with a traceable configuration-matched shear design allowable that already includes the required safety factor. The optional screen covers fastener shear only, never joined-plate or whole-joint strength. It does not mutate CAD.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| kind | Yes | ||
| load | Yes | ||
| method | Yes | ||
| binding | No | ||
| evidence | Yes | ||
| fasteners | Yes | ||
| assignments | Yes | ||
| assumptions | Yes | ||
| shearCapacities | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-destructive and non-open-world behavior, and the description adds useful context: it persists a CAD-bound report, does not mutate CAD, and the optional comparison uses a traceable configuration-matched allowable that includes the safety factor. It does not cover auth needs, rate limits, or report location, but it meaningfully supplements 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four efficient sentences and front-loads the core calculation and persistence actions. The later sentences add useful scope and behavior details, though a few implementation phrases could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 10 parameters, nested objects, 0% schema description coverage, and no output schema, the description is not complete enough. It explains the high-level operation and some safety constraints but omits meaningful parameter guidance and report/return details that an agent would need to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with 10 parameters, so the description must carry the burden. It partially explains that caller fastener coordinates are replaced by native B-Rep axis centers and implies optional shear capacities, but it does not explain required inputs such as load, evidence, assumptions, assignments, goal, kind, or method, leaving most parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states specific operations: re-reading cylindrical faces, replacing caller fastener coordinates with native B-Rep axis centers, calculating in-plane load distribution, and persisting a CAD-bound report. It also clearly scopes the optional comparison as fastener shear only, never joined-plate or whole-joint strength, which distinguishes it from sibling plate-bearing and joint-strength tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by describing its calculations and optional shear screen, and it gives a clear scope exclusion ('never joined-plate or whole-joint strength'). However, it does not explicitly name alternative sibling tools or state when to choose this tool over them, leaving the selection guidance largely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_verify_fastener_group_plate_bearingA
Re-read the exact front and opposed native B-rep faces and cylindrical hole faces of one rectangular multi-hole plate, compare each fastener's elastic in-plane demand with a traceable factored bearing allowable, and optionally check straight transverse net tension or local two-plane edge shear-out. A physical-test benchmark requires an immutable record ID, exact print process, an evidence-backed dimensional equivalence tolerance, and explicit confirmation that process and fixture/load path match. Net tension uses an explicitly supplied external tensile resultant along local X or Y and the minimum straight cut across measured circular holes. Local edge shear-out uses each fastener's elastic resultant only when it aligns with a local rectangle axis; diagonal demands and e/d below 1.5 are unsupported. Supply separate traceable factored tensile and shear allowables and confirm the method assumptions. Angled/staggered fracture paths, compression, shared-ligament interaction, bypass and the complete joint remain unchecked; no overall pass is returned.
| Name | Required | Description | Default |
|---|---|---|---|
| group | Yes | ||
| plate | Yes | ||
| netTension | No | ||
| edgeShearOut | No | ||
| physicalTest | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are thin (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description carries the burden and does it well: it states the exact faces re-read, the confirmations required for physical-test mode, what remains unchecked (angled/staggered paths, compression, shared-ligament interaction, bypass, complete joint), and that no overall pass is returned. That last point materially changes how an agent interprets the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The paragraph is long but front-loaded: purpose first, then optional checks, then preconditions, then unsupported cases. Nearly every sentence carries a constraint, though some engineering hedging ('traceable factored') is repeated and could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex verification tool with no output schema, the description covers scope, required evidence, input prerequisites, and result limitations, including the explicit absence of an overall pass. It leaves return-value shape and error behavior to inference, which is the main remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% on a deeply nested 5-parameter object, so the schema documents structure but not meaning. The description compensates for a few fields (separate tensile/shear allowables, local X/Y axis resultants, record ID, process, tolerance, confirmations), but the bulk of the nested fields (fasteners, assignments, evidence entries, physicalTest.process sub-fields) gets no semantic guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb chain (re-read faces, compare elastic in-plane demand against a factored bearing allowable) and pins the resource to one rectangular multi-hole plate, then names the optional net-tension and edge-shear-out checks. An agent can distinguish it from plasticity_verify_fastener_group_load and plasticity_fastener_group_plate_bearing_report, though the description never explicitly routes between those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete conditions for each sub-check: net tension needs an explicitly supplied external tensile resultant, edge shear-out applies only when the resultant aligns with a local rectangle axis, and diagonal demands or e/d below 1.5 are declared unsupported. It also enumerates the physical-test benchmark preconditions. It stops short of naming the sibling tool to use instead when those conditions fail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_verify_integral_plate_strengthB
Re-read exact opposed planar faces of an integral enclosure wall, replace plate dimensions with measured native geometry, calculate the uniform-pressure plate scenario and persist a CAD-bound report. All four simple supports remain an explicit engineering assumption. Search accessible primary product/material sources before asking the user for known facts.
Before requesting missing print-material data, call plasticity_plan_single_material_strength_tests for the selected method and exact one-material process. Use its measurement matrix to ask only for evidence needed by that route; explain why the measurements matter and never invent coupon values or allowables. A DCB task may contain an explicitly labeled generic-PLA literature geometry as a starting reference only; do not present it as a Creality property, normative specimen size, or sample-count requirement, and require checking the selected process, fixture and method. Keep the confirmed road/build axes and same-material layer-interface assumptions explicit.
For Creality PLA literature references, read plasticity://strength/interlayer-literature-baseline. It contains separate CR-PLA and Hyper PLA records plus generic-PLA Z-tension/DCB context; do not merge product families or transfer values across SKUs. It is a screening reference only: do not register literature values as physical coupons or interface tests, bind them to the user's exact K1C process, treat them as design allowables, or infer a traction-separation curve from fracture energy. Manufacturer-mirror discrepancies and non-matching printer/process tests must remain visible; ask for exact-process physical tests before a calibrated cohesive result. When the user provides raw direct-tension machine CSV, call plasticity_import_interface_tensile_csv first with explicit specimen-ID/force headers, delimiter, decimal separator, force unit and sign, measured net area and observed failure location for every coupon. Review its hashed peak-force preview; the importer does not filter or correct machine data, register a test, or derive DCB/ENF/MMB curves. For directly loaded specimens supplied in another format, record every sample's measured peak force, net cross-section, observed failure location and SHA-256/source locator, then call plasticity_calculate_interface_specimen_strengths; report force/area as nominal specimen stress. Include only confirmed interface failures in its summary statistics; show bulk/fixture failures individually and do not pool them with interface failures. Keep all statistics descriptive only. Do not call these local interface tractions or design allowables, and do not use them as a cohesive law.
When a raw DCB force/displacement CSV is available, use plasticity_import_dcb_mode_i_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting explicitly, then select the exact source record for every manually observed crack-growth point and enter that measured crack length; never let the importer filter traces, infer growth or select peak loads. It converts units only, preserves the source hash/record locators and calculates an exploratory MBT G_I(a) curve. Require the caller to establish machine-compliance-corrected load-point displacement and quasi-static linear-elastic behavior; attestations are not independent verification. Review selected rows, crack lengths, calculation and limitations against the physical log. If no CSV is available, plasticity_calculate_dcb_mode_i_energy accepts equivalent manually selected observations with traceable source hash/locators. This does not conform the test to ASTM D5528 (whose stated scope is unidirectional fiber composites), create a traction-separation law, or qualify CR-PLA. Never convert G_I into peak traction or strength without separate evidence.
When raw ENF force/displacement CSV is available, use plasticity_import_enf_mode_ii_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting; group calibration rows into each measured run/crack length, manually select only the initial-linear records, and manually select the observed initiation/peak record for the fracture run. The tool fits compliance from the selected rows, then the existing ENF calculator fits C against a^3 and returns exploratory G_IIc; it never searches for the linear range, crack growth or peak. Review each compliance fit, source hash/record locator, force/displacement correction and fixture log. If pre-reduced compliances are supplied, use plasticity_calculate_enf_mode_ii_energy directly. Neither path determines ASTM D7905 validity for printed PLA, registers physical evidence, builds an R-curve or yields a cohesive law. Keep the confirmed in-plane shear direction exact; do not merge ENF runs with differing direction just because their layer normals match.
When the requested failure mode is layer separation, distinguish CR-PLA's physical tensile/infill study and the two-sample CR-PLA-associated vertical layer-adhesion screen from the Hyper PLA flat tensile/flexural study: observed flexural delamination is qualitative failure-mode evidence, not a measured interface law. The baseline also records an upright generic-PLA tensile coupon on a Creality Ender 3 Pro and a custom generic-PLA interface coupon/calibrated cohesive parameter; neither identifies the filament as Creality nor establishes a same-process cohesive calibration. For only a nominal normal-strength screen across the layers, use the focused layer-interface-normal-tension scope; require measured failure at the interface and do not use that peak as a cohesive law. Use layer-interface-mode-i for a Mode-I fracture response, layer-interface-mode-ii for exploratory ENF Mode-II initiation energy using a same-fixture compliance calibration, and layer-interface-mixed-mode only when the requested analysis needs DCB/ENF/MMB cohesive evidence. The focused ENF calculator fits the experimentally supplied compliance against crack length cubed and uses the initiation peak; it is not an R-curve, does not verify the physical fixture or raw compliance fit, and does not claim ASTM D7905 validity for printed PLA. Layerwise static FEA assumes perfectly bonded interfaces and cannot answer a delamination question.
After reviewing an exploratory DCB energy preview against the physical test log, persist it only through plasticity_record_dcb_mode_i_energy_test with explicit confirmation that the measurements came from real physical tests. Retrieve a full record with plasticity_read_dcb_mode_i_energy_test and require exact process/interface-normal/protocol matching through plasticity_match_dcb_mode_i_energy_test before comparing runs. For ENF Mode-II energy, record reviewed measurements only through plasticity_record_enf_mode_ii_energy_test with the same physical-test confirmation; retrieve all calibration/fracture inputs with plasticity_read_enf_mode_ii_energy_test and exact-match process/interface-normal/in-plane-shear-axis/protocol using plasticity_match_enf_mode_ii_energy_test. Both immutable energy registries are separate from peak-strength and traction-separation records and are not consumed by cohesive FEA.
For an exploratory mixed-mode initiation partition, use plasticity_calculate_mmb_mode_i_ii_energy only when measured MMB force and geometry, same-process flexural and orthotropic moduli, and material-axis mapping are available; require lever weight to be measured negligible or counterbalanced. This Reeder-Crews beam-theory estimate does not establish ASTM D6671 validity for printed PLA and does not replace full mixed-mode traction-separation curves or provide a cohesive law. For raw MMB force CSV, use plasticity_import_mmb_mode_i_ii_energy_csv only with manually selected initiation records and a physically observed criterion; it does not search traces for onset/peak. Record a preview only after reviewing the source and confirming the data are from physical tests; matching caller confirmation with plasticity_record_mmb_mode_i_ii_energy_test persists and server-recomputes this separate energy estimate. Use plasticity_match_mmb_mode_i_ii_energy_test only for the exact process, interface normal, shear axis and protocol; read the full evidence with plasticity_read_mmb_mode_i_ii_energy_test. This registry is not cohesive input or an FEA source.
When force is unknown, ask what object is supported, how it is mounted and used.
Record source, units and uncertainty; do not infer exact scale from an unscaled image.
Ask at most one next-step question package per response, then wait for the user's answer. Include only facts needed to choose the next safe step; defer material, manufacturing, tolerances and detailed dimensions until they affect that decision. Re-evaluate after every answer and ask a focused follow-up only when it changes the method, required evidence or next action. If the user does not know, move to one useful contextual clue such as the supported object, use, environment or mounting; do not repeat a list of unknowns or guess. On a new bracket task, first ask compactly what it supports, its load/use and how it is mounted; defer section, material/process and displacement questions until that first answer narrows the load path and method.
Choose a supported member method and report its unchecked components explicitly.
For a flat rectangular panel, establish net pressure and the real condition of all four edges before choosing the simply-supported plate method. Do not infer edge support from appearance.
For a straight prismatic rectangular member in centred axial compression, use the Euler column method only when effective-length factor K, elastic limit, compressive allowable, and the actual restraint condition are supported by evidence. Use the weakest section axis, require a negative force value for compression, and reject Euler results when its predicted critical stress exceeds the supplied elastic limit; do not guess K or treat the method as an inelastic, eccentric-load, local-buckling, or whole-part check.
For an integral rectangular enclosure wall, inspect two opposed planar faces on the same Solid with plasticity_inspect_integral_rectangular_plate, then use plasticity_verify_integral_plate_strength to replace dimensions from exact native B-rep. The inspector accepts only rectangular faces whose outlines match or inset by one wall thickness on each side. It measures geometry only: establish the real support, pressure, material and edge conditions separately; never assume a box wall is simply supported.
For section analysis, identify the critical plane and explain the load path that makes it critical. Use an existing planar face when it matches; otherwise inspect an arbitrary plane through the Solid.
For one fastener carrying in-plane plate load, establish the load direction and separate bearing, shear and tensile allowables before calculating. Never substitute compressive strength for bearing strength.
For a fastener group on a rectangular planar face, inspect exact hole centers and boundaries, then check center-to-edge distance, hole-edge clearance, pitch, ligament and every applicable head, washer, nut or driver envelope against explicitly sourced or user-approved criteria. A measured layout without criteria is not a pass, and a layout pass is not a strength pass.
When checking the fastener member, establish its grade, tensile stress area, effective shear area at the actual plane, one or two shear planes, total axial tension including applicable preload, and actual shear load. Explain why the selected combined-load interaction is applicable before accepting it.
For a tapped hole, nut, or threaded insert under axial load, establish the designation, pitch, actual engagement, fully formed engaged thread count, and configuration-matched allowable loads for internal-thread stripping, external-thread stripping, and fastener tension. Do not infer any capacity from nominal M size. A procured nut or insert requires a specified assembly allowable or dedicated test rather than an unqualified nominal shear-area calculation.
For solver-backed static FEA, first use plasticity_match_material_coupon_data when a physically tested material record may match the print process. Only an unambiguous exact match for printer, material, profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers, nozzle temperature and measured slicer layer height can supply Young's modulus; pass the selected record ID/process and the exact recorded modulus so the server binds and validates it. If match is ambiguous because compatible partial records have no single consolidated record, ask the user for the confirmed count of unique physical specimens and call plasticity_combine_material_coupon_data with those exact record IDs; it preserves measured values and evidence without averaging. If records conflict, stop and ask the user which physical measurement applies. For an orthotropic print model, do not use a uniaxial coupon as a full tensor. When an immutable exact-process record contains the complete measured tensor and nu12, pass orthotropicMaterial.couponRecordId and process, plus materialCoupon with the same record ID; the MCP checks E1, nu12, every remaining constant, each evidence object and the confirmed global print axes, and rechecks the record when reading the saved report. Otherwise pass E2/E3, nu13/nu23, G12/G13/G23 with separate exact evidence, global material axes 1 and 2, and a user-confirmed or sourced global build direction; material axis 3 must align with that build direction and represents the homogeneous layer-normal response. This does not represent individual layers or prove adhesion. Model one material and one print process per analyzed part; do not combine material datasets or infer a multi-material print. When the selected exact-process coupon record contains a qualified Tsai-Wu dataset, pass its ID as orthotropicMaterial.tsaiWuQualificationRecordId along with the identical orthotropicMaterial.process; the server loads measured strengths, biaxial interaction data and source evidence, then verifies the axes. Do not copy or reconstruct criterion values by hand. If the exact-process match remains ambiguous after consolidation, ask the user to resolve conflicting measurements; never choose a record silently. The legacy youngsModulusMPa and poissonRatio fields are E1 and nu12. Ask the user to resolve the print-axis orientation if it is unknown; never infer it from a photo or CAD face. The server checks positive-definite compliance and rejects a von Mises allowable or coupon binding for this orthotropic model. Otherwise attach youngsModulusEvidence whose value exactly matches the modulus; measured/sourced evidence needs a URL, SHA-256 and locator. poissonRatioEvidence is always required and must exactly match the ratio. A physical coupon record may store measured nu12 with its exact process. If using its Tsai-Wu record-binding path, the server verifies the nu12 value and evidence against that record; otherwise supply the input evidence directly from a traceable source. Never infer nu12 from a generic plastic label. An assumed value must include its reason and stay explicitly scenario-only after discussing the assumption with the user. Optionally supply a directly measured or sourced, process-applicable factored von Mises design allowable using factoredVonMisesAllowableMPa, exact matching factoredVonMisesAllowableEvidence with URL, SHA-256 and locator, and factoredVonMisesAllowableBasis. It must already include the design factors. Never turn a generic tensile strength or raw coupon peak into a design allowable. The report will compare every sampled raw mesh peak with it as a diagnostic screen only: above means a sampled peak exceeds that supplied allowable; below does not prove strength. This never changes strengthPass or print approval. Confirm the actual restraints with the user. Legacy supportFaceIds fix all three global translations on each selected planar face; use explicit supportConditions only when the user has specified which global x/y/z translations are zero on each face. Each condition acts on all nodes of that face, is not a frictionless-contact or rotational support, and may leave rigid-body modes or create a singular system; do not infer it from a photo or face normal. Supports and loaded faces must not share mesh nodes. Every selected planar load face needs an explicit uniform traction and/or resultant force with its point of application and free moment. Use plasticity_analyze_static_fem only for one Solid with 1–8 explicit support conditions and load vectors grounded in a selected planar face. Use named loadCases for physically distinct scenarios such as weight, operating force and handling load; do not combine mutually exclusive scenarios. Each case has a separate solver result, and comparison proceeds only when the generated meshes are byte-identical. Set meshRefinementSteps to 1–3 for two to four mesh levels when a trend across successively halved element sizes is useful; the report classifies the sampled direction of raw maximum von Mises stress and observed displacement as increasing, decreasing, unchanged, non-monotonic or insufficient-levels. For more than four levels, run separate analyses against the same current CAD revision and call plasticity_compare_static_fem_refinement_reports; it merges only reports with matching loads, supports, material evidence, native geometry and byte-identical overlapping mesh results. Check the returned freshness before relying on it. Treat all trend labels and relative changes as diagnostic evidence only. Never call a mesh trend a pass or proof of convergence. Each result includes the raw maximum C3D4 integration-point stress element and its mesh-element centroid in millimetres; this is a mesh-bound locator, not an averaged stress field, a resolved critical-region boundary, or proof of a physical hotspot. Locations may move between refinement levels. The legacy top-level load fields still represent one case. The tool returns total and per-support reaction forces and moments, global force/moment equilibrium residuals and a named displacement axis for each case; per-support values are diagnostic resultants over each support node set. Re-read it with plasticity_static_fem_report; any CAD revision change makes it stale.
For layerwise static FEA, keep the single-material exact process consistent from measurement through solver input. Read the immutable profile hash, infill pattern, wall loops, top/bottom shell layers and measured layer height from workbench_manufacturing_profiles, then slice the intended model/orientation with the selected Creality K1C profile. Record actual specimen settings if per-object overrides differ from profile defaults; an unchanged profile hash does not erase those differences. Call workbench_slicer_layer_path_orientations in batches of up to 32 and combine layer-path results for every deposited layer, including the final deposited layer, into layerPathEvidence with identical job ID, profile hash, source-artifact hash and G-code hash. Layerwise static orientation is supported only for a complete linear or planar circular-arc direction result for every layer in stacks of 2–33 layers; do not fill missing or curved-path directions by inference. Confirm pathFrameMapping.slicerXDirectionGlobal in CAD global coordinates and explicitly confirm that the same exact-process coupon's material axis 1 represents the dominant deposited-road direction in roadAxisMapping. Call plasticity_plan_cohesive_layer_planes with the same profile hash and layer height, current CAD anchor at the first interlayer plane, confirmed CAD build direction, total layer count, and the full layer-path evidence/mappings; pass its returned plan as layerPlanePlan to plasticity_analyze_static_fem. When the slicer supplies actual interface heights, call workbench_slicer_interface_heights for every interface in this complete stack, set each interfaceOffsetsMm value to its depositionLayerZMm minus firstDepositionLayerZMm, and attach the matching job/profile/source/G-code hashes as depositionPathEvidence; this preserves first-layer and adaptive heights instead of assuming nominal uniform spacing. The static analyzer requires the plan to match the one measured orthotropic process and applies the same measured orthotropic tensor to each layer with its confirmed G-code-mapped frame. It assumes perfectly bonded layers and cannot assess delamination. Do not use static FEA to assess delamination; use the separate same-material cohesive route only when matching physical interface tests are available. Never infer layer directions, material identity or interlayer strength from a photo, generic material label or nominal slicer preset.
For orthotropic FEA, optionally supply all nine directly traceable, already factored X/Y/Z tensile and compressive plus XY/XZ/YZ shear limits in orthotropicMaterial.factoredAllowables, with separate exact-value evidence and an applicability/design-factor basis. Never substitute generic datasheet strength or an unqualified coupon peak. The returned componentwise maximum-stress screen uses local material-axis stress extrema and is diagnostic only; it assumes one homogeneous orthotropic continuum, does not model layer interfaces, delamination or different-material joints, and omits multiaxial interaction. Matched interlayer-test data can inform Z-tension and XZ/YZ-shear allowables but does not turn this into a cohesive-interface analysis. Never report this screen as verified layer adhesion, part strength or print approval.
For an optional 3D Tsai-Wu first-failure screen in orthotropic linear FEA, require one exact single-material printer/material/profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers and nozzle-temperature identity in orthotropicMaterial.process. Prefer binding the unique exact-process qualification by its orthotropicMaterial.tsaiWuQualificationRecordId; the server loads its nine directly measured, un-factored X/Y/Z tensile/compressive and XY/XZ/YZ shear failure strengths, three normalized XY/XZ/YZ normal-interaction coefficients and evidence, then verifies material axes. Each strength test must attest its material-frame axis and mode (for example, x tension is material-1 tension; xy shear is material-1-2 shear); each interaction and its source dependencies must attest the corresponding biaxial plane. Legacy records without these direction attestations remain readable but cannot qualify a Tsai-Wu FEA. A complete inline orthotropicMaterial.tsaiWuCriterion remains supported when needed. Interactions must be derived from traceable biaxial tests. Ask the user for these records if missing; never copy generic datasheet values, assume the conventional interaction coefficient or infer it from uniaxial coupons. The normalized interaction matrix must be positive definite. The result reports local integration-point failure indices and proportional load factors to index one only. A load factor is not a design safety factor, and neither a sub-unity index nor a large load factor means the part passed. The model still represents one homogeneous material, not individual roads or delamination.
When actual test-coupon G-code is available, preserve its profile/source/G-code hashes, selected per-layer road summaries and explicitly user-confirmed slicer-to-global axes in depositionPathEvidence. This is test provenance only, not an adhesion measurement or solver input; never reconstruct road direction from nominal slicer settings.
When physical adhesion between printed layers of one material is relevant, use plasticity_record_material_interface_test only for caller-provided measured test results with the same exact printer/material/profile process on both sides, interface normal, test mode, load direction, fixture/specimen protocol hash and observed failure location. Normal-tension load direction must align with the interface normal; interface-shear load direction must lie in its plane; mixed-mode must contain both components. Store full compliance-corrected pure-mode curves as scalar separation/traction data and MMB curves as separate normal/tangential separation and traction components, with source SHA-256 and locator. Call plasticity_analyze_material_interface_test_curve to summarize measured work and mode mixity. When the user has a CSV of already processed physical fracture data, use plasticity_import_interface_fracture_csv for a read-only per-specimen preview; explicitly map the method, columns, units and CSV formatting, and attest that the values are already compliance-corrected physical traction-separation data. Never convert raw machine force-displacement data with this importer. Verify each source hash/record locator, specimen, fixture, exact print process and observed failure plane before separately recording any curve with plasticity_record_material_interface_test. For a CZM_TURON candidate fit, provide Mode-I DCB, Mode-II ENF and at least two MMB tests at distinct measured energy fractions; all ENF and MMB tests must use the same in-plane shear axis within one degree because this route has a single tangential cohesive law. The MCP requires those protocol identifiers in each testMethod and reports the pure-mode peaks plus fit residuals. Review residuals against test uncertainty. Do not invent ETA_BK. K is not identified by that fit and must not be silently guessed. Code_Aster CZM_TURON uses one normal and one tangential cohesive response, sharing tangential strength and fracture energy across both in-plane tangent directions; it cannot represent direction-dependent shear adhesion. Matching shear axes prevents mixing directional datasets but does not prove that the bond is isotropic. These outputs summarize physical evidence only; they are not qualified cohesive-law parameters, design allowables or a part FEA. Do not claim bond integrity from the homogeneous orthotropic FEA screen.
Use plasticity_analyze_cohesive_interface only for a single-material printed part, with an exact-process coupon for that one bulk material, traceable Poisson ratio and a matching immutable same-material layer test. Dissimilar-material printed bonds are rejected before meshing and are outside this calculation scope. Mode-I analysis requires a full normal-tension DCB traction-separation curve with failure at the layer interface. Its modeILaw may explicitly select CZM_EXP_REG or CZM_LIN_REG; omitted input preserves the CZM_EXP_REG default. Both parameterize their softening law from measured peak traction and integrated fracture energy and do not fit the full measured curve shape. Review this choice against the measured curve and record the reason; do not infer it from part geometry. Read the returned solver.result.v3Interpretation: for CZM_EXP_REG, V3 is a damage variable in [0,1]; for CZM_LIN_REG, V3=2 means the cohesive element is completely broken, so do not present it as the same normalized damage fraction. By default it uses isotropic bulk elasticity with pinned Code_Aster 15.2. If useOrthotropicBulkProperties is explicitly enabled, Mode-I uses Code_Aster 17.4 and applies one measured homogeneous orthotropic tensor; when explicit layerwise mapping is enabled, each bulk layer uses its G-code-mapped frame while all layers share that same tensor. The mixed-mode Turon route additionally requires same-process-pair DCB, ENF and at least two MMB tests at distinct measured energy fractions, traceable K, and an explicit global displacement with both opening-normal and in-plane tangential components greater than one degree. The displacement's shear axis must match the common measured ENF/MMB shear axis within one degree; reject other directions because this solver law has one tangential response. All ENF and MMB tests must use the same in-plane shear axis within one degree. Supply 1..32 ordered parallel split planes for a same-material layer stack; their normals may be tilted in global coordinates, and the same measured layer law is repeated at every plane. This equivalent-interface assumption does not resolve individual roads or within-layer raster variation. Either route may accept useOrthotropicBulkProperties when the exact-process coupon contains measured E2/E3, nu13/nu23, G12/G13/G23 evidence and a confirmed or traceable global print frame. Check the exact-process coupon match is unambiguous and do not infer axes from a photo or CAD face. Confirm the tested material's side relative to the chosen split-plane normal; do not infer this from the body or face normals. The measured test direction must match the normal/shear mode; the support face lies below the first split plane and the loaded face above the last plane along the shared normal. The server derives peak traction, integrated fracture energy and displacement endpoint from exact tests, exports the selected current Solid, creates a conforming multi-region mesh with a cohesive element set at every requested plane, and aborts if the CAD revision changes. Review the mesh-resolution screen and perform refinement/sensitivity work as needed. Turon approximates measured curves using peak/area parameters and its K still needs sensitivity analysis. The bulk tensor remains one measured single-material continuum whose local frame may vary by mapped layer; repeated cohesive planes use the same measured, direction-independent interface law and do not resolve individual deposited roads, within-layer raster mixtures or direction-dependent adhesion. Use results only as raw solver responses; never report it as a part-strength verdict, qualified layer-adhesion value, print approval or design allowable.
Before asking for a physical coupon record, obtain the selected immutable profile hash plus material.nozzleTemperatureC, slicer.layerHeightMm, slicer.nominalInfillPercent, slicer.sparseInfillPattern, slicer.wallLoops, slicer.topShellLayers, and slicer.bottomShellLayers from workbench_manufacturing_profiles when those settings are available. Carry the exact process values into the record; do not infer missing infill or substitute a generic profile. These are resolved profile defaults; sparse fill or shell settings may be overridden per object and must not be assumed when a modifier was used. If the coupon was printed with a different setting, first register/select the matching immutable process profile and hash. When layer positions should follow the actual print, record the measured profile hash and layer height in the physical interface-test and material-coupon process; layer height is part of exact process identity. After slicing, if the job reports a complete deposition-height schedule, call workbench_slicer_interface_heights for every selected interface index. Derive each offset as that interface’s depositionLayerZMm minus firstDepositionLayerZMm and pass the ordered values as interfaceOffsetsMm; this preserves first-layer and adaptive heights. Also pass the selected interface response plus its job/profile/source/G-code hashes, layer count and coordinate frame as depositionPathEvidence so the cohesive report retains the exact per-layer road-orientation observations. This evidence preserves the measured toolpath but does not qualify material properties. Use workbench_slicer_layer_path_orientations in batches of up to 32 to retrieve every layer direction (up to 33 total layers) when the user wants layerwise solver orientation. Confirm how slicer X maps into the CAD global frame and that the exact-process coupon axis 1 represents the dominant deposited-road direction; pass those confirmations as pathFrameMapping and roadAxisMapping. Combine complete responses, including the final deposited layer, as layerPathEvidence with shared job/profile/source/G-code hashes. Every layer must have complete linear or planar circular-arc coverage; do not treat unsupported arc/spline moves as complete. With explicit roadAxisMapping and useOrthotropicBulkProperties, Mode-I and Turon use one measured tensor with a separate local frame per layer. Without roadAxisMapping, frames remain candidates and do not affect solver response. This does not model multiple materials, layer-varying properties, within-layer raster mixtures or directional interface adhesion. Returned coordinates are in slicer build coordinates: map only relative offsets onto the confirmed CAD print axis, never copy absolute slicer Z into CAD. Otherwise the planner uses the nominal profile height. Call plasticity_plan_cohesive_layer_planes with that same profile hash and layer height, a point on the first interlayer plane after object placement, confirmed global build direction, total layer count and explicit interface indices. Copy both its plan and planes into layerPlanePlan and splitPlanes; analysis rejects legacy test records without a recorded layer height and any height that differs from the measured process profile. It also checks profile identity, plane coordinates, and (for orthotropic bulk) alignment with the coupon’s confirmed build direction. For up to 32 interfaces the planner requires the complete stack; for larger stacks it marks selected planes as incomplete, and omitted interfaces remain unanalyzed. Do not present selected-plane analysis as full-stack delamination resistance. If no validated placement/anchor is available, ask instead of inferring layer positions from an image or display mesh.
Read maximumVonMisesElementSICN alongside each raw stress-peak locator to see the Gmsh SICN of that exact tetrahedron. Compare it with the mesh minimum only as local mesh-shape context; neither a high value nor separation from the minimum proves stress accuracy, a resolved hotspot, convergence, or strength.
Read maximumPrincipalStressMPa and minimumPrincipalStressMPa as raw tensile/compressive principal extrema across sampled integration points, each with its own mesh locator. Their refinement trends and signed relative changes expose mesh sensitivity only; they are diagnostic and must never be compared with a von Mises allowable or reported as a pass without a criterion qualified for the selected failure mode.
The public FEA tool measures the rank of all fixed global translations at the actual mapped mesh nodes and stops before CalculiX if they leave any of the six rigid-body translation/rotation modes unconstrained. A full rank of six is necessary to remove those rigid-body modes, but it does not establish physical support validity, elastic stability, or absence of local mechanisms.
For a heat-set insert, use pullout and torque-out capacity only when the evidence matches the exact insert, host material, print profile, orientation, pocket and installation process. Ask for the worst-case demand on one insert; do not divide a group load evenly without a load-path model.
For two or more fasteners under an in-plane load, establish every transfer-point coordinate, both force components, the point of application and any free moment. Use the elastic group method only after confirming a rigid attachment and identical in-plane fastener stiffness. Use each fastener’s own vector resultant for any member check. On a rectangular mounting face, call plasticity_check_fastener_group_layout with an explicit opposedFaceId to verify matching native perforated faces and exact plate thickness. This is geometry evidence only and does not establish a load path or capacity. plasticity_verify_fastener_group_plate_bearing compares each elastic per-fastener demand with a directly traceable, configuration-matched, already factored bearing allowable using exact measured thickness and hole diameter. It can additionally check a straight transverse net-tension section only when you provide the external tensile resultant separately, identify local X or Y as its axis, supply a distinct traceable factored tensile allowable, and confirm uniform membrane tension, centered through-thickness loading and a straight transverse failure path. Never substitute per-fastener demands for the external plate tension or infer that resultant from a sketch. Optionally use edgeShearOut with a separate traceable, factored shear allowable to check local two-plane tear-out for per-fastener vectors aligned to local X or Y; diagonal vectors and e/d below 1.5 are unsupported, while e/d below 2 remains conditional. Angled/staggered fracture paths, compression-side buckling, shared-ligament interaction, unsupported tear-out directions, bypass and complete-joint strength remain unchecked; even a within-allowable result is only a conditional local screen. If a physical multi-hole plate test is run, record the measured specimen, exact hole layout, print-process/profile, fixture, load axis, individual peak loads and observed failure modes with plasticity_record_fastener_group_test, then use plasticity_match_fastener_group_test to find only an exact configuration match. A test match is evidence only: it does not produce a design allowable or pass a different part or support setup. To add a test benchmark to the CAD-bound report, first confirm that the record's exact process and fixture/load path apply to the current part. Supply the selected immutable record ID, an independently evidenced dimensional equivalence tolerance, the exact process, safety factor, and explicit process/fixture confirmations; the server then checks every measured plate and hole dimension against the live B-rep. This comparison only checks factored external tensile demand against the lowest observed specimen peak. It is not a statistically reduced allowable, strength pass/fail, or proof for unobserved failure modes. Do not select a nearby test by appearance or silently assume fixture equivalence. The single-through-fastener plate method assumes one hole; never repeat it per hole and aggregate the results into a multi-hole plate or whole-joint pass.
Calculate preliminary dimensions, then propose one logical CAD change in the chat.
Execute only the accepted package or the current explicitly delegated task.
Delegation ends when the task ends and is not restored after restart.
Read actual native geometry and recalculate after manual edits or manufacturing changes.
Workbench is optional. Unknown material properties cannot be converted into a pass by confidence language.
For an end-to-end tongue-root scenario, use plasticity_calculate_tongue_root_strength_from_coupon_data or plasticity_verify_tongue_root_strength_from_coupon_data. They match the physical coupon record to the exact Workbench profile hash, printer, material, orientation, infill, nozzle temperature and measured slicer layer height, then copy only measured Young's/shear moduli and their evidence into the calculation. Supply separately sourced tensile/shear design allowables and explain their applicability; raw coupon strengths are never substituted for allowables. These tools keep material suitability unconfirmed and the result conditional. No-match or conflicting records return without a calculation. If no record exists, ask for the report and unresolved process details, and record it only after the user confirms the physical tests. The registry does not check test-standard compliance, derive statistical design values, or certify a part. Never substitute a generic filament label or slicer properties for coupon evidence.
For axial rectangular or rectangular-cantilever scenarios with exact-process coupon data, use plasticity_calculate_rectangular_strength_from_coupon_data. It copies only measured Young's modulus and its evidence. Provide independent tensile design allowable evidence, plus an independent compressive allowable for a cantilever; state their applicability basis. Never map raw coupon tensile/compressive strengths into design allowables. These scenarios remain conditional with material suitability unconfirmed. Exact-process no-match or ambiguity returns without saving a calculation.
Nominal section stress is not whole-part validation.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| backFaceId | Yes | ||
| xDirection | Yes | ||
| frontFaceId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, and the description is consistent with that by saying it 'persist[s] a CAD-bound report' bound to native geometry. It also discloses that all four simple supports remain an explicit engineering assumption and that the tool replaces dimensions from exact B-rep rather than trusting nominal values. However, it does not describe what happens on failed verification, report retrieval/staleness for this specific tool, or error behavior, so added value over annotations is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is an enormous wall of text dominated by instructions for dozens of other tools (DCB/ENF/MMB energy registries, cohesive interface analysis, coupon matching, static FEA, fastener groups, tongue-root tools). Only a small fraction applies to this integral-plate verifier, and the actionable content is buried mid-document rather than front-loaded. Nearly every sentence fails the 'earns its place' test for this tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries full burden, and for this tool it does cover the key context: native-geometry dimension replacement, the persistent CAD-bound report, the simply-supported assumption being non-automatic, and the requirement to separately establish support/pressure/material/edge conditions. It remains thin on how the persisted report is retrieved or invalidated and on the nested input contract, leaving gaps for a tool this complex.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for a 4-parameter tool with a deeply nested `input` object (goal, method, material, evidence, assignments, assumptions) plus frontFaceId/backFaceId/xDirection. The description implies front/back face IDs are opposed planar faces and that a negative force is required for compression, and it discusses evidence/assumption expectations, but it never explains xDirection, the method enum values, or how evidence/assignments/assumptions map to inputs. Compensation for the coverage gap is partial at best.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a precise verb+resource chain: re-read opposed planar faces, replace plate dimensions with measured native B-rep, compute the uniform-pressure plate scenario, persist a CAD-bound report. It also names the companion inspector (plasticity_inspect_integral_rectangular_plate) that must precede it, so the agent can separate this tool from other strength tools. The purpose is clear, though it must be excavated from a very large body of text about unrelated tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The definition gives an explicit workflow entry point ('For an integral rectangular enclosure wall, inspect two opposed planar faces ... then use plasticity_verify_integral_plate_strength') and an explicit precondition ('establish the real support, pressure, material and edge conditions separately; never assume a box wall is simply supported'). It also states the four-edge condition must be established before selecting the simply-supported plate method. No explicit when-not-to-use clause for this specific tool, only general method-selection rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_verify_member_strengthC
Verify exact current rectangular B-rep dimensions for a member or separate plate body, append measured evidence, recalculate and persist a CAD-bound report. It does not mutate CAD. Search accessible primary product/material sources before asking the user for known facts.
Before requesting missing print-material data, call plasticity_plan_single_material_strength_tests for the selected method and exact one-material process. Use its measurement matrix to ask only for evidence needed by that route; explain why the measurements matter and never invent coupon values or allowables. A DCB task may contain an explicitly labeled generic-PLA literature geometry as a starting reference only; do not present it as a Creality property, normative specimen size, or sample-count requirement, and require checking the selected process, fixture and method. Keep the confirmed road/build axes and same-material layer-interface assumptions explicit.
For Creality PLA literature references, read plasticity://strength/interlayer-literature-baseline. It contains separate CR-PLA and Hyper PLA records plus generic-PLA Z-tension/DCB context; do not merge product families or transfer values across SKUs. It is a screening reference only: do not register literature values as physical coupons or interface tests, bind them to the user's exact K1C process, treat them as design allowables, or infer a traction-separation curve from fracture energy. Manufacturer-mirror discrepancies and non-matching printer/process tests must remain visible; ask for exact-process physical tests before a calibrated cohesive result. When the user provides raw direct-tension machine CSV, call plasticity_import_interface_tensile_csv first with explicit specimen-ID/force headers, delimiter, decimal separator, force unit and sign, measured net area and observed failure location for every coupon. Review its hashed peak-force preview; the importer does not filter or correct machine data, register a test, or derive DCB/ENF/MMB curves. For directly loaded specimens supplied in another format, record every sample's measured peak force, net cross-section, observed failure location and SHA-256/source locator, then call plasticity_calculate_interface_specimen_strengths; report force/area as nominal specimen stress. Include only confirmed interface failures in its summary statistics; show bulk/fixture failures individually and do not pool them with interface failures. Keep all statistics descriptive only. Do not call these local interface tractions or design allowables, and do not use them as a cohesive law.
When a raw DCB force/displacement CSV is available, use plasticity_import_dcb_mode_i_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting explicitly, then select the exact source record for every manually observed crack-growth point and enter that measured crack length; never let the importer filter traces, infer growth or select peak loads. It converts units only, preserves the source hash/record locators and calculates an exploratory MBT G_I(a) curve. Require the caller to establish machine-compliance-corrected load-point displacement and quasi-static linear-elastic behavior; attestations are not independent verification. Review selected rows, crack lengths, calculation and limitations against the physical log. If no CSV is available, plasticity_calculate_dcb_mode_i_energy accepts equivalent manually selected observations with traceable source hash/locators. This does not conform the test to ASTM D5528 (whose stated scope is unidirectional fiber composites), create a traction-separation law, or qualify CR-PLA. Never convert G_I into peak traction or strength without separate evidence.
When raw ENF force/displacement CSV is available, use plasticity_import_enf_mode_ii_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting; group calibration rows into each measured run/crack length, manually select only the initial-linear records, and manually select the observed initiation/peak record for the fracture run. The tool fits compliance from the selected rows, then the existing ENF calculator fits C against a^3 and returns exploratory G_IIc; it never searches for the linear range, crack growth or peak. Review each compliance fit, source hash/record locator, force/displacement correction and fixture log. If pre-reduced compliances are supplied, use plasticity_calculate_enf_mode_ii_energy directly. Neither path determines ASTM D7905 validity for printed PLA, registers physical evidence, builds an R-curve or yields a cohesive law. Keep the confirmed in-plane shear direction exact; do not merge ENF runs with differing direction just because their layer normals match.
When the requested failure mode is layer separation, distinguish CR-PLA's physical tensile/infill study and the two-sample CR-PLA-associated vertical layer-adhesion screen from the Hyper PLA flat tensile/flexural study: observed flexural delamination is qualitative failure-mode evidence, not a measured interface law. The baseline also records an upright generic-PLA tensile coupon on a Creality Ender 3 Pro and a custom generic-PLA interface coupon/calibrated cohesive parameter; neither identifies the filament as Creality nor establishes a same-process cohesive calibration. For only a nominal normal-strength screen across the layers, use the focused layer-interface-normal-tension scope; require measured failure at the interface and do not use that peak as a cohesive law. Use layer-interface-mode-i for a Mode-I fracture response, layer-interface-mode-ii for exploratory ENF Mode-II initiation energy using a same-fixture compliance calibration, and layer-interface-mixed-mode only when the requested analysis needs DCB/ENF/MMB cohesive evidence. The focused ENF calculator fits the experimentally supplied compliance against crack length cubed and uses the initiation peak; it is not an R-curve, does not verify the physical fixture or raw compliance fit, and does not claim ASTM D7905 validity for printed PLA. Layerwise static FEA assumes perfectly bonded interfaces and cannot answer a delamination question.
After reviewing an exploratory DCB energy preview against the physical test log, persist it only through plasticity_record_dcb_mode_i_energy_test with explicit confirmation that the measurements came from real physical tests. Retrieve a full record with plasticity_read_dcb_mode_i_energy_test and require exact process/interface-normal/protocol matching through plasticity_match_dcb_mode_i_energy_test before comparing runs. For ENF Mode-II energy, record reviewed measurements only through plasticity_record_enf_mode_ii_energy_test with the same physical-test confirmation; retrieve all calibration/fracture inputs with plasticity_read_enf_mode_ii_energy_test and exact-match process/interface-normal/in-plane-shear-axis/protocol using plasticity_match_enf_mode_ii_energy_test. Both immutable energy registries are separate from peak-strength and traction-separation records and are not consumed by cohesive FEA.
For an exploratory mixed-mode initiation partition, use plasticity_calculate_mmb_mode_i_ii_energy only when measured MMB force and geometry, same-process flexural and orthotropic moduli, and material-axis mapping are available; require lever weight to be measured negligible or counterbalanced. This Reeder-Crews beam-theory estimate does not establish ASTM D6671 validity for printed PLA and does not replace full mixed-mode traction-separation curves or provide a cohesive law. For raw MMB force CSV, use plasticity_import_mmb_mode_i_ii_energy_csv only with manually selected initiation records and a physically observed criterion; it does not search traces for onset/peak. Record a preview only after reviewing the source and confirming the data are from physical tests; matching caller confirmation with plasticity_record_mmb_mode_i_ii_energy_test persists and server-recomputes this separate energy estimate. Use plasticity_match_mmb_mode_i_ii_energy_test only for the exact process, interface normal, shear axis and protocol; read the full evidence with plasticity_read_mmb_mode_i_ii_energy_test. This registry is not cohesive input or an FEA source.
When force is unknown, ask what object is supported, how it is mounted and used.
Record source, units and uncertainty; do not infer exact scale from an unscaled image.
Ask at most one next-step question package per response, then wait for the user's answer. Include only facts needed to choose the next safe step; defer material, manufacturing, tolerances and detailed dimensions until they affect that decision. Re-evaluate after every answer and ask a focused follow-up only when it changes the method, required evidence or next action. If the user does not know, move to one useful contextual clue such as the supported object, use, environment or mounting; do not repeat a list of unknowns or guess. On a new bracket task, first ask compactly what it supports, its load/use and how it is mounted; defer section, material/process and displacement questions until that first answer narrows the load path and method.
Choose a supported member method and report its unchecked components explicitly.
For a flat rectangular panel, establish net pressure and the real condition of all four edges before choosing the simply-supported plate method. Do not infer edge support from appearance.
For a straight prismatic rectangular member in centred axial compression, use the Euler column method only when effective-length factor K, elastic limit, compressive allowable, and the actual restraint condition are supported by evidence. Use the weakest section axis, require a negative force value for compression, and reject Euler results when its predicted critical stress exceeds the supplied elastic limit; do not guess K or treat the method as an inelastic, eccentric-load, local-buckling, or whole-part check.
For an integral rectangular enclosure wall, inspect two opposed planar faces on the same Solid with plasticity_inspect_integral_rectangular_plate, then use plasticity_verify_integral_plate_strength to replace dimensions from exact native B-rep. The inspector accepts only rectangular faces whose outlines match or inset by one wall thickness on each side. It measures geometry only: establish the real support, pressure, material and edge conditions separately; never assume a box wall is simply supported.
For section analysis, identify the critical plane and explain the load path that makes it critical. Use an existing planar face when it matches; otherwise inspect an arbitrary plane through the Solid.
For one fastener carrying in-plane plate load, establish the load direction and separate bearing, shear and tensile allowables before calculating. Never substitute compressive strength for bearing strength.
For a fastener group on a rectangular planar face, inspect exact hole centers and boundaries, then check center-to-edge distance, hole-edge clearance, pitch, ligament and every applicable head, washer, nut or driver envelope against explicitly sourced or user-approved criteria. A measured layout without criteria is not a pass, and a layout pass is not a strength pass.
When checking the fastener member, establish its grade, tensile stress area, effective shear area at the actual plane, one or two shear planes, total axial tension including applicable preload, and actual shear load. Explain why the selected combined-load interaction is applicable before accepting it.
For a tapped hole, nut, or threaded insert under axial load, establish the designation, pitch, actual engagement, fully formed engaged thread count, and configuration-matched allowable loads for internal-thread stripping, external-thread stripping, and fastener tension. Do not infer any capacity from nominal M size. A procured nut or insert requires a specified assembly allowable or dedicated test rather than an unqualified nominal shear-area calculation.
For solver-backed static FEA, first use plasticity_match_material_coupon_data when a physically tested material record may match the print process. Only an unambiguous exact match for printer, material, profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers, nozzle temperature and measured slicer layer height can supply Young's modulus; pass the selected record ID/process and the exact recorded modulus so the server binds and validates it. If match is ambiguous because compatible partial records have no single consolidated record, ask the user for the confirmed count of unique physical specimens and call plasticity_combine_material_coupon_data with those exact record IDs; it preserves measured values and evidence without averaging. If records conflict, stop and ask the user which physical measurement applies. For an orthotropic print model, do not use a uniaxial coupon as a full tensor. When an immutable exact-process record contains the complete measured tensor and nu12, pass orthotropicMaterial.couponRecordId and process, plus materialCoupon with the same record ID; the MCP checks E1, nu12, every remaining constant, each evidence object and the confirmed global print axes, and rechecks the record when reading the saved report. Otherwise pass E2/E3, nu13/nu23, G12/G13/G23 with separate exact evidence, global material axes 1 and 2, and a user-confirmed or sourced global build direction; material axis 3 must align with that build direction and represents the homogeneous layer-normal response. This does not represent individual layers or prove adhesion. Model one material and one print process per analyzed part; do not combine material datasets or infer a multi-material print. When the selected exact-process coupon record contains a qualified Tsai-Wu dataset, pass its ID as orthotropicMaterial.tsaiWuQualificationRecordId along with the identical orthotropicMaterial.process; the server loads measured strengths, biaxial interaction data and source evidence, then verifies the axes. Do not copy or reconstruct criterion values by hand. If the exact-process match remains ambiguous after consolidation, ask the user to resolve conflicting measurements; never choose a record silently. The legacy youngsModulusMPa and poissonRatio fields are E1 and nu12. Ask the user to resolve the print-axis orientation if it is unknown; never infer it from a photo or CAD face. The server checks positive-definite compliance and rejects a von Mises allowable or coupon binding for this orthotropic model. Otherwise attach youngsModulusEvidence whose value exactly matches the modulus; measured/sourced evidence needs a URL, SHA-256 and locator. poissonRatioEvidence is always required and must exactly match the ratio. A physical coupon record may store measured nu12 with its exact process. If using its Tsai-Wu record-binding path, the server verifies the nu12 value and evidence against that record; otherwise supply the input evidence directly from a traceable source. Never infer nu12 from a generic plastic label. An assumed value must include its reason and stay explicitly scenario-only after discussing the assumption with the user. Optionally supply a directly measured or sourced, process-applicable factored von Mises design allowable using factoredVonMisesAllowableMPa, exact matching factoredVonMisesAllowableEvidence with URL, SHA-256 and locator, and factoredVonMisesAllowableBasis. It must already include the design factors. Never turn a generic tensile strength or raw coupon peak into a design allowable. The report will compare every sampled raw mesh peak with it as a diagnostic screen only: above means a sampled peak exceeds that supplied allowable; below does not prove strength. This never changes strengthPass or print approval. Confirm the actual restraints with the user. Legacy supportFaceIds fix all three global translations on each selected planar face; use explicit supportConditions only when the user has specified which global x/y/z translations are zero on each face. Each condition acts on all nodes of that face, is not a frictionless-contact or rotational support, and may leave rigid-body modes or create a singular system; do not infer it from a photo or face normal. Supports and loaded faces must not share mesh nodes. Every selected planar load face needs an explicit uniform traction and/or resultant force with its point of application and free moment. Use plasticity_analyze_static_fem only for one Solid with 1–8 explicit support conditions and load vectors grounded in a selected planar face. Use named loadCases for physically distinct scenarios such as weight, operating force and handling load; do not combine mutually exclusive scenarios. Each case has a separate solver result, and comparison proceeds only when the generated meshes are byte-identical. Set meshRefinementSteps to 1–3 for two to four mesh levels when a trend across successively halved element sizes is useful; the report classifies the sampled direction of raw maximum von Mises stress and observed displacement as increasing, decreasing, unchanged, non-monotonic or insufficient-levels. For more than four levels, run separate analyses against the same current CAD revision and call plasticity_compare_static_fem_refinement_reports; it merges only reports with matching loads, supports, material evidence, native geometry and byte-identical overlapping mesh results. Check the returned freshness before relying on it. Treat all trend labels and relative changes as diagnostic evidence only. Never call a mesh trend a pass or proof of convergence. Each result includes the raw maximum C3D4 integration-point stress element and its mesh-element centroid in millimetres; this is a mesh-bound locator, not an averaged stress field, a resolved critical-region boundary, or proof of a physical hotspot. Locations may move between refinement levels. The legacy top-level load fields still represent one case. The tool returns total and per-support reaction forces and moments, global force/moment equilibrium residuals and a named displacement axis for each case; per-support values are diagnostic resultants over each support node set. Re-read it with plasticity_static_fem_report; any CAD revision change makes it stale.
For layerwise static FEA, keep the single-material exact process consistent from measurement through solver input. Read the immutable profile hash, infill pattern, wall loops, top/bottom shell layers and measured layer height from workbench_manufacturing_profiles, then slice the intended model/orientation with the selected Creality K1C profile. Record actual specimen settings if per-object overrides differ from profile defaults; an unchanged profile hash does not erase those differences. Call workbench_slicer_layer_path_orientations in batches of up to 32 and combine layer-path results for every deposited layer, including the final deposited layer, into layerPathEvidence with identical job ID, profile hash, source-artifact hash and G-code hash. Layerwise static orientation is supported only for a complete linear or planar circular-arc direction result for every layer in stacks of 2–33 layers; do not fill missing or curved-path directions by inference. Confirm pathFrameMapping.slicerXDirectionGlobal in CAD global coordinates and explicitly confirm that the same exact-process coupon's material axis 1 represents the dominant deposited-road direction in roadAxisMapping. Call plasticity_plan_cohesive_layer_planes with the same profile hash and layer height, current CAD anchor at the first interlayer plane, confirmed CAD build direction, total layer count, and the full layer-path evidence/mappings; pass its returned plan as layerPlanePlan to plasticity_analyze_static_fem. When the slicer supplies actual interface heights, call workbench_slicer_interface_heights for every interface in this complete stack, set each interfaceOffsetsMm value to its depositionLayerZMm minus firstDepositionLayerZMm, and attach the matching job/profile/source/G-code hashes as depositionPathEvidence; this preserves first-layer and adaptive heights instead of assuming nominal uniform spacing. The static analyzer requires the plan to match the one measured orthotropic process and applies the same measured orthotropic tensor to each layer with its confirmed G-code-mapped frame. It assumes perfectly bonded layers and cannot assess delamination. Do not use static FEA to assess delamination; use the separate same-material cohesive route only when matching physical interface tests are available. Never infer layer directions, material identity or interlayer strength from a photo, generic material label or nominal slicer preset.
For orthotropic FEA, optionally supply all nine directly traceable, already factored X/Y/Z tensile and compressive plus XY/XZ/YZ shear limits in orthotropicMaterial.factoredAllowables, with separate exact-value evidence and an applicability/design-factor basis. Never substitute generic datasheet strength or an unqualified coupon peak. The returned componentwise maximum-stress screen uses local material-axis stress extrema and is diagnostic only; it assumes one homogeneous orthotropic continuum, does not model layer interfaces, delamination or different-material joints, and omits multiaxial interaction. Matched interlayer-test data can inform Z-tension and XZ/YZ-shear allowables but does not turn this into a cohesive-interface analysis. Never report this screen as verified layer adhesion, part strength or print approval.
For an optional 3D Tsai-Wu first-failure screen in orthotropic linear FEA, require one exact single-material printer/material/profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers and nozzle-temperature identity in orthotropicMaterial.process. Prefer binding the unique exact-process qualification by its orthotropicMaterial.tsaiWuQualificationRecordId; the server loads its nine directly measured, un-factored X/Y/Z tensile/compressive and XY/XZ/YZ shear failure strengths, three normalized XY/XZ/YZ normal-interaction coefficients and evidence, then verifies material axes. Each strength test must attest its material-frame axis and mode (for example, x tension is material-1 tension; xy shear is material-1-2 shear); each interaction and its source dependencies must attest the corresponding biaxial plane. Legacy records without these direction attestations remain readable but cannot qualify a Tsai-Wu FEA. A complete inline orthotropicMaterial.tsaiWuCriterion remains supported when needed. Interactions must be derived from traceable biaxial tests. Ask the user for these records if missing; never copy generic datasheet values, assume the conventional interaction coefficient or infer it from uniaxial coupons. The normalized interaction matrix must be positive definite. The result reports local integration-point failure indices and proportional load factors to index one only. A load factor is not a design safety factor, and neither a sub-unity index nor a large load factor means the part passed. The model still represents one homogeneous material, not individual roads or delamination.
When actual test-coupon G-code is available, preserve its profile/source/G-code hashes, selected per-layer road summaries and explicitly user-confirmed slicer-to-global axes in depositionPathEvidence. This is test provenance only, not an adhesion measurement or solver input; never reconstruct road direction from nominal slicer settings.
When physical adhesion between printed layers of one material is relevant, use plasticity_record_material_interface_test only for caller-provided measured test results with the same exact printer/material/profile process on both sides, interface normal, test mode, load direction, fixture/specimen protocol hash and observed failure location. Normal-tension load direction must align with the interface normal; interface-shear load direction must lie in its plane; mixed-mode must contain both components. Store full compliance-corrected pure-mode curves as scalar separation/traction data and MMB curves as separate normal/tangential separation and traction components, with source SHA-256 and locator. Call plasticity_analyze_material_interface_test_curve to summarize measured work and mode mixity. When the user has a CSV of already processed physical fracture data, use plasticity_import_interface_fracture_csv for a read-only per-specimen preview; explicitly map the method, columns, units and CSV formatting, and attest that the values are already compliance-corrected physical traction-separation data. Never convert raw machine force-displacement data with this importer. Verify each source hash/record locator, specimen, fixture, exact print process and observed failure plane before separately recording any curve with plasticity_record_material_interface_test. For a CZM_TURON candidate fit, provide Mode-I DCB, Mode-II ENF and at least two MMB tests at distinct measured energy fractions; all ENF and MMB tests must use the same in-plane shear axis within one degree because this route has a single tangential cohesive law. The MCP requires those protocol identifiers in each testMethod and reports the pure-mode peaks plus fit residuals. Review residuals against test uncertainty. Do not invent ETA_BK. K is not identified by that fit and must not be silently guessed. Code_Aster CZM_TURON uses one normal and one tangential cohesive response, sharing tangential strength and fracture energy across both in-plane tangent directions; it cannot represent direction-dependent shear adhesion. Matching shear axes prevents mixing directional datasets but does not prove that the bond is isotropic. These outputs summarize physical evidence only; they are not qualified cohesive-law parameters, design allowables or a part FEA. Do not claim bond integrity from the homogeneous orthotropic FEA screen.
Use plasticity_analyze_cohesive_interface only for a single-material printed part, with an exact-process coupon for that one bulk material, traceable Poisson ratio and a matching immutable same-material layer test. Dissimilar-material printed bonds are rejected before meshing and are outside this calculation scope. Mode-I analysis requires a full normal-tension DCB traction-separation curve with failure at the layer interface. Its modeILaw may explicitly select CZM_EXP_REG or CZM_LIN_REG; omitted input preserves the CZM_EXP_REG default. Both parameterize their softening law from measured peak traction and integrated fracture energy and do not fit the full measured curve shape. Review this choice against the measured curve and record the reason; do not infer it from part geometry. Read the returned solver.result.v3Interpretation: for CZM_EXP_REG, V3 is a damage variable in [0,1]; for CZM_LIN_REG, V3=2 means the cohesive element is completely broken, so do not present it as the same normalized damage fraction. By default it uses isotropic bulk elasticity with pinned Code_Aster 15.2. If useOrthotropicBulkProperties is explicitly enabled, Mode-I uses Code_Aster 17.4 and applies one measured homogeneous orthotropic tensor; when explicit layerwise mapping is enabled, each bulk layer uses its G-code-mapped frame while all layers share that same tensor. The mixed-mode Turon route additionally requires same-process-pair DCB, ENF and at least two MMB tests at distinct measured energy fractions, traceable K, and an explicit global displacement with both opening-normal and in-plane tangential components greater than one degree. The displacement's shear axis must match the common measured ENF/MMB shear axis within one degree; reject other directions because this solver law has one tangential response. All ENF and MMB tests must use the same in-plane shear axis within one degree. Supply 1..32 ordered parallel split planes for a same-material layer stack; their normals may be tilted in global coordinates, and the same measured layer law is repeated at every plane. This equivalent-interface assumption does not resolve individual roads or within-layer raster variation. Either route may accept useOrthotropicBulkProperties when the exact-process coupon contains measured E2/E3, nu13/nu23, G12/G13/G23 evidence and a confirmed or traceable global print frame. Check the exact-process coupon match is unambiguous and do not infer axes from a photo or CAD face. Confirm the tested material's side relative to the chosen split-plane normal; do not infer this from the body or face normals. The measured test direction must match the normal/shear mode; the support face lies below the first split plane and the loaded face above the last plane along the shared normal. The server derives peak traction, integrated fracture energy and displacement endpoint from exact tests, exports the selected current Solid, creates a conforming multi-region mesh with a cohesive element set at every requested plane, and aborts if the CAD revision changes. Review the mesh-resolution screen and perform refinement/sensitivity work as needed. Turon approximates measured curves using peak/area parameters and its K still needs sensitivity analysis. The bulk tensor remains one measured single-material continuum whose local frame may vary by mapped layer; repeated cohesive planes use the same measured, direction-independent interface law and do not resolve individual deposited roads, within-layer raster mixtures or direction-dependent adhesion. Use results only as raw solver responses; never report it as a part-strength verdict, qualified layer-adhesion value, print approval or design allowable.
Before asking for a physical coupon record, obtain the selected immutable profile hash plus material.nozzleTemperatureC, slicer.layerHeightMm, slicer.nominalInfillPercent, slicer.sparseInfillPattern, slicer.wallLoops, slicer.topShellLayers, and slicer.bottomShellLayers from workbench_manufacturing_profiles when those settings are available. Carry the exact process values into the record; do not infer missing infill or substitute a generic profile. These are resolved profile defaults; sparse fill or shell settings may be overridden per object and must not be assumed when a modifier was used. If the coupon was printed with a different setting, first register/select the matching immutable process profile and hash. When layer positions should follow the actual print, record the measured profile hash and layer height in the physical interface-test and material-coupon process; layer height is part of exact process identity. After slicing, if the job reports a complete deposition-height schedule, call workbench_slicer_interface_heights for every selected interface index. Derive each offset as that interface’s depositionLayerZMm minus firstDepositionLayerZMm and pass the ordered values as interfaceOffsetsMm; this preserves first-layer and adaptive heights. Also pass the selected interface response plus its job/profile/source/G-code hashes, layer count and coordinate frame as depositionPathEvidence so the cohesive report retains the exact per-layer road-orientation observations. This evidence preserves the measured toolpath but does not qualify material properties. Use workbench_slicer_layer_path_orientations in batches of up to 32 to retrieve every layer direction (up to 33 total layers) when the user wants layerwise solver orientation. Confirm how slicer X maps into the CAD global frame and that the exact-process coupon axis 1 represents the dominant deposited-road direction; pass those confirmations as pathFrameMapping and roadAxisMapping. Combine complete responses, including the final deposited layer, as layerPathEvidence with shared job/profile/source/G-code hashes. Every layer must have complete linear or planar circular-arc coverage; do not treat unsupported arc/spline moves as complete. With explicit roadAxisMapping and useOrthotropicBulkProperties, Mode-I and Turon use one measured tensor with a separate local frame per layer. Without roadAxisMapping, frames remain candidates and do not affect solver response. This does not model multiple materials, layer-varying properties, within-layer raster mixtures or directional interface adhesion. Returned coordinates are in slicer build coordinates: map only relative offsets onto the confirmed CAD print axis, never copy absolute slicer Z into CAD. Otherwise the planner uses the nominal profile height. Call plasticity_plan_cohesive_layer_planes with that same profile hash and layer height, a point on the first interlayer plane after object placement, confirmed global build direction, total layer count and explicit interface indices. Copy both its plan and planes into layerPlanePlan and splitPlanes; analysis rejects legacy test records without a recorded layer height and any height that differs from the measured process profile. It also checks profile identity, plane coordinates, and (for orthotropic bulk) alignment with the coupon’s confirmed build direction. For up to 32 interfaces the planner requires the complete stack; for larger stacks it marks selected planes as incomplete, and omitted interfaces remain unanalyzed. Do not present selected-plane analysis as full-stack delamination resistance. If no validated placement/anchor is available, ask instead of inferring layer positions from an image or display mesh.
Read maximumVonMisesElementSICN alongside each raw stress-peak locator to see the Gmsh SICN of that exact tetrahedron. Compare it with the mesh minimum only as local mesh-shape context; neither a high value nor separation from the minimum proves stress accuracy, a resolved hotspot, convergence, or strength.
Read maximumPrincipalStressMPa and minimumPrincipalStressMPa as raw tensile/compressive principal extrema across sampled integration points, each with its own mesh locator. Their refinement trends and signed relative changes expose mesh sensitivity only; they are diagnostic and must never be compared with a von Mises allowable or reported as a pass without a criterion qualified for the selected failure mode.
The public FEA tool measures the rank of all fixed global translations at the actual mapped mesh nodes and stops before CalculiX if they leave any of the six rigid-body translation/rotation modes unconstrained. A full rank of six is necessary to remove those rigid-body modes, but it does not establish physical support validity, elastic stability, or absence of local mechanisms.
For a heat-set insert, use pullout and torque-out capacity only when the evidence matches the exact insert, host material, print profile, orientation, pocket and installation process. Ask for the worst-case demand on one insert; do not divide a group load evenly without a load-path model.
For two or more fasteners under an in-plane load, establish every transfer-point coordinate, both force components, the point of application and any free moment. Use the elastic group method only after confirming a rigid attachment and identical in-plane fastener stiffness. Use each fastener’s own vector resultant for any member check. On a rectangular mounting face, call plasticity_check_fastener_group_layout with an explicit opposedFaceId to verify matching native perforated faces and exact plate thickness. This is geometry evidence only and does not establish a load path or capacity. plasticity_verify_fastener_group_plate_bearing compares each elastic per-fastener demand with a directly traceable, configuration-matched, already factored bearing allowable using exact measured thickness and hole diameter. It can additionally check a straight transverse net-tension section only when you provide the external tensile resultant separately, identify local X or Y as its axis, supply a distinct traceable factored tensile allowable, and confirm uniform membrane tension, centered through-thickness loading and a straight transverse failure path. Never substitute per-fastener demands for the external plate tension or infer that resultant from a sketch. Optionally use edgeShearOut with a separate traceable, factored shear allowable to check local two-plane tear-out for per-fastener vectors aligned to local X or Y; diagonal vectors and e/d below 1.5 are unsupported, while e/d below 2 remains conditional. Angled/staggered fracture paths, compression-side buckling, shared-ligament interaction, unsupported tear-out directions, bypass and complete-joint strength remain unchecked; even a within-allowable result is only a conditional local screen. If a physical multi-hole plate test is run, record the measured specimen, exact hole layout, print-process/profile, fixture, load axis, individual peak loads and observed failure modes with plasticity_record_fastener_group_test, then use plasticity_match_fastener_group_test to find only an exact configuration match. A test match is evidence only: it does not produce a design allowable or pass a different part or support setup. To add a test benchmark to the CAD-bound report, first confirm that the record's exact process and fixture/load path apply to the current part. Supply the selected immutable record ID, an independently evidenced dimensional equivalence tolerance, the exact process, safety factor, and explicit process/fixture confirmations; the server then checks every measured plate and hole dimension against the live B-rep. This comparison only checks factored external tensile demand against the lowest observed specimen peak. It is not a statistically reduced allowable, strength pass/fail, or proof for unobserved failure modes. Do not select a nearby test by appearance or silently assume fixture equivalence. The single-through-fastener plate method assumes one hole; never repeat it per hole and aggregate the results into a multi-hole plate or whole-joint pass.
Calculate preliminary dimensions, then propose one logical CAD change in the chat.
Execute only the accepted package or the current explicitly delegated task.
Delegation ends when the task ends and is not restored after restart.
Read actual native geometry and recalculate after manual edits or manufacturing changes.
Workbench is optional. Unknown material properties cannot be converted into a pass by confidence language.
For an end-to-end tongue-root scenario, use plasticity_calculate_tongue_root_strength_from_coupon_data or plasticity_verify_tongue_root_strength_from_coupon_data. They match the physical coupon record to the exact Workbench profile hash, printer, material, orientation, infill, nozzle temperature and measured slicer layer height, then copy only measured Young's/shear moduli and their evidence into the calculation. Supply separately sourced tensile/shear design allowables and explain their applicability; raw coupon strengths are never substituted for allowables. These tools keep material suitability unconfirmed and the result conditional. No-match or conflicting records return without a calculation. If no record exists, ask for the report and unresolved process details, and record it only after the user confirms the physical tests. The registry does not check test-standard compliance, derive statistical design values, or certify a part. Never substitute a generic filament label or slicer properties for coupon evidence.
For axial rectangular or rectangular-cantilever scenarios with exact-process coupon data, use plasticity_calculate_rectangular_strength_from_coupon_data. It copies only measured Young's modulus and its evidence. Provide independent tensile design allowable evidence, plus an independent compressive allowable for a cantilever; state their applicability basis. Never map raw coupon tensile/compressive strengths into design allowables. These scenarios remain conditional with material suitability unconfirmed. Exact-process no-match or ambiguity returns without saving a calculation.
Nominal section stress is not whole-part validation.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| heightAxis | Yes | ||
| lengthAxis | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false. The description adds that the tool appends measured evidence, recalculates and persists a CAD-bound report, and does not mutate CAD, which usefully clarifies the write-but-not-destructive behavior beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is an enormous wall of text covering many unrelated tools, workflows, warnings, and policies. Very little of it is front-loaded or focused on this specific tool, and most sentences do not earn their place for selecting or invoking plasticity_verify_member_strength.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a deeply nested input schema with zero parameter descriptions and no output schema, yet the description fails to explain the required structure, options, or return behavior for this tool. Even though it is extremely long, it leaves the agent without the specific information needed to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never mentions the top-level parameters lengthAxis, heightAxis, or the nested input object's required fields such as goal, method, material, evidence, assignments, and assumptions. It therefore does not compensate for the complete lack of structured parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific action ('Verify exact current rectangular B-rep dimensions... append measured evidence, recalculate and persist a CAD-bound report') but it does not clearly match the tool name's implied strength verification, and the actual purpose is buried in a multi-tool policy wall. It mentions supported member methods but never crisply differentiates this tool from siblings like plasticity_calculate_strength or plasticity_verify_section_strength.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives method-specific guidance for Euler column, simply-supported plate, axial/cantilever rectangular scenarios, which is relevant to this tool's method enum. However, it does not explicitly state when to use this tool versus closely related alternatives such as plasticity_calculate_strength or plasticity_size_member, so the routing value is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_verify_section_strengthC
Re-read an exact native planar face or arbitrary plane through a Solid, replace section geometry with measured evidence, calculate and persist a CAD-bound report. It does not mutate persistent CAD geometry. Search accessible primary product/material sources before asking the user for known facts.
Before requesting missing print-material data, call plasticity_plan_single_material_strength_tests for the selected method and exact one-material process. Use its measurement matrix to ask only for evidence needed by that route; explain why the measurements matter and never invent coupon values or allowables. A DCB task may contain an explicitly labeled generic-PLA literature geometry as a starting reference only; do not present it as a Creality property, normative specimen size, or sample-count requirement, and require checking the selected process, fixture and method. Keep the confirmed road/build axes and same-material layer-interface assumptions explicit.
For Creality PLA literature references, read plasticity://strength/interlayer-literature-baseline. It contains separate CR-PLA and Hyper PLA records plus generic-PLA Z-tension/DCB context; do not merge product families or transfer values across SKUs. It is a screening reference only: do not register literature values as physical coupons or interface tests, bind them to the user's exact K1C process, treat them as design allowables, or infer a traction-separation curve from fracture energy. Manufacturer-mirror discrepancies and non-matching printer/process tests must remain visible; ask for exact-process physical tests before a calibrated cohesive result. When the user provides raw direct-tension machine CSV, call plasticity_import_interface_tensile_csv first with explicit specimen-ID/force headers, delimiter, decimal separator, force unit and sign, measured net area and observed failure location for every coupon. Review its hashed peak-force preview; the importer does not filter or correct machine data, register a test, or derive DCB/ENF/MMB curves. For directly loaded specimens supplied in another format, record every sample's measured peak force, net cross-section, observed failure location and SHA-256/source locator, then call plasticity_calculate_interface_specimen_strengths; report force/area as nominal specimen stress. Include only confirmed interface failures in its summary statistics; show bulk/fixture failures individually and do not pool them with interface failures. Keep all statistics descriptive only. Do not call these local interface tractions or design allowables, and do not use them as a cohesive law.
When a raw DCB force/displacement CSV is available, use plasticity_import_dcb_mode_i_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting explicitly, then select the exact source record for every manually observed crack-growth point and enter that measured crack length; never let the importer filter traces, infer growth or select peak loads. It converts units only, preserves the source hash/record locators and calculates an exploratory MBT G_I(a) curve. Require the caller to establish machine-compliance-corrected load-point displacement and quasi-static linear-elastic behavior; attestations are not independent verification. Review selected rows, crack lengths, calculation and limitations against the physical log. If no CSV is available, plasticity_calculate_dcb_mode_i_energy accepts equivalent manually selected observations with traceable source hash/locators. This does not conform the test to ASTM D5528 (whose stated scope is unidirectional fiber composites), create a traction-separation law, or qualify CR-PLA. Never convert G_I into peak traction or strength without separate evidence.
When raw ENF force/displacement CSV is available, use plasticity_import_enf_mode_ii_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting; group calibration rows into each measured run/crack length, manually select only the initial-linear records, and manually select the observed initiation/peak record for the fracture run. The tool fits compliance from the selected rows, then the existing ENF calculator fits C against a^3 and returns exploratory G_IIc; it never searches for the linear range, crack growth or peak. Review each compliance fit, source hash/record locator, force/displacement correction and fixture log. If pre-reduced compliances are supplied, use plasticity_calculate_enf_mode_ii_energy directly. Neither path determines ASTM D7905 validity for printed PLA, registers physical evidence, builds an R-curve or yields a cohesive law. Keep the confirmed in-plane shear direction exact; do not merge ENF runs with differing direction just because their layer normals match.
When the requested failure mode is layer separation, distinguish CR-PLA's physical tensile/infill study and the two-sample CR-PLA-associated vertical layer-adhesion screen from the Hyper PLA flat tensile/flexural study: observed flexural delamination is qualitative failure-mode evidence, not a measured interface law. The baseline also records an upright generic-PLA tensile coupon on a Creality Ender 3 Pro and a custom generic-PLA interface coupon/calibrated cohesive parameter; neither identifies the filament as Creality nor establishes a same-process cohesive calibration. For only a nominal normal-strength screen across the layers, use the focused layer-interface-normal-tension scope; require measured failure at the interface and do not use that peak as a cohesive law. Use layer-interface-mode-i for a Mode-I fracture response, layer-interface-mode-ii for exploratory ENF Mode-II initiation energy using a same-fixture compliance calibration, and layer-interface-mixed-mode only when the requested analysis needs DCB/ENF/MMB cohesive evidence. The focused ENF calculator fits the experimentally supplied compliance against crack length cubed and uses the initiation peak; it is not an R-curve, does not verify the physical fixture or raw compliance fit, and does not claim ASTM D7905 validity for printed PLA. Layerwise static FEA assumes perfectly bonded interfaces and cannot answer a delamination question.
After reviewing an exploratory DCB energy preview against the physical test log, persist it only through plasticity_record_dcb_mode_i_energy_test with explicit confirmation that the measurements came from real physical tests. Retrieve a full record with plasticity_read_dcb_mode_i_energy_test and require exact process/interface-normal/protocol matching through plasticity_match_dcb_mode_i_energy_test before comparing runs. For ENF Mode-II energy, record reviewed measurements only through plasticity_record_enf_mode_ii_energy_test with the same physical-test confirmation; retrieve all calibration/fracture inputs with plasticity_read_enf_mode_ii_energy_test and exact-match process/interface-normal/in-plane-shear-axis/protocol using plasticity_match_enf_mode_ii_energy_test. Both immutable energy registries are separate from peak-strength and traction-separation records and are not consumed by cohesive FEA.
For an exploratory mixed-mode initiation partition, use plasticity_calculate_mmb_mode_i_ii_energy only when measured MMB force and geometry, same-process flexural and orthotropic moduli, and material-axis mapping are available; require lever weight to be measured negligible or counterbalanced. This Reeder-Crews beam-theory estimate does not establish ASTM D6671 validity for printed PLA and does not replace full mixed-mode traction-separation curves or provide a cohesive law. For raw MMB force CSV, use plasticity_import_mmb_mode_i_ii_energy_csv only with manually selected initiation records and a physically observed criterion; it does not search traces for onset/peak. Record a preview only after reviewing the source and confirming the data are from physical tests; matching caller confirmation with plasticity_record_mmb_mode_i_ii_energy_test persists and server-recomputes this separate energy estimate. Use plasticity_match_mmb_mode_i_ii_energy_test only for the exact process, interface normal, shear axis and protocol; read the full evidence with plasticity_read_mmb_mode_i_ii_energy_test. This registry is not cohesive input or an FEA source.
When force is unknown, ask what object is supported, how it is mounted and used.
Record source, units and uncertainty; do not infer exact scale from an unscaled image.
Ask at most one next-step question package per response, then wait for the user's answer. Include only facts needed to choose the next safe step; defer material, manufacturing, tolerances and detailed dimensions until they affect that decision. Re-evaluate after every answer and ask a focused follow-up only when it changes the method, required evidence or next action. If the user does not know, move to one useful contextual clue such as the supported object, use, environment or mounting; do not repeat a list of unknowns or guess. On a new bracket task, first ask compactly what it supports, its load/use and how it is mounted; defer section, material/process and displacement questions until that first answer narrows the load path and method.
Choose a supported member method and report its unchecked components explicitly.
For a flat rectangular panel, establish net pressure and the real condition of all four edges before choosing the simply-supported plate method. Do not infer edge support from appearance.
For a straight prismatic rectangular member in centred axial compression, use the Euler column method only when effective-length factor K, elastic limit, compressive allowable, and the actual restraint condition are supported by evidence. Use the weakest section axis, require a negative force value for compression, and reject Euler results when its predicted critical stress exceeds the supplied elastic limit; do not guess K or treat the method as an inelastic, eccentric-load, local-buckling, or whole-part check.
For an integral rectangular enclosure wall, inspect two opposed planar faces on the same Solid with plasticity_inspect_integral_rectangular_plate, then use plasticity_verify_integral_plate_strength to replace dimensions from exact native B-rep. The inspector accepts only rectangular faces whose outlines match or inset by one wall thickness on each side. It measures geometry only: establish the real support, pressure, material and edge conditions separately; never assume a box wall is simply supported.
For section analysis, identify the critical plane and explain the load path that makes it critical. Use an existing planar face when it matches; otherwise inspect an arbitrary plane through the Solid.
For one fastener carrying in-plane plate load, establish the load direction and separate bearing, shear and tensile allowables before calculating. Never substitute compressive strength for bearing strength.
For a fastener group on a rectangular planar face, inspect exact hole centers and boundaries, then check center-to-edge distance, hole-edge clearance, pitch, ligament and every applicable head, washer, nut or driver envelope against explicitly sourced or user-approved criteria. A measured layout without criteria is not a pass, and a layout pass is not a strength pass.
When checking the fastener member, establish its grade, tensile stress area, effective shear area at the actual plane, one or two shear planes, total axial tension including applicable preload, and actual shear load. Explain why the selected combined-load interaction is applicable before accepting it.
For a tapped hole, nut, or threaded insert under axial load, establish the designation, pitch, actual engagement, fully formed engaged thread count, and configuration-matched allowable loads for internal-thread stripping, external-thread stripping, and fastener tension. Do not infer any capacity from nominal M size. A procured nut or insert requires a specified assembly allowable or dedicated test rather than an unqualified nominal shear-area calculation.
For solver-backed static FEA, first use plasticity_match_material_coupon_data when a physically tested material record may match the print process. Only an unambiguous exact match for printer, material, profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers, nozzle temperature and measured slicer layer height can supply Young's modulus; pass the selected record ID/process and the exact recorded modulus so the server binds and validates it. If match is ambiguous because compatible partial records have no single consolidated record, ask the user for the confirmed count of unique physical specimens and call plasticity_combine_material_coupon_data with those exact record IDs; it preserves measured values and evidence without averaging. If records conflict, stop and ask the user which physical measurement applies. For an orthotropic print model, do not use a uniaxial coupon as a full tensor. When an immutable exact-process record contains the complete measured tensor and nu12, pass orthotropicMaterial.couponRecordId and process, plus materialCoupon with the same record ID; the MCP checks E1, nu12, every remaining constant, each evidence object and the confirmed global print axes, and rechecks the record when reading the saved report. Otherwise pass E2/E3, nu13/nu23, G12/G13/G23 with separate exact evidence, global material axes 1 and 2, and a user-confirmed or sourced global build direction; material axis 3 must align with that build direction and represents the homogeneous layer-normal response. This does not represent individual layers or prove adhesion. Model one material and one print process per analyzed part; do not combine material datasets or infer a multi-material print. When the selected exact-process coupon record contains a qualified Tsai-Wu dataset, pass its ID as orthotropicMaterial.tsaiWuQualificationRecordId along with the identical orthotropicMaterial.process; the server loads measured strengths, biaxial interaction data and source evidence, then verifies the axes. Do not copy or reconstruct criterion values by hand. If the exact-process match remains ambiguous after consolidation, ask the user to resolve conflicting measurements; never choose a record silently. The legacy youngsModulusMPa and poissonRatio fields are E1 and nu12. Ask the user to resolve the print-axis orientation if it is unknown; never infer it from a photo or CAD face. The server checks positive-definite compliance and rejects a von Mises allowable or coupon binding for this orthotropic model. Otherwise attach youngsModulusEvidence whose value exactly matches the modulus; measured/sourced evidence needs a URL, SHA-256 and locator. poissonRatioEvidence is always required and must exactly match the ratio. A physical coupon record may store measured nu12 with its exact process. If using its Tsai-Wu record-binding path, the server verifies the nu12 value and evidence against that record; otherwise supply the input evidence directly from a traceable source. Never infer nu12 from a generic plastic label. An assumed value must include its reason and stay explicitly scenario-only after discussing the assumption with the user. Optionally supply a directly measured or sourced, process-applicable factored von Mises design allowable using factoredVonMisesAllowableMPa, exact matching factoredVonMisesAllowableEvidence with URL, SHA-256 and locator, and factoredVonMisesAllowableBasis. It must already include the design factors. Never turn a generic tensile strength or raw coupon peak into a design allowable. The report will compare every sampled raw mesh peak with it as a diagnostic screen only: above means a sampled peak exceeds that supplied allowable; below does not prove strength. This never changes strengthPass or print approval. Confirm the actual restraints with the user. Legacy supportFaceIds fix all three global translations on each selected planar face; use explicit supportConditions only when the user has specified which global x/y/z translations are zero on each face. Each condition acts on all nodes of that face, is not a frictionless-contact or rotational support, and may leave rigid-body modes or create a singular system; do not infer it from a photo or face normal. Supports and loaded faces must not share mesh nodes. Every selected planar load face needs an explicit uniform traction and/or resultant force with its point of application and free moment. Use plasticity_analyze_static_fem only for one Solid with 1–8 explicit support conditions and load vectors grounded in a selected planar face. Use named loadCases for physically distinct scenarios such as weight, operating force and handling load; do not combine mutually exclusive scenarios. Each case has a separate solver result, and comparison proceeds only when the generated meshes are byte-identical. Set meshRefinementSteps to 1–3 for two to four mesh levels when a trend across successively halved element sizes is useful; the report classifies the sampled direction of raw maximum von Mises stress and observed displacement as increasing, decreasing, unchanged, non-monotonic or insufficient-levels. For more than four levels, run separate analyses against the same current CAD revision and call plasticity_compare_static_fem_refinement_reports; it merges only reports with matching loads, supports, material evidence, native geometry and byte-identical overlapping mesh results. Check the returned freshness before relying on it. Treat all trend labels and relative changes as diagnostic evidence only. Never call a mesh trend a pass or proof of convergence. Each result includes the raw maximum C3D4 integration-point stress element and its mesh-element centroid in millimetres; this is a mesh-bound locator, not an averaged stress field, a resolved critical-region boundary, or proof of a physical hotspot. Locations may move between refinement levels. The legacy top-level load fields still represent one case. The tool returns total and per-support reaction forces and moments, global force/moment equilibrium residuals and a named displacement axis for each case; per-support values are diagnostic resultants over each support node set. Re-read it with plasticity_static_fem_report; any CAD revision change makes it stale.
For layerwise static FEA, keep the single-material exact process consistent from measurement through solver input. Read the immutable profile hash, infill pattern, wall loops, top/bottom shell layers and measured layer height from workbench_manufacturing_profiles, then slice the intended model/orientation with the selected Creality K1C profile. Record actual specimen settings if per-object overrides differ from profile defaults; an unchanged profile hash does not erase those differences. Call workbench_slicer_layer_path_orientations in batches of up to 32 and combine layer-path results for every deposited layer, including the final deposited layer, into layerPathEvidence with identical job ID, profile hash, source-artifact hash and G-code hash. Layerwise static orientation is supported only for a complete linear or planar circular-arc direction result for every layer in stacks of 2–33 layers; do not fill missing or curved-path directions by inference. Confirm pathFrameMapping.slicerXDirectionGlobal in CAD global coordinates and explicitly confirm that the same exact-process coupon's material axis 1 represents the dominant deposited-road direction in roadAxisMapping. Call plasticity_plan_cohesive_layer_planes with the same profile hash and layer height, current CAD anchor at the first interlayer plane, confirmed CAD build direction, total layer count, and the full layer-path evidence/mappings; pass its returned plan as layerPlanePlan to plasticity_analyze_static_fem. When the slicer supplies actual interface heights, call workbench_slicer_interface_heights for every interface in this complete stack, set each interfaceOffsetsMm value to its depositionLayerZMm minus firstDepositionLayerZMm, and attach the matching job/profile/source/G-code hashes as depositionPathEvidence; this preserves first-layer and adaptive heights instead of assuming nominal uniform spacing. The static analyzer requires the plan to match the one measured orthotropic process and applies the same measured orthotropic tensor to each layer with its confirmed G-code-mapped frame. It assumes perfectly bonded layers and cannot assess delamination. Do not use static FEA to assess delamination; use the separate same-material cohesive route only when matching physical interface tests are available. Never infer layer directions, material identity or interlayer strength from a photo, generic material label or nominal slicer preset.
For orthotropic FEA, optionally supply all nine directly traceable, already factored X/Y/Z tensile and compressive plus XY/XZ/YZ shear limits in orthotropicMaterial.factoredAllowables, with separate exact-value evidence and an applicability/design-factor basis. Never substitute generic datasheet strength or an unqualified coupon peak. The returned componentwise maximum-stress screen uses local material-axis stress extrema and is diagnostic only; it assumes one homogeneous orthotropic continuum, does not model layer interfaces, delamination or different-material joints, and omits multiaxial interaction. Matched interlayer-test data can inform Z-tension and XZ/YZ-shear allowables but does not turn this into a cohesive-interface analysis. Never report this screen as verified layer adhesion, part strength or print approval.
For an optional 3D Tsai-Wu first-failure screen in orthotropic linear FEA, require one exact single-material printer/material/profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers and nozzle-temperature identity in orthotropicMaterial.process. Prefer binding the unique exact-process qualification by its orthotropicMaterial.tsaiWuQualificationRecordId; the server loads its nine directly measured, un-factored X/Y/Z tensile/compressive and XY/XZ/YZ shear failure strengths, three normalized XY/XZ/YZ normal-interaction coefficients and evidence, then verifies material axes. Each strength test must attest its material-frame axis and mode (for example, x tension is material-1 tension; xy shear is material-1-2 shear); each interaction and its source dependencies must attest the corresponding biaxial plane. Legacy records without these direction attestations remain readable but cannot qualify a Tsai-Wu FEA. A complete inline orthotropicMaterial.tsaiWuCriterion remains supported when needed. Interactions must be derived from traceable biaxial tests. Ask the user for these records if missing; never copy generic datasheet values, assume the conventional interaction coefficient or infer it from uniaxial coupons. The normalized interaction matrix must be positive definite. The result reports local integration-point failure indices and proportional load factors to index one only. A load factor is not a design safety factor, and neither a sub-unity index nor a large load factor means the part passed. The model still represents one homogeneous material, not individual roads or delamination.
When actual test-coupon G-code is available, preserve its profile/source/G-code hashes, selected per-layer road summaries and explicitly user-confirmed slicer-to-global axes in depositionPathEvidence. This is test provenance only, not an adhesion measurement or solver input; never reconstruct road direction from nominal slicer settings.
When physical adhesion between printed layers of one material is relevant, use plasticity_record_material_interface_test only for caller-provided measured test results with the same exact printer/material/profile process on both sides, interface normal, test mode, load direction, fixture/specimen protocol hash and observed failure location. Normal-tension load direction must align with the interface normal; interface-shear load direction must lie in its plane; mixed-mode must contain both components. Store full compliance-corrected pure-mode curves as scalar separation/traction data and MMB curves as separate normal/tangential separation and traction components, with source SHA-256 and locator. Call plasticity_analyze_material_interface_test_curve to summarize measured work and mode mixity. When the user has a CSV of already processed physical fracture data, use plasticity_import_interface_fracture_csv for a read-only per-specimen preview; explicitly map the method, columns, units and CSV formatting, and attest that the values are already compliance-corrected physical traction-separation data. Never convert raw machine force-displacement data with this importer. Verify each source hash/record locator, specimen, fixture, exact print process and observed failure plane before separately recording any curve with plasticity_record_material_interface_test. For a CZM_TURON candidate fit, provide Mode-I DCB, Mode-II ENF and at least two MMB tests at distinct measured energy fractions; all ENF and MMB tests must use the same in-plane shear axis within one degree because this route has a single tangential cohesive law. The MCP requires those protocol identifiers in each testMethod and reports the pure-mode peaks plus fit residuals. Review residuals against test uncertainty. Do not invent ETA_BK. K is not identified by that fit and must not be silently guessed. Code_Aster CZM_TURON uses one normal and one tangential cohesive response, sharing tangential strength and fracture energy across both in-plane tangent directions; it cannot represent direction-dependent shear adhesion. Matching shear axes prevents mixing directional datasets but does not prove that the bond is isotropic. These outputs summarize physical evidence only; they are not qualified cohesive-law parameters, design allowables or a part FEA. Do not claim bond integrity from the homogeneous orthotropic FEA screen.
Use plasticity_analyze_cohesive_interface only for a single-material printed part, with an exact-process coupon for that one bulk material, traceable Poisson ratio and a matching immutable same-material layer test. Dissimilar-material printed bonds are rejected before meshing and are outside this calculation scope. Mode-I analysis requires a full normal-tension DCB traction-separation curve with failure at the layer interface. Its modeILaw may explicitly select CZM_EXP_REG or CZM_LIN_REG; omitted input preserves the CZM_EXP_REG default. Both parameterize their softening law from measured peak traction and integrated fracture energy and do not fit the full measured curve shape. Review this choice against the measured curve and record the reason; do not infer it from part geometry. Read the returned solver.result.v3Interpretation: for CZM_EXP_REG, V3 is a damage variable in [0,1]; for CZM_LIN_REG, V3=2 means the cohesive element is completely broken, so do not present it as the same normalized damage fraction. By default it uses isotropic bulk elasticity with pinned Code_Aster 15.2. If useOrthotropicBulkProperties is explicitly enabled, Mode-I uses Code_Aster 17.4 and applies one measured homogeneous orthotropic tensor; when explicit layerwise mapping is enabled, each bulk layer uses its G-code-mapped frame while all layers share that same tensor. The mixed-mode Turon route additionally requires same-process-pair DCB, ENF and at least two MMB tests at distinct measured energy fractions, traceable K, and an explicit global displacement with both opening-normal and in-plane tangential components greater than one degree. The displacement's shear axis must match the common measured ENF/MMB shear axis within one degree; reject other directions because this solver law has one tangential response. All ENF and MMB tests must use the same in-plane shear axis within one degree. Supply 1..32 ordered parallel split planes for a same-material layer stack; their normals may be tilted in global coordinates, and the same measured layer law is repeated at every plane. This equivalent-interface assumption does not resolve individual roads or within-layer raster variation. Either route may accept useOrthotropicBulkProperties when the exact-process coupon contains measured E2/E3, nu13/nu23, G12/G13/G23 evidence and a confirmed or traceable global print frame. Check the exact-process coupon match is unambiguous and do not infer axes from a photo or CAD face. Confirm the tested material's side relative to the chosen split-plane normal; do not infer this from the body or face normals. The measured test direction must match the normal/shear mode; the support face lies below the first split plane and the loaded face above the last plane along the shared normal. The server derives peak traction, integrated fracture energy and displacement endpoint from exact tests, exports the selected current Solid, creates a conforming multi-region mesh with a cohesive element set at every requested plane, and aborts if the CAD revision changes. Review the mesh-resolution screen and perform refinement/sensitivity work as needed. Turon approximates measured curves using peak/area parameters and its K still needs sensitivity analysis. The bulk tensor remains one measured single-material continuum whose local frame may vary by mapped layer; repeated cohesive planes use the same measured, direction-independent interface law and do not resolve individual deposited roads, within-layer raster mixtures or direction-dependent adhesion. Use results only as raw solver responses; never report it as a part-strength verdict, qualified layer-adhesion value, print approval or design allowable.
Before asking for a physical coupon record, obtain the selected immutable profile hash plus material.nozzleTemperatureC, slicer.layerHeightMm, slicer.nominalInfillPercent, slicer.sparseInfillPattern, slicer.wallLoops, slicer.topShellLayers, and slicer.bottomShellLayers from workbench_manufacturing_profiles when those settings are available. Carry the exact process values into the record; do not infer missing infill or substitute a generic profile. These are resolved profile defaults; sparse fill or shell settings may be overridden per object and must not be assumed when a modifier was used. If the coupon was printed with a different setting, first register/select the matching immutable process profile and hash. When layer positions should follow the actual print, record the measured profile hash and layer height in the physical interface-test and material-coupon process; layer height is part of exact process identity. After slicing, if the job reports a complete deposition-height schedule, call workbench_slicer_interface_heights for every selected interface index. Derive each offset as that interface’s depositionLayerZMm minus firstDepositionLayerZMm and pass the ordered values as interfaceOffsetsMm; this preserves first-layer and adaptive heights. Also pass the selected interface response plus its job/profile/source/G-code hashes, layer count and coordinate frame as depositionPathEvidence so the cohesive report retains the exact per-layer road-orientation observations. This evidence preserves the measured toolpath but does not qualify material properties. Use workbench_slicer_layer_path_orientations in batches of up to 32 to retrieve every layer direction (up to 33 total layers) when the user wants layerwise solver orientation. Confirm how slicer X maps into the CAD global frame and that the exact-process coupon axis 1 represents the dominant deposited-road direction; pass those confirmations as pathFrameMapping and roadAxisMapping. Combine complete responses, including the final deposited layer, as layerPathEvidence with shared job/profile/source/G-code hashes. Every layer must have complete linear or planar circular-arc coverage; do not treat unsupported arc/spline moves as complete. With explicit roadAxisMapping and useOrthotropicBulkProperties, Mode-I and Turon use one measured tensor with a separate local frame per layer. Without roadAxisMapping, frames remain candidates and do not affect solver response. This does not model multiple materials, layer-varying properties, within-layer raster mixtures or directional interface adhesion. Returned coordinates are in slicer build coordinates: map only relative offsets onto the confirmed CAD print axis, never copy absolute slicer Z into CAD. Otherwise the planner uses the nominal profile height. Call plasticity_plan_cohesive_layer_planes with that same profile hash and layer height, a point on the first interlayer plane after object placement, confirmed global build direction, total layer count and explicit interface indices. Copy both its plan and planes into layerPlanePlan and splitPlanes; analysis rejects legacy test records without a recorded layer height and any height that differs from the measured process profile. It also checks profile identity, plane coordinates, and (for orthotropic bulk) alignment with the coupon’s confirmed build direction. For up to 32 interfaces the planner requires the complete stack; for larger stacks it marks selected planes as incomplete, and omitted interfaces remain unanalyzed. Do not present selected-plane analysis as full-stack delamination resistance. If no validated placement/anchor is available, ask instead of inferring layer positions from an image or display mesh.
Read maximumVonMisesElementSICN alongside each raw stress-peak locator to see the Gmsh SICN of that exact tetrahedron. Compare it with the mesh minimum only as local mesh-shape context; neither a high value nor separation from the minimum proves stress accuracy, a resolved hotspot, convergence, or strength.
Read maximumPrincipalStressMPa and minimumPrincipalStressMPa as raw tensile/compressive principal extrema across sampled integration points, each with its own mesh locator. Their refinement trends and signed relative changes expose mesh sensitivity only; they are diagnostic and must never be compared with a von Mises allowable or reported as a pass without a criterion qualified for the selected failure mode.
The public FEA tool measures the rank of all fixed global translations at the actual mapped mesh nodes and stops before CalculiX if they leave any of the six rigid-body translation/rotation modes unconstrained. A full rank of six is necessary to remove those rigid-body modes, but it does not establish physical support validity, elastic stability, or absence of local mechanisms.
For a heat-set insert, use pullout and torque-out capacity only when the evidence matches the exact insert, host material, print profile, orientation, pocket and installation process. Ask for the worst-case demand on one insert; do not divide a group load evenly without a load-path model.
For two or more fasteners under an in-plane load, establish every transfer-point coordinate, both force components, the point of application and any free moment. Use the elastic group method only after confirming a rigid attachment and identical in-plane fastener stiffness. Use each fastener’s own vector resultant for any member check. On a rectangular mounting face, call plasticity_check_fastener_group_layout with an explicit opposedFaceId to verify matching native perforated faces and exact plate thickness. This is geometry evidence only and does not establish a load path or capacity. plasticity_verify_fastener_group_plate_bearing compares each elastic per-fastener demand with a directly traceable, configuration-matched, already factored bearing allowable using exact measured thickness and hole diameter. It can additionally check a straight transverse net-tension section only when you provide the external tensile resultant separately, identify local X or Y as its axis, supply a distinct traceable factored tensile allowable, and confirm uniform membrane tension, centered through-thickness loading and a straight transverse failure path. Never substitute per-fastener demands for the external plate tension or infer that resultant from a sketch. Optionally use edgeShearOut with a separate traceable, factored shear allowable to check local two-plane tear-out for per-fastener vectors aligned to local X or Y; diagonal vectors and e/d below 1.5 are unsupported, while e/d below 2 remains conditional. Angled/staggered fracture paths, compression-side buckling, shared-ligament interaction, unsupported tear-out directions, bypass and complete-joint strength remain unchecked; even a within-allowable result is only a conditional local screen. If a physical multi-hole plate test is run, record the measured specimen, exact hole layout, print-process/profile, fixture, load axis, individual peak loads and observed failure modes with plasticity_record_fastener_group_test, then use plasticity_match_fastener_group_test to find only an exact configuration match. A test match is evidence only: it does not produce a design allowable or pass a different part or support setup. To add a test benchmark to the CAD-bound report, first confirm that the record's exact process and fixture/load path apply to the current part. Supply the selected immutable record ID, an independently evidenced dimensional equivalence tolerance, the exact process, safety factor, and explicit process/fixture confirmations; the server then checks every measured plate and hole dimension against the live B-rep. This comparison only checks factored external tensile demand against the lowest observed specimen peak. It is not a statistically reduced allowable, strength pass/fail, or proof for unobserved failure modes. Do not select a nearby test by appearance or silently assume fixture equivalence. The single-through-fastener plate method assumes one hole; never repeat it per hole and aggregate the results into a multi-hole plate or whole-joint pass.
Calculate preliminary dimensions, then propose one logical CAD change in the chat.
Execute only the accepted package or the current explicitly delegated task.
Delegation ends when the task ends and is not restored after restart.
Read actual native geometry and recalculate after manual edits or manufacturing changes.
Workbench is optional. Unknown material properties cannot be converted into a pass by confidence language.
For an end-to-end tongue-root scenario, use plasticity_calculate_tongue_root_strength_from_coupon_data or plasticity_verify_tongue_root_strength_from_coupon_data. They match the physical coupon record to the exact Workbench profile hash, printer, material, orientation, infill, nozzle temperature and measured slicer layer height, then copy only measured Young's/shear moduli and their evidence into the calculation. Supply separately sourced tensile/shear design allowables and explain their applicability; raw coupon strengths are never substituted for allowables. These tools keep material suitability unconfirmed and the result conditional. No-match or conflicting records return without a calculation. If no record exists, ask for the report and unresolved process details, and record it only after the user confirms the physical tests. The registry does not check test-standard compliance, derive statistical design values, or certify a part. Never substitute a generic filament label or slicer properties for coupon evidence.
For axial rectangular or rectangular-cantilever scenarios with exact-process coupon data, use plasticity_calculate_rectangular_strength_from_coupon_data. It copies only measured Young's modulus and its evidence. Provide independent tensile design allowable evidence, plus an independent compressive allowable for a cantilever; state their applicability basis. Never map raw coupon tensile/compressive strengths into design allowables. These scenarios remain conditional with material suitability unconfirmed. Exact-process no-match or ambiguity returns without saving a calculation.
Nominal section stress is not whole-part validation.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| kind | Yes | ||
| frame | Yes | ||
| loops | Yes | ||
| method | Yes | ||
| binding | No | ||
| evidence | Yes | ||
| material | Yes | ||
| properties | Yes | ||
| assignments | Yes | ||
| assumptions | Yes | ||
| freeMoments | Yes | ||
| pointForces | Yes | ||
| safetyFactor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the agent already knows a non-destructive write occurs; the description usefully specifies what is written ('persist a CAD-bound report') and what is not touched ('does not mutate persistent CAD geometry'). It also flags the evidence-discipline posture (measured vs sourced vs assumed) that governs the operation. It stops short of stating staleness/revision-invalidation behavior for this report, which it does spell out for other report tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
This is a several-thousand-word wall that reproduces the entire strength-analysis family playbook (interface CSV importers, cohesive FEA, Tsai-Wu, fastener groups, coupon registries) inside a single tool description. For this tool, nearly every sentence after the first two is out of scope and fails the 'every sentence must earn its place' test. It is over-specification with irrelevant content rather than a focused definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-required-parameter, highly nested call with no output schema, the description should explain the section inputs and what the persisted report contains; it does neither. It only establishes that the result is a CAD-bound section-strength report built on measured evidence. An agent could not assemble a valid invocation from this text alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 14 deeply nested parameters, so the description carries the full burden. It gives thematic context for the evidence array (source URL/SHA-256/locator, statuses) and material matching, but says nothing concrete about frame, loops, properties, assignments, assumptions, pointForces, freeMoments, or how section geometry must be expressed in the local plane. Most required inputs remain unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb+resource ('replace section geometry with measured evidence, calculate and persist a CAD-bound report') and even a negative scope ('does not mutate persistent CAD geometry'). However, the tool's own name never appears and it is never distinguished from closely named siblings such as plasticity_calculate_section_strength, plasticity_scan_section_strength, or plasticity_inspect_planar_section. The remaining ~95% of the text describes other tools, so the purpose is stated but heavily diluted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is extensive when-to-use guidance in the text, but almost all of it routes to sibling tools (DCB/ENF/MMB importers, coupon matching, static FEA, fastener checks). For this tool, only an implied workflow is present ('For section analysis, identify the critical plane and explain the load path that makes it critical. Use an existing planar face when it matches; otherwise inspect an arbitrary plane'), with no explicit condition for choosing this tool over calculate/inspect section siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_verify_single_fastener_strengthB
Re-read exact opposed native faces of one rectangular through-hole plate, replace all caller geometry, calculate three plate failure modes and persist a CAD-bound report. It does not mutate CAD. Search accessible primary product/material sources before asking the user for known facts.
Before requesting missing print-material data, call plasticity_plan_single_material_strength_tests for the selected method and exact one-material process. Use its measurement matrix to ask only for evidence needed by that route; explain why the measurements matter and never invent coupon values or allowables. A DCB task may contain an explicitly labeled generic-PLA literature geometry as a starting reference only; do not present it as a Creality property, normative specimen size, or sample-count requirement, and require checking the selected process, fixture and method. Keep the confirmed road/build axes and same-material layer-interface assumptions explicit.
For Creality PLA literature references, read plasticity://strength/interlayer-literature-baseline. It contains separate CR-PLA and Hyper PLA records plus generic-PLA Z-tension/DCB context; do not merge product families or transfer values across SKUs. It is a screening reference only: do not register literature values as physical coupons or interface tests, bind them to the user's exact K1C process, treat them as design allowables, or infer a traction-separation curve from fracture energy. Manufacturer-mirror discrepancies and non-matching printer/process tests must remain visible; ask for exact-process physical tests before a calibrated cohesive result. When the user provides raw direct-tension machine CSV, call plasticity_import_interface_tensile_csv first with explicit specimen-ID/force headers, delimiter, decimal separator, force unit and sign, measured net area and observed failure location for every coupon. Review its hashed peak-force preview; the importer does not filter or correct machine data, register a test, or derive DCB/ENF/MMB curves. For directly loaded specimens supplied in another format, record every sample's measured peak force, net cross-section, observed failure location and SHA-256/source locator, then call plasticity_calculate_interface_specimen_strengths; report force/area as nominal specimen stress. Include only confirmed interface failures in its summary statistics; show bulk/fixture failures individually and do not pool them with interface failures. Keep all statistics descriptive only. Do not call these local interface tractions or design allowables, and do not use them as a cohesive law.
When a raw DCB force/displacement CSV is available, use plasticity_import_dcb_mode_i_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting explicitly, then select the exact source record for every manually observed crack-growth point and enter that measured crack length; never let the importer filter traces, infer growth or select peak loads. It converts units only, preserves the source hash/record locators and calculates an exploratory MBT G_I(a) curve. Require the caller to establish machine-compliance-corrected load-point displacement and quasi-static linear-elastic behavior; attestations are not independent verification. Review selected rows, crack lengths, calculation and limitations against the physical log. If no CSV is available, plasticity_calculate_dcb_mode_i_energy accepts equivalent manually selected observations with traceable source hash/locators. This does not conform the test to ASTM D5528 (whose stated scope is unidirectional fiber composites), create a traction-separation law, or qualify CR-PLA. Never convert G_I into peak traction or strength without separate evidence.
When raw ENF force/displacement CSV is available, use plasticity_import_enf_mode_ii_energy_csv as a read-only preview. Map columns, units, signs and CSV formatting; group calibration rows into each measured run/crack length, manually select only the initial-linear records, and manually select the observed initiation/peak record for the fracture run. The tool fits compliance from the selected rows, then the existing ENF calculator fits C against a^3 and returns exploratory G_IIc; it never searches for the linear range, crack growth or peak. Review each compliance fit, source hash/record locator, force/displacement correction and fixture log. If pre-reduced compliances are supplied, use plasticity_calculate_enf_mode_ii_energy directly. Neither path determines ASTM D7905 validity for printed PLA, registers physical evidence, builds an R-curve or yields a cohesive law. Keep the confirmed in-plane shear direction exact; do not merge ENF runs with differing direction just because their layer normals match.
When the requested failure mode is layer separation, distinguish CR-PLA's physical tensile/infill study and the two-sample CR-PLA-associated vertical layer-adhesion screen from the Hyper PLA flat tensile/flexural study: observed flexural delamination is qualitative failure-mode evidence, not a measured interface law. The baseline also records an upright generic-PLA tensile coupon on a Creality Ender 3 Pro and a custom generic-PLA interface coupon/calibrated cohesive parameter; neither identifies the filament as Creality nor establishes a same-process cohesive calibration. For only a nominal normal-strength screen across the layers, use the focused layer-interface-normal-tension scope; require measured failure at the interface and do not use that peak as a cohesive law. Use layer-interface-mode-i for a Mode-I fracture response, layer-interface-mode-ii for exploratory ENF Mode-II initiation energy using a same-fixture compliance calibration, and layer-interface-mixed-mode only when the requested analysis needs DCB/ENF/MMB cohesive evidence. The focused ENF calculator fits the experimentally supplied compliance against crack length cubed and uses the initiation peak; it is not an R-curve, does not verify the physical fixture or raw compliance fit, and does not claim ASTM D7905 validity for printed PLA. Layerwise static FEA assumes perfectly bonded interfaces and cannot answer a delamination question.
After reviewing an exploratory DCB energy preview against the physical test log, persist it only through plasticity_record_dcb_mode_i_energy_test with explicit confirmation that the measurements came from real physical tests. Retrieve a full record with plasticity_read_dcb_mode_i_energy_test and require exact process/interface-normal/protocol matching through plasticity_match_dcb_mode_i_energy_test before comparing runs. For ENF Mode-II energy, record reviewed measurements only through plasticity_record_enf_mode_ii_energy_test with the same physical-test confirmation; retrieve all calibration/fracture inputs with plasticity_read_enf_mode_ii_energy_test and exact-match process/interface-normal/in-plane-shear-axis/protocol using plasticity_match_enf_mode_ii_energy_test. Both immutable energy registries are separate from peak-strength and traction-separation records and are not consumed by cohesive FEA.
For an exploratory mixed-mode initiation partition, use plasticity_calculate_mmb_mode_i_ii_energy only when measured MMB force and geometry, same-process flexural and orthotropic moduli, and material-axis mapping are available; require lever weight to be measured negligible or counterbalanced. This Reeder-Crews beam-theory estimate does not establish ASTM D6671 validity for printed PLA and does not replace full mixed-mode traction-separation curves or provide a cohesive law. For raw MMB force CSV, use plasticity_import_mmb_mode_i_ii_energy_csv only with manually selected initiation records and a physically observed criterion; it does not search traces for onset/peak. Record a preview only after reviewing the source and confirming the data are from physical tests; matching caller confirmation with plasticity_record_mmb_mode_i_ii_energy_test persists and server-recomputes this separate energy estimate. Use plasticity_match_mmb_mode_i_ii_energy_test only for the exact process, interface normal, shear axis and protocol; read the full evidence with plasticity_read_mmb_mode_i_ii_energy_test. This registry is not cohesive input or an FEA source.
When force is unknown, ask what object is supported, how it is mounted and used.
Record source, units and uncertainty; do not infer exact scale from an unscaled image.
Ask at most one next-step question package per response, then wait for the user's answer. Include only facts needed to choose the next safe step; defer material, manufacturing, tolerances and detailed dimensions until they affect that decision. Re-evaluate after every answer and ask a focused follow-up only when it changes the method, required evidence or next action. If the user does not know, move to one useful contextual clue such as the supported object, use, environment or mounting; do not repeat a list of unknowns or guess. On a new bracket task, first ask compactly what it supports, its load/use and how it is mounted; defer section, material/process and displacement questions until that first answer narrows the load path and method.
Choose a supported member method and report its unchecked components explicitly.
For a flat rectangular panel, establish net pressure and the real condition of all four edges before choosing the simply-supported plate method. Do not infer edge support from appearance.
For a straight prismatic rectangular member in centred axial compression, use the Euler column method only when effective-length factor K, elastic limit, compressive allowable, and the actual restraint condition are supported by evidence. Use the weakest section axis, require a negative force value for compression, and reject Euler results when its predicted critical stress exceeds the supplied elastic limit; do not guess K or treat the method as an inelastic, eccentric-load, local-buckling, or whole-part check.
For an integral rectangular enclosure wall, inspect two opposed planar faces on the same Solid with plasticity_inspect_integral_rectangular_plate, then use plasticity_verify_integral_plate_strength to replace dimensions from exact native B-rep. The inspector accepts only rectangular faces whose outlines match or inset by one wall thickness on each side. It measures geometry only: establish the real support, pressure, material and edge conditions separately; never assume a box wall is simply supported.
For section analysis, identify the critical plane and explain the load path that makes it critical. Use an existing planar face when it matches; otherwise inspect an arbitrary plane through the Solid.
For one fastener carrying in-plane plate load, establish the load direction and separate bearing, shear and tensile allowables before calculating. Never substitute compressive strength for bearing strength.
For a fastener group on a rectangular planar face, inspect exact hole centers and boundaries, then check center-to-edge distance, hole-edge clearance, pitch, ligament and every applicable head, washer, nut or driver envelope against explicitly sourced or user-approved criteria. A measured layout without criteria is not a pass, and a layout pass is not a strength pass.
When checking the fastener member, establish its grade, tensile stress area, effective shear area at the actual plane, one or two shear planes, total axial tension including applicable preload, and actual shear load. Explain why the selected combined-load interaction is applicable before accepting it.
For a tapped hole, nut, or threaded insert under axial load, establish the designation, pitch, actual engagement, fully formed engaged thread count, and configuration-matched allowable loads for internal-thread stripping, external-thread stripping, and fastener tension. Do not infer any capacity from nominal M size. A procured nut or insert requires a specified assembly allowable or dedicated test rather than an unqualified nominal shear-area calculation.
For solver-backed static FEA, first use plasticity_match_material_coupon_data when a physically tested material record may match the print process. Only an unambiguous exact match for printer, material, profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers, nozzle temperature and measured slicer layer height can supply Young's modulus; pass the selected record ID/process and the exact recorded modulus so the server binds and validates it. If match is ambiguous because compatible partial records have no single consolidated record, ask the user for the confirmed count of unique physical specimens and call plasticity_combine_material_coupon_data with those exact record IDs; it preserves measured values and evidence without averaging. If records conflict, stop and ask the user which physical measurement applies. For an orthotropic print model, do not use a uniaxial coupon as a full tensor. When an immutable exact-process record contains the complete measured tensor and nu12, pass orthotropicMaterial.couponRecordId and process, plus materialCoupon with the same record ID; the MCP checks E1, nu12, every remaining constant, each evidence object and the confirmed global print axes, and rechecks the record when reading the saved report. Otherwise pass E2/E3, nu13/nu23, G12/G13/G23 with separate exact evidence, global material axes 1 and 2, and a user-confirmed or sourced global build direction; material axis 3 must align with that build direction and represents the homogeneous layer-normal response. This does not represent individual layers or prove adhesion. Model one material and one print process per analyzed part; do not combine material datasets or infer a multi-material print. When the selected exact-process coupon record contains a qualified Tsai-Wu dataset, pass its ID as orthotropicMaterial.tsaiWuQualificationRecordId along with the identical orthotropicMaterial.process; the server loads measured strengths, biaxial interaction data and source evidence, then verifies the axes. Do not copy or reconstruct criterion values by hand. If the exact-process match remains ambiguous after consolidation, ask the user to resolve conflicting measurements; never choose a record silently. The legacy youngsModulusMPa and poissonRatio fields are E1 and nu12. Ask the user to resolve the print-axis orientation if it is unknown; never infer it from a photo or CAD face. The server checks positive-definite compliance and rejects a von Mises allowable or coupon binding for this orthotropic model. Otherwise attach youngsModulusEvidence whose value exactly matches the modulus; measured/sourced evidence needs a URL, SHA-256 and locator. poissonRatioEvidence is always required and must exactly match the ratio. A physical coupon record may store measured nu12 with its exact process. If using its Tsai-Wu record-binding path, the server verifies the nu12 value and evidence against that record; otherwise supply the input evidence directly from a traceable source. Never infer nu12 from a generic plastic label. An assumed value must include its reason and stay explicitly scenario-only after discussing the assumption with the user. Optionally supply a directly measured or sourced, process-applicable factored von Mises design allowable using factoredVonMisesAllowableMPa, exact matching factoredVonMisesAllowableEvidence with URL, SHA-256 and locator, and factoredVonMisesAllowableBasis. It must already include the design factors. Never turn a generic tensile strength or raw coupon peak into a design allowable. The report will compare every sampled raw mesh peak with it as a diagnostic screen only: above means a sampled peak exceeds that supplied allowable; below does not prove strength. This never changes strengthPass or print approval. Confirm the actual restraints with the user. Legacy supportFaceIds fix all three global translations on each selected planar face; use explicit supportConditions only when the user has specified which global x/y/z translations are zero on each face. Each condition acts on all nodes of that face, is not a frictionless-contact or rotational support, and may leave rigid-body modes or create a singular system; do not infer it from a photo or face normal. Supports and loaded faces must not share mesh nodes. Every selected planar load face needs an explicit uniform traction and/or resultant force with its point of application and free moment. Use plasticity_analyze_static_fem only for one Solid with 1–8 explicit support conditions and load vectors grounded in a selected planar face. Use named loadCases for physically distinct scenarios such as weight, operating force and handling load; do not combine mutually exclusive scenarios. Each case has a separate solver result, and comparison proceeds only when the generated meshes are byte-identical. Set meshRefinementSteps to 1–3 for two to four mesh levels when a trend across successively halved element sizes is useful; the report classifies the sampled direction of raw maximum von Mises stress and observed displacement as increasing, decreasing, unchanged, non-monotonic or insufficient-levels. For more than four levels, run separate analyses against the same current CAD revision and call plasticity_compare_static_fem_refinement_reports; it merges only reports with matching loads, supports, material evidence, native geometry and byte-identical overlapping mesh results. Check the returned freshness before relying on it. Treat all trend labels and relative changes as diagnostic evidence only. Never call a mesh trend a pass or proof of convergence. Each result includes the raw maximum C3D4 integration-point stress element and its mesh-element centroid in millimetres; this is a mesh-bound locator, not an averaged stress field, a resolved critical-region boundary, or proof of a physical hotspot. Locations may move between refinement levels. The legacy top-level load fields still represent one case. The tool returns total and per-support reaction forces and moments, global force/moment equilibrium residuals and a named displacement axis for each case; per-support values are diagnostic resultants over each support node set. Re-read it with plasticity_static_fem_report; any CAD revision change makes it stale.
For layerwise static FEA, keep the single-material exact process consistent from measurement through solver input. Read the immutable profile hash, infill pattern, wall loops, top/bottom shell layers and measured layer height from workbench_manufacturing_profiles, then slice the intended model/orientation with the selected Creality K1C profile. Record actual specimen settings if per-object overrides differ from profile defaults; an unchanged profile hash does not erase those differences. Call workbench_slicer_layer_path_orientations in batches of up to 32 and combine layer-path results for every deposited layer, including the final deposited layer, into layerPathEvidence with identical job ID, profile hash, source-artifact hash and G-code hash. Layerwise static orientation is supported only for a complete linear or planar circular-arc direction result for every layer in stacks of 2–33 layers; do not fill missing or curved-path directions by inference. Confirm pathFrameMapping.slicerXDirectionGlobal in CAD global coordinates and explicitly confirm that the same exact-process coupon's material axis 1 represents the dominant deposited-road direction in roadAxisMapping. Call plasticity_plan_cohesive_layer_planes with the same profile hash and layer height, current CAD anchor at the first interlayer plane, confirmed CAD build direction, total layer count, and the full layer-path evidence/mappings; pass its returned plan as layerPlanePlan to plasticity_analyze_static_fem. When the slicer supplies actual interface heights, call workbench_slicer_interface_heights for every interface in this complete stack, set each interfaceOffsetsMm value to its depositionLayerZMm minus firstDepositionLayerZMm, and attach the matching job/profile/source/G-code hashes as depositionPathEvidence; this preserves first-layer and adaptive heights instead of assuming nominal uniform spacing. The static analyzer requires the plan to match the one measured orthotropic process and applies the same measured orthotropic tensor to each layer with its confirmed G-code-mapped frame. It assumes perfectly bonded layers and cannot assess delamination. Do not use static FEA to assess delamination; use the separate same-material cohesive route only when matching physical interface tests are available. Never infer layer directions, material identity or interlayer strength from a photo, generic material label or nominal slicer preset.
For orthotropic FEA, optionally supply all nine directly traceable, already factored X/Y/Z tensile and compressive plus XY/XZ/YZ shear limits in orthotropicMaterial.factoredAllowables, with separate exact-value evidence and an applicability/design-factor basis. Never substitute generic datasheet strength or an unqualified coupon peak. The returned componentwise maximum-stress screen uses local material-axis stress extrema and is diagnostic only; it assumes one homogeneous orthotropic continuum, does not model layer interfaces, delamination or different-material joints, and omits multiaxial interaction. Matched interlayer-test data can inform Z-tension and XZ/YZ-shear allowables but does not turn this into a cohesive-interface analysis. Never report this screen as verified layer adhesion, part strength or print approval.
For an optional 3D Tsai-Wu first-failure screen in orthotropic linear FEA, require one exact single-material printer/material/profile hash, orientation, infill percentage and pattern, wall loops, top/bottom shell layers and nozzle-temperature identity in orthotropicMaterial.process. Prefer binding the unique exact-process qualification by its orthotropicMaterial.tsaiWuQualificationRecordId; the server loads its nine directly measured, un-factored X/Y/Z tensile/compressive and XY/XZ/YZ shear failure strengths, three normalized XY/XZ/YZ normal-interaction coefficients and evidence, then verifies material axes. Each strength test must attest its material-frame axis and mode (for example, x tension is material-1 tension; xy shear is material-1-2 shear); each interaction and its source dependencies must attest the corresponding biaxial plane. Legacy records without these direction attestations remain readable but cannot qualify a Tsai-Wu FEA. A complete inline orthotropicMaterial.tsaiWuCriterion remains supported when needed. Interactions must be derived from traceable biaxial tests. Ask the user for these records if missing; never copy generic datasheet values, assume the conventional interaction coefficient or infer it from uniaxial coupons. The normalized interaction matrix must be positive definite. The result reports local integration-point failure indices and proportional load factors to index one only. A load factor is not a design safety factor, and neither a sub-unity index nor a large load factor means the part passed. The model still represents one homogeneous material, not individual roads or delamination.
When actual test-coupon G-code is available, preserve its profile/source/G-code hashes, selected per-layer road summaries and explicitly user-confirmed slicer-to-global axes in depositionPathEvidence. This is test provenance only, not an adhesion measurement or solver input; never reconstruct road direction from nominal slicer settings.
When physical adhesion between printed layers of one material is relevant, use plasticity_record_material_interface_test only for caller-provided measured test results with the same exact printer/material/profile process on both sides, interface normal, test mode, load direction, fixture/specimen protocol hash and observed failure location. Normal-tension load direction must align with the interface normal; interface-shear load direction must lie in its plane; mixed-mode must contain both components. Store full compliance-corrected pure-mode curves as scalar separation/traction data and MMB curves as separate normal/tangential separation and traction components, with source SHA-256 and locator. Call plasticity_analyze_material_interface_test_curve to summarize measured work and mode mixity. When the user has a CSV of already processed physical fracture data, use plasticity_import_interface_fracture_csv for a read-only per-specimen preview; explicitly map the method, columns, units and CSV formatting, and attest that the values are already compliance-corrected physical traction-separation data. Never convert raw machine force-displacement data with this importer. Verify each source hash/record locator, specimen, fixture, exact print process and observed failure plane before separately recording any curve with plasticity_record_material_interface_test. For a CZM_TURON candidate fit, provide Mode-I DCB, Mode-II ENF and at least two MMB tests at distinct measured energy fractions; all ENF and MMB tests must use the same in-plane shear axis within one degree because this route has a single tangential cohesive law. The MCP requires those protocol identifiers in each testMethod and reports the pure-mode peaks plus fit residuals. Review residuals against test uncertainty. Do not invent ETA_BK. K is not identified by that fit and must not be silently guessed. Code_Aster CZM_TURON uses one normal and one tangential cohesive response, sharing tangential strength and fracture energy across both in-plane tangent directions; it cannot represent direction-dependent shear adhesion. Matching shear axes prevents mixing directional datasets but does not prove that the bond is isotropic. These outputs summarize physical evidence only; they are not qualified cohesive-law parameters, design allowables or a part FEA. Do not claim bond integrity from the homogeneous orthotropic FEA screen.
Use plasticity_analyze_cohesive_interface only for a single-material printed part, with an exact-process coupon for that one bulk material, traceable Poisson ratio and a matching immutable same-material layer test. Dissimilar-material printed bonds are rejected before meshing and are outside this calculation scope. Mode-I analysis requires a full normal-tension DCB traction-separation curve with failure at the layer interface. Its modeILaw may explicitly select CZM_EXP_REG or CZM_LIN_REG; omitted input preserves the CZM_EXP_REG default. Both parameterize their softening law from measured peak traction and integrated fracture energy and do not fit the full measured curve shape. Review this choice against the measured curve and record the reason; do not infer it from part geometry. Read the returned solver.result.v3Interpretation: for CZM_EXP_REG, V3 is a damage variable in [0,1]; for CZM_LIN_REG, V3=2 means the cohesive element is completely broken, so do not present it as the same normalized damage fraction. By default it uses isotropic bulk elasticity with pinned Code_Aster 15.2. If useOrthotropicBulkProperties is explicitly enabled, Mode-I uses Code_Aster 17.4 and applies one measured homogeneous orthotropic tensor; when explicit layerwise mapping is enabled, each bulk layer uses its G-code-mapped frame while all layers share that same tensor. The mixed-mode Turon route additionally requires same-process-pair DCB, ENF and at least two MMB tests at distinct measured energy fractions, traceable K, and an explicit global displacement with both opening-normal and in-plane tangential components greater than one degree. The displacement's shear axis must match the common measured ENF/MMB shear axis within one degree; reject other directions because this solver law has one tangential response. All ENF and MMB tests must use the same in-plane shear axis within one degree. Supply 1..32 ordered parallel split planes for a same-material layer stack; their normals may be tilted in global coordinates, and the same measured layer law is repeated at every plane. This equivalent-interface assumption does not resolve individual roads or within-layer raster variation. Either route may accept useOrthotropicBulkProperties when the exact-process coupon contains measured E2/E3, nu13/nu23, G12/G13/G23 evidence and a confirmed or traceable global print frame. Check the exact-process coupon match is unambiguous and do not infer axes from a photo or CAD face. Confirm the tested material's side relative to the chosen split-plane normal; do not infer this from the body or face normals. The measured test direction must match the normal/shear mode; the support face lies below the first split plane and the loaded face above the last plane along the shared normal. The server derives peak traction, integrated fracture energy and displacement endpoint from exact tests, exports the selected current Solid, creates a conforming multi-region mesh with a cohesive element set at every requested plane, and aborts if the CAD revision changes. Review the mesh-resolution screen and perform refinement/sensitivity work as needed. Turon approximates measured curves using peak/area parameters and its K still needs sensitivity analysis. The bulk tensor remains one measured single-material continuum whose local frame may vary by mapped layer; repeated cohesive planes use the same measured, direction-independent interface law and do not resolve individual deposited roads, within-layer raster mixtures or direction-dependent adhesion. Use results only as raw solver responses; never report it as a part-strength verdict, qualified layer-adhesion value, print approval or design allowable.
Before asking for a physical coupon record, obtain the selected immutable profile hash plus material.nozzleTemperatureC, slicer.layerHeightMm, slicer.nominalInfillPercent, slicer.sparseInfillPattern, slicer.wallLoops, slicer.topShellLayers, and slicer.bottomShellLayers from workbench_manufacturing_profiles when those settings are available. Carry the exact process values into the record; do not infer missing infill or substitute a generic profile. These are resolved profile defaults; sparse fill or shell settings may be overridden per object and must not be assumed when a modifier was used. If the coupon was printed with a different setting, first register/select the matching immutable process profile and hash. When layer positions should follow the actual print, record the measured profile hash and layer height in the physical interface-test and material-coupon process; layer height is part of exact process identity. After slicing, if the job reports a complete deposition-height schedule, call workbench_slicer_interface_heights for every selected interface index. Derive each offset as that interface’s depositionLayerZMm minus firstDepositionLayerZMm and pass the ordered values as interfaceOffsetsMm; this preserves first-layer and adaptive heights. Also pass the selected interface response plus its job/profile/source/G-code hashes, layer count and coordinate frame as depositionPathEvidence so the cohesive report retains the exact per-layer road-orientation observations. This evidence preserves the measured toolpath but does not qualify material properties. Use workbench_slicer_layer_path_orientations in batches of up to 32 to retrieve every layer direction (up to 33 total layers) when the user wants layerwise solver orientation. Confirm how slicer X maps into the CAD global frame and that the exact-process coupon axis 1 represents the dominant deposited-road direction; pass those confirmations as pathFrameMapping and roadAxisMapping. Combine complete responses, including the final deposited layer, as layerPathEvidence with shared job/profile/source/G-code hashes. Every layer must have complete linear or planar circular-arc coverage; do not treat unsupported arc/spline moves as complete. With explicit roadAxisMapping and useOrthotropicBulkProperties, Mode-I and Turon use one measured tensor with a separate local frame per layer. Without roadAxisMapping, frames remain candidates and do not affect solver response. This does not model multiple materials, layer-varying properties, within-layer raster mixtures or directional interface adhesion. Returned coordinates are in slicer build coordinates: map only relative offsets onto the confirmed CAD print axis, never copy absolute slicer Z into CAD. Otherwise the planner uses the nominal profile height. Call plasticity_plan_cohesive_layer_planes with that same profile hash and layer height, a point on the first interlayer plane after object placement, confirmed global build direction, total layer count and explicit interface indices. Copy both its plan and planes into layerPlanePlan and splitPlanes; analysis rejects legacy test records without a recorded layer height and any height that differs from the measured process profile. It also checks profile identity, plane coordinates, and (for orthotropic bulk) alignment with the coupon’s confirmed build direction. For up to 32 interfaces the planner requires the complete stack; for larger stacks it marks selected planes as incomplete, and omitted interfaces remain unanalyzed. Do not present selected-plane analysis as full-stack delamination resistance. If no validated placement/anchor is available, ask instead of inferring layer positions from an image or display mesh.
Read maximumVonMisesElementSICN alongside each raw stress-peak locator to see the Gmsh SICN of that exact tetrahedron. Compare it with the mesh minimum only as local mesh-shape context; neither a high value nor separation from the minimum proves stress accuracy, a resolved hotspot, convergence, or strength.
Read maximumPrincipalStressMPa and minimumPrincipalStressMPa as raw tensile/compressive principal extrema across sampled integration points, each with its own mesh locator. Their refinement trends and signed relative changes expose mesh sensitivity only; they are diagnostic and must never be compared with a von Mises allowable or reported as a pass without a criterion qualified for the selected failure mode.
The public FEA tool measures the rank of all fixed global translations at the actual mapped mesh nodes and stops before CalculiX if they leave any of the six rigid-body translation/rotation modes unconstrained. A full rank of six is necessary to remove those rigid-body modes, but it does not establish physical support validity, elastic stability, or absence of local mechanisms.
For a heat-set insert, use pullout and torque-out capacity only when the evidence matches the exact insert, host material, print profile, orientation, pocket and installation process. Ask for the worst-case demand on one insert; do not divide a group load evenly without a load-path model.
For two or more fasteners under an in-plane load, establish every transfer-point coordinate, both force components, the point of application and any free moment. Use the elastic group method only after confirming a rigid attachment and identical in-plane fastener stiffness. Use each fastener’s own vector resultant for any member check. On a rectangular mounting face, call plasticity_check_fastener_group_layout with an explicit opposedFaceId to verify matching native perforated faces and exact plate thickness. This is geometry evidence only and does not establish a load path or capacity. plasticity_verify_fastener_group_plate_bearing compares each elastic per-fastener demand with a directly traceable, configuration-matched, already factored bearing allowable using exact measured thickness and hole diameter. It can additionally check a straight transverse net-tension section only when you provide the external tensile resultant separately, identify local X or Y as its axis, supply a distinct traceable factored tensile allowable, and confirm uniform membrane tension, centered through-thickness loading and a straight transverse failure path. Never substitute per-fastener demands for the external plate tension or infer that resultant from a sketch. Optionally use edgeShearOut with a separate traceable, factored shear allowable to check local two-plane tear-out for per-fastener vectors aligned to local X or Y; diagonal vectors and e/d below 1.5 are unsupported, while e/d below 2 remains conditional. Angled/staggered fracture paths, compression-side buckling, shared-ligament interaction, unsupported tear-out directions, bypass and complete-joint strength remain unchecked; even a within-allowable result is only a conditional local screen. If a physical multi-hole plate test is run, record the measured specimen, exact hole layout, print-process/profile, fixture, load axis, individual peak loads and observed failure modes with plasticity_record_fastener_group_test, then use plasticity_match_fastener_group_test to find only an exact configuration match. A test match is evidence only: it does not produce a design allowable or pass a different part or support setup. To add a test benchmark to the CAD-bound report, first confirm that the record's exact process and fixture/load path apply to the current part. Supply the selected immutable record ID, an independently evidenced dimensional equivalence tolerance, the exact process, safety factor, and explicit process/fixture confirmations; the server then checks every measured plate and hole dimension against the live B-rep. This comparison only checks factored external tensile demand against the lowest observed specimen peak. It is not a statistically reduced allowable, strength pass/fail, or proof for unobserved failure modes. Do not select a nearby test by appearance or silently assume fixture equivalence. The single-through-fastener plate method assumes one hole; never repeat it per hole and aggregate the results into a multi-hole plate or whole-joint pass.
Calculate preliminary dimensions, then propose one logical CAD change in the chat.
Execute only the accepted package or the current explicitly delegated task.
Delegation ends when the task ends and is not restored after restart.
Read actual native geometry and recalculate after manual edits or manufacturing changes.
Workbench is optional. Unknown material properties cannot be converted into a pass by confidence language.
For an end-to-end tongue-root scenario, use plasticity_calculate_tongue_root_strength_from_coupon_data or plasticity_verify_tongue_root_strength_from_coupon_data. They match the physical coupon record to the exact Workbench profile hash, printer, material, orientation, infill, nozzle temperature and measured slicer layer height, then copy only measured Young's/shear moduli and their evidence into the calculation. Supply separately sourced tensile/shear design allowables and explain their applicability; raw coupon strengths are never substituted for allowables. These tools keep material suitability unconfirmed and the result conditional. No-match or conflicting records return without a calculation. If no record exists, ask for the report and unresolved process details, and record it only after the user confirms the physical tests. The registry does not check test-standard compliance, derive statistical design values, or certify a part. Never substitute a generic filament label or slicer properties for coupon evidence.
For axial rectangular or rectangular-cantilever scenarios with exact-process coupon data, use plasticity_calculate_rectangular_strength_from_coupon_data. It copies only measured Young's modulus and its evidence. Provide independent tensile design allowable evidence, plus an independent compressive allowable for a cantilever; state their applicability basis. Never map raw coupon tensile/compressive strengths into design allowables. These scenarios remain conditional with material suitability unconfirmed. Exact-process no-match or ambiguity returns without saving a calculation.
Nominal section stress is not whole-part validation.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| kind | Yes | ||
| loadN | Yes | ||
| method | Yes | ||
| binding | No | ||
| evidence | Yes | ||
| geometry | Yes | ||
| material | Yes | ||
| assignments | Yes | ||
| assumptions | Yes | ||
| safetyFactor | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false with destructiveHint=false; the description adds the key clarification 'It does not mutate CAD' and that it 'persist[s] a CAD-bound report', resolving what the non-read-only behaviour actually is. It further discloses the one-hole assumption and that compressive strength must not be substituted for bearing, which are behavioural constraints beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The tool-specific content occupies roughly two sentences; the rest is thousands of words about DCB/ENF/MMB imports, Tsai-Wu, orthotropic FEA and cohesive laws that belong to sibling tools. The purpose is front-loaded, but the overwhelming majority of the text does not earn its place for this tool, making the relevant guidance hard to locate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a large nested input schema at zero description coverage, the description should explain the returned report's content and the parameter contract. It only says a 'CAD-bound report' with 'three plate failure modes' is persisted and remains conditional; the failure modes, units, evidence requirements and report fields are left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters (10 required, nested geometry/material/evidence/assumptions objects), so the description must carry the load, but it does not map to any named field. It gestures at concepts (load direction, separate bearing/shear/tensile allowables, exact process identity, source SHA-256/locator) yet never explains what 'assignments', 'assumptions', 'sideClearancesMm', or the nested evidence 'status' values require.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb and resource: 'Re-read exact opposed native faces of one rectangular through-hole plate, replace all caller geometry, calculate three plate failure modes and persist a CAD-bound report.' That lets an agent distinguish it from generic strength tools, but the three failure modes are never named and the description never contrasts it with the sibling 'plasticity_calculate_single_fastener_strength' or 'plasticity_inspect_single_fastener_plate'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Relevant guidance exists ('For one fastener carrying in-plane plate load, establish the load direction and separate bearing, shear and tensile allowables before calculating. Never substitute compressive strength for bearing strength.' and 'The single-through-fastener plate method assumes one hole; never repeat it per hole'), which is genuine when/how-not content. However it is buried inside a document dominated by other tools' workflows, and no explicit statement distinguishes this tool from the sibling calculate/inspect single-fastener tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_verify_tongue_root_strengthA
Re-read the bound exact native section, replace root width and thickness with measured B-rep dimensions, calculate and persist a CAD-bound root-only screening report, then recheck the live section before saving. This does not validate the complete tongue-and-groove joint.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only give readOnlyHint=false, destructiveHint=false and openWorldHint=false; the description adds real behavioral detail beyond that - it re-reads the live section, overwrites root width/thickness from measured B-rep data, persists a report, and rechecks before saving. This discloses the mutation/replacement semantics an agent needs. It stops short of stating permissions, reversibility, or what the persisted report returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action sequence and closing with the scope limitation. Dense but every clause conveys a distinct step; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation/reporting tool with no output schema, the description covers the operation sequence, the CAD binding, and the explicit root-only scope. Only the report's return format is left implicit, which is a minor gap given no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single deeply nested input and 0% schema description coverage, the schema provides almost no field-level meaning. The description names 'root width and thickness' and 'measured' dimensions, which maps to geometry.rootWidthMm/rootThicknessMm and the evidence status values, but leaves the bulk of the nested model (loads, material, evidence, assumptions) undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb chain and resource: re-read the bound native section, replace root width/thickness with measured B-rep dimensions, and persist a CAD-bound root-only screening report. It distinguishes this from the complete tongue-and-groove joint, but does not name the difference from siblings like calculate_tongue_root_strength or the _from_coupon_data variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'This does not validate the complete tongue-and-groove joint' is an explicit scope exclusion, which helps route the agent away from a full-joint check. However, it gives no guidance on when to pick this over calculate_tongue_root_strength, verify_tongue_root_strength_from_coupon_data, or inspect_tongue_root_section, so the when-to-use is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_verify_tongue_root_strength_from_coupon_dataB
Use an exact process-matched physical coupon record for the measured moduli, keep separately evidenced design allowables unconfirmed, re-read the bound arbitrary-plane native section, replace root dimensions with exact B-rep measurements, and recheck the same session/document/revision/topology before saving. No-match or ambiguity returns without modifying CAD or saving a calculation. A result never validates the complete tongue-and-groove joint.
| Name | Required | Description | Default |
|---|---|---|---|
| process | Yes | ||
| scenario | Yes | ||
| allowables | Yes | ||
| allowablesBasis | Yes | ||
| effectiveSection | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, but the description adds real behavioral value: on no-match/ambiguity it modifies no CAD and saves no calculation, it re-reads the bound native section, replaces root dimensions with exact B-rep measurements, and rechecks session/document/revision/topology before saving. It also bounds the claim (a result never validates the full joint). It stops short of stating persistence side effects or permissions, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The front sentence is a ~60-word run-on list of imperative clauses that is dense and hard to parse in one pass. The two trailing sentences are tighter and carry the important abort/limitation semantics. Content is largely non-redundant, but the packing hurts front-loading and readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deep, nested, no-output-schema verification tool with zero schema description coverage, the description covers behavior and failure handling adequately but leaves parameter structure, units, and expected result content unexplained. Given the schema complexity, more grounding would be needed for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 complex nested parameters, so the description must compensate. It does map meaning onto several: 'process-matched' (process), 'measured moduli'/'design allowables' (allowables, allowablesBasis), 'root dimensions' (geometry), 'session/document/revision/topology' (binding), and 'arbitrary-plane native section' (effectiveSection). It adds conceptual meaning but no units, formats, or field-level detail for the many nested properties, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never plainly states the purpose (verify tongue-root strength using process-matched coupon data); it instead reads as a procedural runbook of steps. The ending clause about the tongue-and-groove joint gives a hint of scope, but an agent must infer the core verb+resource from the name rather than the text. Siblings like plasticity_verify_tongue_root_strength and plasticity_calculate_tongue_root_strength_from_coupon_data are not distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It communicates the precondition that an exact process-matched coupon record must exist and that no-match/ambiguity aborts the operation, which is useful routing context. However, it never says when to prefer this coupon-based verifier over the non-coupon siblings, nor what inputs qualify as a valid match. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plasticity_wait_for_changeARead-only
Wait for a reportable scene edit, then return a compact paginated diff. Revision-only advances do not end the wait. Follow bodyPagination.nextOffset with expectedRevision set to current.revision; use plasticity_body_info for detailed topology of selected bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| bodyLimit | No | ||
| timeoutMs | No | ||
| bodyOffset | No | ||
| snapshotId | Yes | ||
| expectedRevision | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld=false/destructive=false, and the description adds substantial non-obvious behavior: that revision-only advances do NOT terminate the wait, and how the returned diff is paginated and resumed. These are exactly the traits annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly-packed sentences with zero filler; the core action is front-loaded and the caveat about revision-only advances follows immediately, then the follow-up instructions. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully characterizes the return (compact paginated diff) and how to resume it. It still omits what happens on timeout and the role of snapshotId, but for a read-only wait tool the coverage is strong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 load. It meaningfully clarifies expectedRevision (set it to current.revision on the next page) and implies the bodyOffset/bodyLimit pagination pair via nextOffset, but says nothing about snapshotId or timeoutMs — key parameters for a timeout-bounded wait tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Wait for a reportable scene edit') plus the outcome ('return a compact paginated diff'), and distinguishes reportable edits from 'revision-only advances'. An agent can tell this is a blocking/await tool rather than a polling list tool like plasticity_changes_since.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit follow-up mechanics (continue with bodyPagination.nextOffset and expectedRevision=current.revision) and routes the agent to plasticity_body_info when detailed topology is needed. It lacks an explicit when-not-to-use or a direct contrast against the similar plasticity_changes_since sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
371 tool updates
v0.2.0- First observed
plasticity_activate_group - First observed
plasticity_align_cylindrical_faces - First observed
plasticity_align_linear_edges - First observed
plasticity_align_planar_faces - First observed
plasticity_align_vertices - First observed
plasticity_analyze_cohesive_interface - First observed
plasticity_analyze_cone_development - First observed
plasticity_analyze_design_reference - First observed
plasticity_analyze_edge_curvature - First observed
plasticity_analyze_face_draft - First observed
plasticity_analyze_material_interface_test_curve - First observed
plasticity_analyze_static_fem - First observed
plasticity_analyze_strength_task - First observed
plasticity_analyze_surface_continuity - First observed
plasticity_body_info - First observed
plasticity_boolean - First observed
plasticity_bridge_curve_vertices - First observed
plasticity_bridge_curves - First observed
plasticity_bridge_shell_edges - First observed
plasticity_bridge_surface - First observed
plasticity_calculate_dcb_mode_i_energy - First observed
plasticity_calculate_enf_mode_ii_energy - First observed
plasticity_calculate_fastener_member_strength - First observed
plasticity_calculate_heat_set_insert_retention - First observed
plasticity_calculate_interface_specimen_strengths - First observed
plasticity_calculate_mmb_mode_i_ii_energy - First observed
plasticity_calculate_rectangular_strength_from_coupon_data - First observed
plasticity_calculate_section_strength - First observed
plasticity_calculate_single_fastener_strength - First observed
plasticity_calculate_strength - First observed
plasticity_calculate_threaded_receiver_strength - First observed
plasticity_calculate_tongue_root_strength - First observed
plasticity_calculate_tongue_root_strength_from_coupon_data - First observed
plasticity_calibrate_turon_mixed_mode_law - First observed
plasticity_call - First observed
plasticity_cap_sheet_holes - First observed
plasticity_capabilities - First observed
plasticity_capture_snapshot - First observed
plasticity_chamfer - First observed
plasticity_changes_since - First observed
plasticity_check_fastener_group_layout - First observed
plasticity_check_fastener_stack - First observed
plasticity_check_interference - First observed
plasticity_cohesive_fem_report - First observed
plasticity_combine_material_coupon_data - First observed
plasticity_compare_static_fem_refinement_reports - First observed
plasticity_connect - First observed
plasticity_construction_history - First observed
plasticity_construction_journal - First observed
plasticity_convert_curve_vertices_to_control_points - First observed
plasticity_create_blind_hole - First observed
plasticity_create_blind_hole_pattern - First observed
plasticity_create_body_intersection_curves - First observed
plasticity_create_body_outlines - First observed
plasticity_create_box - First observed
plasticity_create_cantilever_snap_fit - First observed
plasticity_create_center_arc - First observed
plasticity_create_circle - First observed
plasticity_create_cone - First observed
plasticity_create_cone_development - First observed
plasticity_create_connector_opening - First observed
plasticity_create_constrained_surface - First observed
plasticity_create_construction_plane - First observed
plasticity_create_counterbore - First observed
plasticity_create_counterbore_pattern - First observed
plasticity_create_countersink - First observed
plasticity_create_countersink_pattern - First observed
plasticity_create_curves_from_regions - First observed
plasticity_create_cylinder - First observed
plasticity_create_dovetail_joint - First observed
plasticity_create_ellipse - First observed
plasticity_create_group - First observed
plasticity_create_heat_set_insert_pocket - First observed
plasticity_create_heat_set_insert_pocket_pattern - First observed
plasticity_create_helix - First observed
plasticity_create_hex_nut_pocket - First observed
plasticity_create_hex_nut_pocket_pattern - First observed
plasticity_create_hinge_barrel - First observed
plasticity_create_instance - First observed
plasticity_create_locating_pin_pair - First observed
plasticity_create_locating_pin_pair_pattern - First observed
plasticity_create_mating_enclosure_joint - First observed
plasticity_create_nurbs_curve - First observed
plasticity_create_pipes - First observed
plasticity_create_polyline - First observed
plasticity_create_printed_external_thread - First observed
plasticity_create_printed_hex_nut - First observed
plasticity_create_printed_hex_pair - First observed
plasticity_create_printed_hex_screw - First observed
plasticity_create_printed_thread_calibration_set - First observed
plasticity_create_radius_measurement - First observed
plasticity_create_rectangle - First observed
plasticity_create_regular_polygon - First observed
plasticity_create_rib - First observed
plasticity_create_round_vent_array - First observed
plasticity_create_screw_boss - First observed
plasticity_create_screw_boss_pattern - First observed
plasticity_create_section_analysis - First observed
plasticity_create_slot_profiles - First observed
plasticity_create_slotted_hole - First observed
plasticity_create_slotted_hole_pattern - First observed
plasticity_create_solid_from_sheet - First observed
plasticity_create_sphere - First observed
plasticity_create_split_screw_insert_joint - First observed
plasticity_create_tangent_arc - First observed
plasticity_create_tangent_circle - First observed
plasticity_create_text - First observed
plasticity_create_three_point_arc - First observed
plasticity_create_three_point_circle - First observed
plasticity_create_through_hole - First observed
plasticity_create_through_hole_pattern - First observed
plasticity_create_tongue_groove_joint - First observed
plasticity_create_topology_distance_measurement - First observed
plasticity_create_torus - First observed
plasticity_create_two_point_circle - First observed
plasticity_create_vertex_distance_measurement - First observed
plasticity_current_selection - First observed
plasticity_curve_pattern - First observed
plasticity_cut_cable_channel - First observed
plasticity_cut_printed_internal_thread - First observed
plasticity_cut_with_faces - First observed
plasticity_define_datum_axis - First observed
plasticity_define_datum_point - First observed
plasticity_deform_bodies_between_faces - First observed
plasticity_deform_curves_between_faces - First observed
plasticity_delete - First observed
plasticity_delete_curve_control_points - First observed
plasticity_delete_edges - First observed
plasticity_delete_faces - First observed
plasticity_delete_instances - First observed
plasticity_delete_measurement - First observed
plasticity_delete_named_selection - First observed
plasticity_delete_reference_meshes - First observed
plasticity_delete_section_analysis - First observed
plasticity_design_reference_request - First observed
plasticity_diagnose - First observed
plasticity_dissolve_faces - First observed
plasticity_dissolve_groups - First observed
plasticity_distribute_fastener_group_load - First observed
plasticity_download_and_import_parasolid - First observed
plasticity_download_and_import_reference_3mf - First observed
plasticity_download_and_import_reference_mesh - First observed
plasticity_download_and_import_step - First observed
plasticity_draft_faces - First observed
plasticity_duplicate_bodies - First observed
plasticity_duplicate_curves - First observed
plasticity_evaluate_curve_segments - First observed
plasticity_export_3mf - First observed
plasticity_export_hiddenline_svg - First observed
plasticity_export_obj - First observed
plasticity_export_parasolid - First observed
plasticity_export_step - First observed
plasticity_export_stl - First observed
plasticity_export_svg - First observed
plasticity_extend_curve_endpoints - First observed
plasticity_extend_sheet_edges - First observed
plasticity_extract_edges - First observed
plasticity_extract_faces - First observed
plasticity_extrude_faces - First observed
plasticity_extrude_profile - First observed
plasticity_extrude_regions - First observed
plasticity_fastener_group_plate_bearing_report - First observed
plasticity_fillet - First observed
plasticity_fillet_curve_vertices - First observed
plasticity_find_edges - First observed
plasticity_find_faces - First observed
plasticity_get_cad_reference_import - First observed
plasticity_get_step_import - First observed
plasticity_hollow_faces - First observed
plasticity_hollow_solids - First observed
plasticity_import_dcb_mode_i_energy_csv - First observed
plasticity_import_enf_mode_ii_energy_csv - First observed
plasticity_import_interface_fracture_csv - First observed
plasticity_import_interface_tensile_csv - First observed
plasticity_import_mmb_mode_i_ii_energy_csv - First observed
plasticity_import_parasolid - First observed
plasticity_import_reference_3mf - First observed
plasticity_import_reference_mesh - First observed
plasticity_import_step - First observed
plasticity_import_svg - First observed
plasticity_imprint_bodies - First observed
plasticity_imprint_curves_on_body - First observed
plasticity_insert_curve_knot - First observed
plasticity_insert_isoparam_edges - First observed
plasticity_insert_sheet - First observed
plasticity_inspect_arbitrary_section - First observed
plasticity_inspect_arbitrary_sections - First observed
plasticity_inspect_curve_planarity - First observed
plasticity_inspect_curve_structure - First observed
plasticity_inspect_fastener_group - First observed
plasticity_inspect_integral_rectangular_plate - First observed
plasticity_inspect_planar_section - First observed
plasticity_inspect_rectangular_member - First observed
plasticity_inspect_single_fastener_plate - First observed
plasticity_inspect_surface_structure - First observed
plasticity_inspect_tongue_root_section - First observed
plasticity_join_curves - First observed
plasticity_join_sheets - First observed
plasticity_list_appearance_materials - First observed
plasticity_list_bodies - First observed
plasticity_list_cad_reference_imports - First observed
plasticity_list_construction_geometry - First observed
plasticity_list_curve_control_points - First observed
plasticity_list_curve_directions - First observed
plasticity_list_curve_endpoints - First observed
plasticity_list_curve_fragments - First observed
plasticity_list_curve_intersections - First observed
plasticity_list_curve_vertices - First observed
plasticity_list_dcb_mode_i_energy_tests - First observed
plasticity_list_enf_mode_ii_energy_tests - First observed
plasticity_list_fastener_group_tests - First observed
plasticity_list_groups - First observed
plasticity_list_instances - First observed
plasticity_list_material_coupon_data - First observed
plasticity_list_material_interface_tests - First observed
plasticity_list_measurements - First observed
plasticity_list_mmb_mode_i_ii_energy_tests - First observed
plasticity_list_named_selections - First observed
plasticity_list_printed_thread_qualifications - First observed
plasticity_list_reference_assets - First observed
plasticity_list_reference_meshes - First observed
plasticity_list_regions - First observed
plasticity_list_section_analyses - First observed
plasticity_list_step_imports - First observed
plasticity_list_windows - First observed
plasticity_loft_curves - First observed
plasticity_loft_faces - First observed
plasticity_loft_regions - First observed
plasticity_match_dcb_mode_i_energy_test - First observed
plasticity_match_enf_mode_ii_energy_test - First observed
plasticity_match_faces - First observed
plasticity_match_fastener_group_test - First observed
plasticity_match_material_coupon_data - First observed
plasticity_match_material_interface_test - First observed
plasticity_match_mmb_mode_i_ii_energy_test - First observed
plasticity_match_printed_thread_qualification - First observed
plasticity_measure - First observed
plasticity_measure_face_properties - First observed
plasticity_measure_fastener_grip_stack - First observed
plasticity_measure_linear_edges - First observed
plasticity_measure_nonparallel_planar_polygon_clearance - First observed
plasticity_measure_parallel_planar_face_clearance - First observed
plasticity_measure_planar_faces - First observed
plasticity_measure_point_distance - First observed
plasticity_measure_point_to_circular_edge - First observed
plasticity_measure_point_to_curved_edge - First observed
plasticity_measure_point_to_linear_edge - First observed
plasticity_measure_point_to_planar_face - First observed
plasticity_measure_solid_properties - First observed
plasticity_mirror - First observed
plasticity_move - First observed
plasticity_move_curve_control_points - First observed
plasticity_move_edges - First observed
plasticity_move_faces - First observed
plasticity_move_instances - First observed
plasticity_move_reference_meshes - First observed
plasticity_move_to_group - First observed
plasticity_offset_edges - First observed
plasticity_offset_face_loops - First observed
plasticity_offset_faces - First observed
plasticity_offset_planar_curves - First observed
plasticity_offset_regions - First observed
plasticity_offset_vertices - First observed
plasticity_open_document - First observed
plasticity_orient_bodies_for_print - First observed
plasticity_patch_closed_wires - First observed
plasticity_patch_regions - First observed
plasticity_patch_sheet_hole - First observed
plasticity_patch_solid_edge_loops - First observed
plasticity_plan_cohesive_layer_planes - First observed
plasticity_plan_single_material_strength_tests - First observed
plasticity_planarize_curves - First observed
plasticity_project_curve_pair - First observed
plasticity_project_curves_onto_body - First observed
plasticity_radial_face_pattern - First observed
plasticity_radial_pattern - First observed
plasticity_raise_curve_degree - First observed
plasticity_raise_surface_degree - First observed
plasticity_read_dcb_mode_i_energy_test - First observed
plasticity_read_enf_mode_ii_energy_test - First observed
plasticity_read_mmb_mode_i_ii_energy_test - First observed
plasticity_realize_instances - First observed
plasticity_rebuild_curves - First observed
plasticity_rebuild_face - First observed
plasticity_reconcile - First observed
plasticity_record_dcb_mode_i_energy_test - First observed
plasticity_record_enf_mode_ii_energy_test - First observed
plasticity_record_fastener_group_test - First observed
plasticity_record_material_coupon_data - First observed
plasticity_record_material_interface_test - First observed
plasticity_record_mmb_mode_i_ii_energy_test - First observed
plasticity_record_printed_thread_qualification - First observed
plasticity_rectangular_face_pattern - First observed
plasticity_rectangular_pattern - First observed
plasticity_redo - First observed
plasticity_reference_search_status - First observed
plasticity_refillet_faces - First observed
plasticity_refresh_datum - First observed
plasticity_remove_construction_plane - First observed
plasticity_remove_fillets - First observed
plasticity_rename - First observed
plasticity_rename_group - First observed
plasticity_rename_reference_mesh - First observed
plasticity_resolve_fastener_designation - First observed
plasticity_reverse_curves - First observed
plasticity_reverse_sheets - First observed
plasticity_revolve_profile - First observed
plasticity_rotate - First observed
plasticity_rotate_curve_control_points - First observed
plasticity_rotate_faces - First observed
plasticity_rotate_instances - First observed
plasticity_rotate_reference_meshes - First observed
plasticity_save_copy - First observed
plasticity_save_named_selection - First observed
plasticity_scale - First observed
plasticity_scale_curve_control_points - First observed
plasticity_scale_faces - First observed
plasticity_scale_instances - First observed
plasticity_scale_reference_meshes - First observed
plasticity_scan_arbitrary_sections - First observed
plasticity_scan_section_strength - First observed
plasticity_screenshot - First observed
plasticity_search_product_references - First observed
plasticity_section_strength_scan_report - First observed
plasticity_select_bodies - First observed
plasticity_select_curve_control_points - First observed
plasticity_select_curves - First observed
plasticity_select_edges - First observed
plasticity_select_faces - First observed
plasticity_select_nodes - First observed
plasticity_select_reference_meshes - First observed
plasticity_set_appearance_material - First observed
plasticity_set_block_dimensions - First observed
plasticity_set_locked - First observed
plasticity_set_radius_dimension - First observed
plasticity_set_rectangle_dimensions - First observed
plasticity_set_view - First observed
plasticity_set_visibility - First observed
plasticity_set_workplane - First observed
plasticity_size_member - First observed
plasticity_slide_curve_control_points - First observed
plasticity_split_curve_segment - First observed
plasticity_split_solid_by_plane - First observed
plasticity_split_solid_by_planes - First observed
plasticity_split_solid_to_build_volume - First observed
plasticity_static_fem_report - First observed
plasticity_status - First observed
plasticity_strength_methods - First observed
plasticity_strength_report - First observed
plasticity_strength_request - First observed
plasticity_subdivide_curves - First observed
plasticity_sweep_regions - First observed
plasticity_thicken_faces - First observed
plasticity_thicken_sheets - First observed
plasticity_trim_curve_fragments - First observed
plasticity_undo - First observed
plasticity_unjoin_curves - First observed
plasticity_unjoin_faces - First observed
plasticity_unjoin_shells - First observed
plasticity_untrim_faces - First observed
plasticity_unwrap_face - First observed
plasticity_validate_bodies - First observed
plasticity_verify_fastener_group_load - First observed
plasticity_verify_fastener_group_plate_bearing - First observed
plasticity_verify_integral_plate_strength - First observed
plasticity_verify_member_strength - First observed
plasticity_verify_section_strength - First observed
plasticity_verify_single_fastener_strength - First observed
plasticity_verify_tongue_root_strength - First observed
plasticity_verify_tongue_root_strength_from_coupon_data - First observed
plasticity_wait_for_change
TDQS
Scored across 371 tools
There is massive functional overlap across the set: near-identical importers (plasticity_list_step_imports vs plasticity_list_cad_reference_imports), multiple fastener-group tools (inspect/check_layout/verify_load/verify_plate_bearing/distribute), and parallel DCB/ENF/MMB energy registries with read/list/match/record/import variants that are hard to distinguish in use. Individual descriptions are enormous but that verbosity does not resolve which of several similar tools to pick, and several pairs appear to do the same thing.
Almost all tools use a consistent snake_case verb_noun convention under a uniform plasticity_ prefix (create_*, list_*, measure_*, verify_*, analyze_*). Minor deviations and a few near-duplicate names (list_step_imports vs list_cad_reference_imports) slightly weaken predictability, but the pattern is largely readable and consistent.
371 tools is an extreme mismatch for any practical server scope, far beyond the 3-15 sweet spot. The surface is so large that it overwhelms selection, and much of the count is duplicated capability rather than distinct operations.
Inferred domain is CAD modeling plus FEA/strength verification plus print-process evidence, and the surface covers creation, editing, measurement, export, analysis, and immutable evidence registries very thoroughly with few obvious gaps. Coverage is arguably complete to the point of redundancy rather than deficient.
Maintenance
Related MCP Connectors
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Agent-first CAD: editable .kcad.ts source, deterministic review, OpenCASCADE kernel.
DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.
Use your own Mac from ChatGPT, Claude or Codex: files, commands, documents, and a browser.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceEnables agents to create and manipulate 3D CAD models using natural language via MCP, with git-based versioning and manufacturing output generation.1Apache 2.0- AlicenseNot gradedqualityCmaintenanceGive your AI assistant the ability to inspect, measure, and compare 3D CAD models by dropping in a STEP file and asking engineering questions. Runs entirely on your machine with no cloud, no CAD license, and no setup.119 npm5MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to build, measure, verify, and correct parametric SolidWorks parts and assemblies locally via the COM API, supporting operations like sketching, extruding, modeling, dimensioning, material assignment, export, and assembly mating.MIT
- AlicenseAqualityCmaintenanceEnables AI agents and MCP clients to perform 3D asset creation and verification: exact b-rep CAD, GLB validation with embedded certificates, mesh inspection, and physics scenes, with most tools running without Blender.3645 npmMIT