Skip to main content
Glama

Open an upload link for a piece

open_channel

Opens an upload link for ONE piece: a URL with which a device uploads files into the piece's material without signing in. own is the creator on another device (the link shown as a QR code); guest is a third party, who first reads and accepts an authorization text on the link's page. The link only uploads (it cannot read the account), expires, has a cap of files and bytes and can be revoked; what a guest sends is not used in the video until the piece's owner accepts it. Returns the URL once (link) and the channel (channel: state, caps, expiry). Only the piece's owner. Upload links may not be available to every account yet: then forbidden with extensions.reason=no_ofrecido. Requires write. $0.

Input Schema

NameRequiredDescriptionDefault
modeYes`own`: the creator uploads from another device. `guest`: a third party uploads after consenting.
purposeNoWhat the creator asks for, in their words (up to 240 characters); the link's page shows it.
ttl_hoursNoHow long the link lives, in hours; the house bounds it (the answer states the expiry).
project_idYes
permission_scopeNoFor a guest: what the consent covers — this piece only (default) or the creator's pieces.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (which only assert non-read-only, non-destructive, non-idempotent), the description discloses a lot: the link is upload-only and cannot read the account, it expires, has caps on files and bytes, is revocable, and guest uploads are inert until the owner accepts them. It also names the returned fields (`link`, `channel` with state/caps/expiry), the `write` requirement, the specific failure mode, and that the call costs $0.

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 purpose, then behavior, then return values and failure mode — a sensible order with almost no filler. It is a single dense semicolon-chained paragraph, and trailing fragments like '$0.' are terse to the point of being cryptic, which slightly hurts scanability.

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

Completeness5/5

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

With no output schema, the description carries the return contract itself (the URL and the channel object with state, caps, expiry) and covers permissions, expiry, caps, revocation, and the acceptance step for guest uploads. Nothing an agent needs to invoke this correctly appears to be missing.

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 coverage is 80%, so the baseline is 3, but the description adds real meaning: `own` means the creator on another device with the link rendered as a QR code, while `guest` means a third party who must first read and accept an authorization text on the link page. It also implies ttl_hours is clamped by house bounds, which goes beyond the schema's 'house bounds it' wording only marginally.

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 (opens an upload link for ONE piece) plus the mechanism (a URL a device uses to upload files into the piece's material without signing in). The contrast with other channel tools is implicit but the scope is precise enough that an agent can tell this apart from request_upload or close_channel by the description alone.

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 clear when-to-use context: two named modes with the scenario each fits, the constraint that only the piece's owner may call it, that it requires `write`, and the availability caveat returning `forbidden` with `extensions.reason=no_ofrecido`. It stops short of routing to explicit alternatives (e.g. close_channel to revoke, list_channels to inspect open links), which keeps it from a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources