Skip to main content
Glama

upload

Attach allowed local files to a browser file input by reference, as if the user selected them.

Instructions

Attach files to a file input (by ref), as if the user picked them.

paths are absolute file paths. Only files in the folders the user listed in upload_dirs
in zenpilot's config are allowed. Uploads are logged.

Input Schema

NameRequiredDescriptionDefault
refYes
pathsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.1

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does disclose real behavioral traits: absolute path semantics, a sandbox restriction tied to upload_dirs config, and that uploads are logged. It does not say whether the call waits for the upload to complete, what happens with an invalid or stale ref, or whether a change/submit event is fired on the input.

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?

Three short sentences, front-loaded with the action and semantics before the constraints. Minor waste in the line-broken 'paths are absolute...' sentence, but nothing extraneous.

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

Completeness3/5

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

For a mutation-style tool with no annotations and no output schema, the description covers inputs and security constraints well but leaves the agent guessing about completion semantics, error behavior, and how to acquire a valid ref. These are the gaps that matter most for calling it correctly the first time.

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 0%, so the description must compensate, and it mostly does: 'ref' is identified as the file input target and 'paths' is defined as absolute file paths subject to an allow-list. It stops short of explaining how a ref is obtained (e.g. from read_page) or whether directories are permitted.

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

Purpose4/5

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

States a specific verb and resource ('attach files to a file input') and clarifies the semantics with 'as if the user picked them', which is meaningfully different from the sibling click/type tools. It is clearly distinguishable from every sibling, though it does not explicitly name an alternative.

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?

The phrase 'attach files to a file input (by ref)' gives the agent a clear condition for when this tool applies rather than click/type. It also states the hard constraint that only files under directories listed in upload_dirs are allowed, but gives no guidance on failure cases or prerequisites such as obtaining a valid ref first.

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