Skip to main content
Glama

Upload Link Tool

upload_link

Create a one-time, 30-minute link for uploading up to six files (20 MB each) directly to a task or project, so large or device-based files avoid being sent as base64 in chat.

Instructions

Gives a one-time link to upload files straight onto a task or a project (screenshots, photos, a PDF, a video; up to 6 files), and an upload command (curl) for an agent that has the file on its machine. Use it for any file larger than a few MB, or a file the person has on their device: files do not travel through the conversation as base64. It works once, for 30 minutes. Only when the person asks or agrees. At most 20 MB per file.

Input Schema

NameRequiredDescriptionDefault
repoNoThe git remotes of the working directory (git remote -v).
taskNoThe task number the files are for (e.g. 3). Leave it out to put them on the project.
projectNoProject slug or name, if not this session's and no task is given.
sessionNoThis session's id, from the cemainou line at the start of the session. The session's project wins over the repo.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/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 it well: link is one-time, expires in 30 minutes, max 6 files, max 20 MB per file, and returns both a link and a curl command. These are exactly the constraints an agent cannot discover from the empty annotation set.

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?

Two dense sentences that front-load what the tool returns and the curl command before limits. Parenthetical file lists and multiple clauses make it slightly heavy, but every clause carries real information.

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?

Covers return shape, lifecycle, size/file caps and consent, which is enough for a tool with no output schema and all-optional params. It stops short of explaining how repo, session and project interact when several are supplied, which the agent must piece together from the schema.

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% and each parameter (repo, task, project, session) is already documented in the schema, including the task-vs-project fallback and session precedence. The description adds no parameter-level detail, 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 concrete verb and resource: it 'gives a one-time link to upload files straight onto a task or a project', and names the file kinds and the curl alternative. An agent can tell this apart from add_attachment because the upload happens out-of-band rather than in conversation.

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

Usage Guidelines5/5

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

Explicit triggers ('any file larger than a few MB, or a file the person has on their device'), an explicit exclusion ('files do not travel through the conversation as base64'), and a consent gate ('Only when the person asks or agrees'). Nothing about when to prefer this over siblings is left to inference.

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