Skip to main content
Glama
dream-creo-mcp

dream-creo-mcp

by JaikenWong

feature_xml_create

Create or edit Creo features from element-tree XML, including round, chamfer, hole, shell, draft, datum and patterns. Use exported XML as a template, then verify the result with model_info and preview_image.

Instructions

Creates/edits geometry in the running Creo 5 through the DreamFeatureApp plugin. There is no mirror tool: build symmetric shapes with symmetric extrudes, revolves or patterns. Units are mm and degrees. Parts are addressed by name (lowercase, no .prt). Model axes: FRONT is the XY plane (normal +Z), TOP is XZ (normal +Y), RIGHT is YZ (normal +X). Each feature call either ends with an active feature or is rolled back. Nothing is saved unless model_save is called. Check results with model_info (volume, bound_box) and preview_image.

Advanced. Create a feature from element tree XML (as returned by feature_xml_export, edited). Works for features without sketches (round, chamfer, hole, shell, draft, datum, pattern...). Reference ids must exist in this model (find_geometry). Failed features are rolled back.

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>",
      "xml": "<xml>"
    },
    "name": "feature_xml_create"
  }
}

Input Schema

NameRequiredDescriptionDefault
xmlYes
nameYesPart name without .prt

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does it well: it discloses that each call leaves an active feature or is rolled back, failed features roll back, nothing is saved unless model_save is called, reference ids must pre-exist, units are mm/degrees, part naming is lowercase without .prt, and the model axis conventions (FRONT=XY, TOP=XZ, RIGHT=YZ). These are non-obvious, high-impact behaviors 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.

Conciseness4/5

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

Front-loaded with the core action, then constraints, then the advanced-usage paragraph. Dense but mostly earned sentences. The axis/plane convention block is verbose for a tool that takes only XML and a part name, but arguably useful when editing trees.

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

Completeness5/5

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

For a 2-parameter tool with no output schema and no annotations, the description supplies the state model (active feature vs rollback), persistence semantics, units, axis conventions, and prerequisite for reference ids. An agent could invoke this correctly without opening other docs.

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

Parameters5/5

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

Schema coverage is only 50% (xml parameter has no description), so the description must compensate and it does: xml is characterized as an element tree in the format produced by feature_xml_export and editable, with a 200k char cap and 20-char minimum implied by schema. It also explains the name parameter's semantics beyond the regex (part name, no .prt).

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?

Specific verb+resource: creates a feature from element-tree XML in Creo via the DreamFeatureApp plugin. The second paragraph scopes it to features without sketches (round, chamfer, hole, shell, draft, datum, pattern), which distinguishes it from siblings like extrude, revolve, sweep, and sketch_curve. It stops short of a crisp one-line differentiator from feature_xml_export beyond 'as returned by'.

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

Usage Guidelines5/5

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

Explicit when-to-use: element-tree XML as returned by feature_xml_export and edited; features without sketches. Names alternatives (use symmetric extrudes/revolves/patterns since no mirror tool; find_geometry for reference ids; feature_xml_export as the source; model_info and preview_image for verification; model_save to persist). Covers both selection and follow-up.

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