Skip to main content
Glama

Gradient Dynamics: thermal and CFD simulation

Upload CAD or STL

open_surface_upload

Fallback STL/STEP/3MF file picker only for a new file when the chat host cannot hand off its attachment. Prefer import_surface_attachment for a host-provided file reference, or create_upload when you can run commands on the machine with the file. If the geometry already has a verified ready artifact ID, use get_artifact then view_geometry/inspect_mesh_geometry; do not ask for another upload or CAD-uploader confirmation. Exact checksum matches can use prepare_surface_upload. Filename alone is not identity; clarify reuse when uncertain. API transfers/verifies bytes, with no terminal or S3 client. Retain artifact ID and continue requested stages once ready. 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. Upload 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": "open_surface_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.5/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false), the description discloses that the API transfers and verifies bytes with no terminal or S3 client, that upload does not start compute, and that filename alone is not identity so reuse should be clarified. These are meaningful operational facts not present in structured fields. It stops short of stating rate limits, size caps, or what the response looks like, which is acceptable given an output schema exists.

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 routing decision, which is the highest-value information, followed by identity/reuse caveats and then parameter guidance. A few lines duplicate schema text (the STEP/3MF embedded-units normalization appears in both the description and coordinate_units), costing a little efficiency but not clarity.

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 write tool with an output schema, the definition covers the routing decision, byte-transfer mechanics, identity/checksum reuse handling, unit inference, and the post-upload instruction to retain the artifact ID and continue requested stages. Only the handling of the UUID correlation parameters (project_id, request_id) and size_bytes is left entirely to the schema.

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 must compensate, and it largely does: it explains that coordinate_units should normally be omitted and how STL units are resolved from measured bounds plus engineering context, that expected_length_mm should only be supplied when actually known, and that engineering_context must not be inferred from a filename. sha256, project_id, request_id, and size_bytes receive only indirect or no treatment, leaving a residual gap.

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?

The first sentence gives a specific verb, resource, and scope: a fallback STL/STEP/3MF file picker used only when the chat host cannot hand off its attachment. It immediately distinguishes itself from import_surface_attachment, create_upload, and prepare_surface_upload, so an agent can route 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 Guidelines5/5

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

Explicit when-to-use and when-not-to-use: prefer import_surface_attachment for a host-provided reference, create_upload when shelling out, get_artifact + view_geometry/inspect_mesh_geometry when a verified artifact ID exists, and prepare_surface_upload for exact checksum matches. It also says not to request CAD-uploader confirmation in the verified-artifact case, which closes a common misrouting loop.

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