Skip to main content
Glama

Gradient Dynamics: thermal and CFD simulation

Upload a local CAD or STL file

create_upload

Upload a STL/STEP/STP/3MF file from a machine where you can run commands (coding agents, CI, headless agents) without a picker and without the file passing through the model. Run the returned transfer.command there, replacing the quoted path argument with a shell-quoted absolute path; HTTP errors exit nonzero, and success prints the verified ready artifact. The token covers one file for 15 minutes: never share it or use it for another file. Retry the same transfer while valid; call again after expiry. Give size_bytes with sha256 only if already known, to enforce them or reuse an identical verified upload. Reuse a known ready artifact first; for a host attachment use import_surface_attachment; without command access use open_surface_upload. Normally omit coordinate_units (auto). Supply engineering_context from the request and expected_length_mm only if known. Inspect measured STL bounds to infer units; ask only when scale remains ambiguous. STEP/3MF use embedded units normalized to mm. Use reconstruct_cad for 3MF. Does not start compute.

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": {
      "filename": "<filename>"
    },
    "name": "create_upload"
  }
}

Input Schema

NameRequiredDescriptionDefault
sha256No
filenameYes
project_idNo
request_idNo
size_bytesNo
coordinate_unitsNoNormally auto. STEP/STP/3MF use embedded units normalized to mm. STL units are resolved from measured bounds and supplied engineering context; ambiguous scale requires one clarification.auto
expected_length_mmNoOptional known approximate longest overall dimension in millimetres. Supply only when known from the user or source evidence, not an invented guess.
engineering_contextNoBrief supplied engineering context, e.g. a full-size passenger car or a GPU cold plate. Do not infer context from a filename alone.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, destructiveHint=false and idempotentHint=false, so the safety profile is covered structurally. The description still adds real operational detail the annotations don't: a 15-minute single-file token that must not be shared, retry-while-valid vs. re-call-after-expiry, nonzero exit on HTTP errors, success printing a verified ready artifact, and 'Does not start compute.' That is strong added context, but the description is thin on what the upload itself mutates (project scoping, duplicate-name handling) and leans on the return value for verification.

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?

No filler sentences — the token rules, retry behavior, sibling routing and per-parameter advice all earn their place. The ordering is somewhat jumbled, however, with sibling routing and unit-handling mixed into the same dense block as parameter guidance, making it harder to scan than a clean purpose → workflow → alternatives → parameters layout.

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?

An output schema exists, so the description needn't explain return values, and it still flags the important one (success prints the verified ready artifact). For an 8-parameter, open-world write tool it covers workflow, expiry, retry, and unit ambiguity, but leaves project_id and request_id entirely unexplained in both schema and description.

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 description coverage is only 38% across 8 parameters, so the description has to compensate, and it does for the semantically risky ones: sha256/size_bytes should be supplied only if already known and only together to enforce or reuse a verified upload, coordinate_units is normally omitted, engineering_context should come from the request rather than the filename, and expected_length_mm only when known. filename, project_id and request_id get no explanation in either place, which keeps this below a 5.

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 (upload an STL/STEP/STP/3MF file) plus the crucial scoping condition 'from a machine where you can run commands ... without the file passing through the model.' That condition alone distinguishes it from open_surface_upload and import_surface_attachment 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.

Usage Guidelines5/5

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

Gives explicit routing rules: use import_surface_attachment for a host attachment, open_surface_upload when there is no command access, reuse a known ready artifact first, and reconstruct_cad for 3MF. It also states when to omit optional parameters and when to ask for clarification on units. The only soft spot is that 'Use reconstruct_cad for 3MF' sits next to 3MF being an accepted upload format, which takes a moment to parse as a post-upload step.

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