Skip to main content
Glama

browser_file_upload

Destructive

Upload one or multiple local files to a browser session using absolute paths; omit paths to cancel the file chooser.

Instructions

Upload one or multiple files

Input Schema

NameRequiredDescriptionDefault
pathsNoThe absolute paths to the files to upload. Can be single file or multiple files. If omitted, file chooser is cancelled.
sessionNoSession id (default "default"). Each session is an isolated browser (own cookies, tabs) that runs in parallel with the others. Created on first use.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.5/5.0
Behavior2/5

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

Annotations declare destructiveHint=true and openWorldHint=true, so the safety profile is carried by structured data; the description adds no context about what gets overwritten, whether the upload is one-way, or how the set of files interacts with the page. For a destructive, open-world tool the description contributes essentially nothing.

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?

A single short sentence with no filler, so it is concise, but it is under-specified to the point of being non-informative for a multi-file, session-scoped, destructive operation. Brevity here comes at the cost of content rather than from trimming waste.

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?

With no output schema and a destructive, open-world annotation set, the description should explain the file-chooser workflow and the sibling relationship to browser_drop. Neither is present, leaving the agent to infer the entire invocation context from the schema alone.

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 coverage is 100%, so the baseline is 3; the 'paths' and 'session' semantics, including the cancel-on-omit behavior and session isolation, are fully documented in the schema. The description repeats none of this and adds no meaning of its own.

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?

States a specific verb and resource ('Upload ... files'), which is clearer than a bare name, but adds nothing to distinguish it from the sibling browser_drop, which also delivers files into the page. An agent must open both schemas to tell them apart.

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

Usage Guidelines2/5

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

No statement of when to use this versus browser_drop, nor any precondition such as a file chooser needing to be open or a dialog being triggered. The only usage-relevant fact (omitting paths cancels the chooser) lives in the schema, not the description.

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