Skip to main content
Glama
truls27a

wint-mcp

by truls27a

Upload Stage

upload_stage

Stages a single file on the server for up to one hour so upload workflows can hand off a short-lived file for later processing.

Instructions

Upload panel only: keep one file on the server for up to an hour.

Input Schema

NameRequiredDescriptionDefault
file_nameYes
data_base64Yes
content_typeNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare this is a non-destructive, non-open-world write, so the safety profile is covered. The description adds genuine behavioral context beyond that: only one file is held and retention is capped at one hour, implying an ephemeral, single-slot store. It stops short of saying what happens at expiry, whether a new upload replaces the held file, or whether the stage must be explicitly consumed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

One short sentence with no filler, and the scoping constraint is front-loaded. But brevity here is under-specification rather than economy: the sentence spends its words on panel scoping and TTL while omitting the action itself.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but the definition is still thin for a mutating tool with three undocumented parameters. It should state that data_base64 is base64-encoded file content, note any size ceilings, and describe the lifecycle of the staged file (consumed vs. overwritten vs. expired).

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

Parameters2/5

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

Schema description coverage is 0%, so all three parameters (file_name, data_base64, content_type) are undocumented and the description compensates for none of them. There is no mention of base64 encoding expectations, size limits, or default content-type behavior for the nullable field. Only the single-file constraint loosely hints at how repeated uploads behave.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description conveys that this stages a single file server-side for up to an hour, but never states the action plainly ('upload a file to a temporary staging area') and the verb is left implicit. 'Upload panel only' distinguishes it somewhat from siblings like upload_document, but not enough to tell an agent exactly what the tool produces or why staging exists.

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

Usage Guidelines3/5

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

'Upload panel only' is an implied usage context and a soft exclusion, hinting it belongs to an interactive panel rather than programmatic document uploads. However, no sibling is named as the alternative (upload_document, upload_supplier_invoice, upload_other_document), and there is no guidance on what to do with the staged file afterwards or when to prefer those tools.

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