Skip to main content
Glama

Request File Upload

request_upload

Use this when the user has a photo, PDF drawing, STEP, STL, DXF, SVG or 3MF file on their device and you need it in a kernelCAD tool (trace_from_image, drawing_to_cad, mesh_to_features, inspect of:"step", or lib.fromSTEP / fromSTL / fromDXF / fromSVG / referenceImage in a script). Do not ask the user to paste the file as text or base64, and do not type coordinates from an image by hand. Returns a one-time uploadUrl (valid 30 minutes) and an asset reference. Give the user the link; after they say the upload is done, pass the asset value ("asset:") as the file argument, for example trace_from_image({ imageUrl: "asset:" }) or lib.fromSTEP("asset:"). If the file is already at a public https:// URL, pass that URL instead. On clients that support MCP URL elicitation the upload page opens for the user directly and the call returns once the file is stored (status "uploaded"); then use the asset right away without asking the user anything.

Input Schema

NameRequiredDescriptionDefault
purposeNoOptional short note shown on the upload page, e.g. "the photo of the worn bracket".

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Adds substantial behavior beyond the annotations: a one-time uploadUrl valid 30 minutes, an asset reference, the exact handoff format ("asset:<id>") for the consuming argument, and the MCP URL elicitation flow including the returned status "uploaded". This is far richer than the readOnly/destructive/openWorld hints. It stops short of 5 only because it does not state error cases (expired link, failed upload) or whether the asset persists.

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 triggering condition, then the mechanism, then the handoff example. Long but dense, with each clause carrying routing or workflow information. Slightly dense toward the end where elicitation behavior is folded into one long sentence.

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?

Complete for a one-parameter tool with an output schema and full annotation coverage. The description covers the full lifecycle (request, handoff, elicitation variant) and even the public-URL bypass, so nothing needed to invoke it correctly is missing.

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 single `purpose` parameter is already documented in the schema as an optional note shown on the upload page. The description never elaborates on that parameter, so it adds no meaning beyond the schema; baseline 3 applies. The workflow detail it does provide concerns the output `asset` value, not the input parameter.

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 (request upload) and resource (file), and explicitly distinguishes itself from siblings by naming the downstream tools it feeds (trace_from_image, drawing_to_cad, mesh_to_features, import_step) and the scripting equivalents. An agent can tell this apart from import_step or trace_from_image 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 when-to-use conditions (user has a photo/PDF/STEP/STL/DXF/SVG/3MF on their device), when-not guidance (do not ask for pasted text/base64, do not hand-type coordinates), and an alternative path (if the file is already at a public https:// URL, pass that URL instead). Routing is fully specified.

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.