Skip to main content
Glama
nesso-labs

spaceclaim

by nesso-labs

run_script

Destructive

Run a SpaceClaim Python (IronPython) script for CAD tasks not covered by the typed tools. Pass inputs via argsDict, return outputs in result, and the design is re-read afterward.

Instructions

Escape hatch: run a script inside the product for anything the typed tools do not cover. The design is re-read afterwards.

Input Schema

NameRequiredDescriptionDefault
argsNoPassed as argsDict.
codeYesSpaceClaim Python (IronPython) script using the SpaceClaim API of the running release. Read inputs from the dict argsDict; put outputs in a dict named result (string values).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, so the agent knows this is an unsafe write operation. The description adds one genuinely useful behavioral fact — "the design is re-read afterwards" — implying the model state may change outside the tool's tracking and subsequent reads matter. It omits the bigger risks: that arbitrary code executes with full API access, whether it runs in the live session, failure/recovery behavior, or what happens to 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.

Conciseness5/5

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

Two short sentences, zero waste, with the escape-hatch framing front-loaded so the routing decision is made immediately. The design re-read note is terse but carries real information.

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 a destructive arbitrary-code tool, the combination of description, destructive annotation, full schema coverage, and an output schema covers the essentials: what it does, when to reach for it, and how to pass inputs and retrieve outputs. It is slightly thin on execution environment and failure semantics, which matter more here than for a typed tool.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema itself explains argsDict, the result dict with string values, and the IronPython/SpaceClaim API constraint. The description adds nothing about either parameter, so the baseline 3 applies — the schema is doing all the work here.

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 ("run a script inside the product") and explicitly positions itself as the escape hatch for gaps the typed tools leave. It is distinguishable from every sibling at a glance. It stops short of a 5 because "the product" is never named and the script language/API is only discoverable in the schema, not the description.

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

Usage Guidelines4/5

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

Gives an explicit when-to-use rule: "anything the typed tools do not cover," which implicitly routes the agent to try typed tools like fillet_edges or boolean first. It does not state when-not to use it (e.g., never for operations a typed tool already supports) or what prerequisites like an active connection are required.

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