Skip to main content
Glama
Prasadpodaparthi

SketchUp MCP Server

create_mortise_tenon

Create a mortise-and-tenon joint between two boards in SketchUp by specifying entity IDs and dimensions in millimeters, with offsets to position the joint.

Instructions

Create a mortise-and-tenon joint between two boards.

All dimensions in millimeters; offsets shift the joint from the board face's center. Defaults are sized for ~100 mm boards. The two boards must already touch/overlap along the joint axis.

Returns: JSON {mortise: {id, name, type, bbox_mm|null}, tenon: {...}, boolean_cuts: {attempted, failed}} — non-zero failed means some cuts did not apply (likely non-manifold geometry); verify via bbox_mm.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
depthNoJoint depth in mm
widthNoJoint width in mm
heightNoJoint height in mm
offset_xNoJoint offset from the board face's center along X, mm
offset_yNoJoint offset from the board face's center along Y, mm
offset_zNoJoint offset from the board face's center along Z, mm
tenon_idYesEntity ID from a previous response (integer or its string form)
mortise_idYesEntity ID from a previous response (integer or its string form)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well: it discloses the failure mode (non-zero 'failed' means cuts did not apply, likely non-manifold geometry), tells the agent how to verify (bbox_mm), and states the geometric precondition. It does not mention permissions, reversibility, or whether the operation is destructive/undoable.

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

Conciseness5/5

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

Front-loaded with the action, then units/scaling, then the precondition, then a labeled 'Returns' block. No filler sentences; each line (units, offsets, defaults, precondition, return contract) earns its place.

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

Completeness4/5

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

For an 8-parameter geometry mutation with no annotations, the description covers units, offset semantics, default scaling, a precondition, and failure interpretation. An output schema exists, so the added 'Returns' detail is a bonus rather than a necessity, and the only real gap is the absence of any undo/reversibility or permission note.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning beyond the schema: all dimensions are in millimeters, offsets shift relative to the board face's center, and the defaults are calibrated for ~100 mm boards. That contextual sizing information is not derivable from the schema alone.

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

Purpose5/5

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

States a specific verb and resource ('Create a mortise-and-tenon joint between two boards') and implicitly distinguishes itself from sibling joint creators (create_finger_joint, create_dovetail) by naming the joint type. An agent can tell which joint operation to call without opening any schema.

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

Usage Guidelines3/5

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

Provides a real precondition ('The two boards must already touch/overlap along the joint axis'), which is useful usage context. However, it gives no guidance on when to choose this over the other joint-creating siblings or what to do when the precondition fails. Adequate but with a clear gap.

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