Skip to main content
Glama

upload_file_confirm

Destructive

Confirm and execute a pending file upload by passing the token returned from the initial upload request.

Instructions

Confirm and execute a pending file upload.

When ``KILN_CONFIRM_UPLOAD`` is enabled, ``upload_file()`` returns a
confirmation token instead of uploading immediately.  Pass that token
here to proceed with the upload.

Args:
    token: The confirmation token returned by ``upload_file()``.

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": {
      "token": "<token>"
    },
    "name": "upload_file_confirm"
  }
}

Input Schema

NameRequiredDescriptionDefault
tokenYesThe confirmation token returned by ``upload_file()``.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.5.1
    • addedInput schema / properties / token / description
      Added value: +"The confirmation token returned by ``upload_file()``."
  2. First observedv0.1.0

TDQS

A3.9/5.0
Behavior3/5

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

The annotations already declare destructiveHint=true and readOnlyHint=false, and the description is consistent with that by framing this as executing the actual upload. It usefully adds the two-phase gating behavior and the env-var precondition, but does not explain what the destructive aspect means (e.g. overwriting an existing file of the same name) or how long the token is valid.

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 action in the first sentence, followed by the minimal context needed to know when the token exists. The trailing Args block duplicates the schema description verbatim, which is mild redundancy in a description this short.

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 one-parameter confirmation tool with no output schema and annotations covering the safety profile, this explains the preconditioning flow well enough to call correctly. Only the post-call outcome (what the upload returns, token single-use semantics) is unaddressed, which is minor here.

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 token parameter is fully documented in the schema. The description's Args block restates that same sentence, adding no new meaning about format, encoding, or lifetime, so the baseline 3 applies.

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 ('Confirm and execute a pending file upload') and makes the relationship to the sibling tool explicit by naming upload_file() as the producer of the token. An agent can distinguish this from upload_file and from delete_file 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 Guidelines4/5

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

Gives a concrete trigger condition: only call this when KILN_CONFIRM_UPLOAD is enabled and upload_file() returned a token rather than uploading. That is effectively a when-to-use rule with the alternative (plain upload_file) implied, but there is no explicit when-not or statement about token reuse/expiry.

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

Deploy Server

Other Tools