Skip to main content
Glama

create_part_class

Destructive

Create a part class in a template. A default style and part are created with it.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "templateId": "<templateId>",
      "renderPosition": "<renderPosition>",
      "uiPosition": "<uiPosition>"
    },
    "name": "create_part_class"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYes
templateIdYes
uiPositionYes
hasVariantsNoWhether parts and styles in this class can have open/closed/other piece variants; defaults to false.
rotatePointXNo
rotatePointYNo
renderPositionYes
parentPartClassIdNo
canMirrorPartClassIdNo
canRequirePartClassIdNo
renderWithPartClassIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.9/5.0
Behavior3/5

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 write/irreversible profile is covered. The description adds genuinely useful behavior: creating a part class also spawns a default style and a default part. It omits permissions, whether the default objects are named/identifiable afterward, and how the referenced-class parameters (parent, mirror, require, renderWith) must resolve.

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

Conciseness4/5

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

Two short sentences, front-loaded with the action and immediately followed by the side effect. No filler, though the brevity leaves the parameter semantics unresolved rather than being an over-length problem.

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

Completeness2/5

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

For an 11-parameter mutation tool with 9% schema coverage and no output schema, the description is thin: it says nothing about required relationships between the self-referential class IDs, position semantics, or what the tool returns (e.g., the new class id). Only the default style/part side effect is disclosed.

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

Parameters2/5

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

Schema description coverage is only 9% — just hasVariants is documented — so the description carries the burden and adds almost nothing. It does not explain the semantics of renderPosition vs uiPosition, rotatePointX/Y, or the four self-referential *PartClassId fields (parentPartClassId, canMirrorPartClassId, canRequirePartClassId, renderWithPartClassId), which are the hardest to guess.

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

Purpose4/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 part class") and situates it inside a template, which distinguishes it from create_template and create_part. It does not explicitly contrast with create_part or create_style, which are the closest siblings and could be confused with the default style/part side effect.

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

Usage Guidelines2/5

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

No guidance on when to use this versus create_part or update_part_class, and no prerequisites stated beyond the implicit requirement that a template exist. The agent must infer that templateId must reference a pre-existing template.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources