Skip to main content
Glama
CapMonsterCloud

capmonster-mcp-patchright

Official

browser_file_upload

Upload local files to a file input using a CSS selector or aria ref, including inside iframes.

Instructions

Upload files to a by CSS selector or aria ref.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
refNoaria-ref from browser_snapshot, for example e12. Provide exactly one of selector or ref.
pathsYesLocal file paths to upload.
timeoutNo
selectorNoCSS selector. Provide exactly one of selector or ref.
frameSelectorNoOptional CSS selector for an iframe. When set, selector/ref resolve inside that frame.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are present, so the description carries the full behavioral burden. It only restates the core action and does not disclose whether the upload waits for completion, whether local file paths must exist, whether existing file input contents are replaced, or what happens if no matching input is found. For a state-changing browser action, this is a notable gap.

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

Conciseness5/5

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

The description is a single efficient sentence with no filler. The verb, target, and locator approach are front-loaded, making the tool's purpose immediately graspable.

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 five-parameter tool with no annotations and no output schema, the description provides the essential operation and locator constraints, and the schema fills in most parameter details. However, it omits behavioral expectations such as waiting semantics and file-upload side effects, so it is adequate but not fully complete.

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 80%, with ref, selector, paths, and frameSelector already described. The description adds the high-level mapping that CSS selector and aria ref are the two locator strategies, but it adds no detail about timeout behavior or multi-file upload semantics beyond what the schema provides.

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?

The description uses a specific verb ('upload'), identifies the exact resource ('<input type=file>'), and names the locator strategies (CSS selector or aria ref). This clearly distinguishes the tool from sibling text-entry and click tools like browser_fill, browser_type, and browser_click.

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 description makes the intended use obvious: uploading files to a file input element, targeted either by CSS selector or aria ref. It does not explicitly name alternatives or exclusions, but the file-input context is sufficient to route an agent to this tool over the other browser interaction siblings.

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