Skip to main content
Glama

Upload app assets

upload_assets
Idempotent

Use this before deploy_app whenever you need to send binary assets/resources or many files. Prefer this whenever the source of truth already exists as local files or a local project tree, especially for multiple files or whole-file replacements. This is the required path for images, backgrounds, icons, fonts, PDFs, media, archives, and other file assets you want deployed. Prepare local files and the upload manifest first. Call upload_assets only when you can upload immediately. If the upload_url expires before use or the upload fails because it expired, call upload_assets again to get a fresh upload_url and upload_id. PUT multipart/form-data to the returned upload_url: a 'payload' part (JSON manifest with text file changes/diffs and deletePaths) plus binary files named by app-relative path. The upload manifest carries all text changes and diffs plus deletePaths. After upload succeeds, call deploy_app with upload_id only. Do not also send files[] or deletePaths[]; those changes belong in the upload manifest. Never base64-encode binary assets into deploy_app.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.1/5.0
Behavior1/5

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

The description directly contradicts the idempotentHint annotation. The annotation declares idempotentHint=true, but the description instructs 'call upload_assets again to get a fresh upload_url and upload_id,' implying each invocation creates new, distinct resources—behavior that is non-idempotent. This is a clear contradiction, so transparency score is 1 despite the detailed protocol information.

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 lengthy but every sentence is essential to the workflow: when to use, what to upload, how to format the PUT request, what happens on expiry, and how to interact with deploy_app. It is front-loaded with the core usage context and contains no filler or redundant content.

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?

For a zero-parameter tool with no output schema, this description is fully complete: it covers preparation of local files and manifest, the multipart PUT format, the payload contents, expiry and retry behavior, and the follow-up call to deploy_app. It even warns against including files/deletePaths directly in deploy_app, making it a self-contained guide.

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?

The tool has zero parameters, and the schema description already states 'No arguments' and describes the return values. With no parameters, the description does not need to add more parameter-level detail; the baseline of 4 applies. The description adds contextual workflow information (preparing local files, the upload manifest) but not parameter syntax, which is unnecessary here.

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 clearly states the tool uploads binary assets or many files before deploy_app, explicitly listing asset types (images, backgrounds, icons, fonts, PDFs, media, archives) and distinguishing it from deploy_app by positioning it as the required pre-step. The verb 'upload' and resource 'assets' are specific and unambiguous.

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?

It gives explicit when-to-use guidance: 'Use this before deploy_app whenever you need to send binary assets/resources or many files' and 'Prefer this whenever the source of truth already exists as local files.' It also provides clear exclusions and workflow direction: 'Do not also send files[] or deletePaths[]' and 'Never base64-encode binary assets into deploy_app.' The follow-up step to deploy_app is explicitly stated.

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.

TDQS

A4.2/5.0
Disambiguation4/5

Most tools have distinct purposes, but the 5 secrets-related tools (create_secret_entry, delete_app_secrets, get_secret_entry_status, list_app_secrets, set_app_secrets) are numerous and could cause confusion. Similarly, deploy_app and apply_app_version both involve deployment but with different contexts. Overall, descriptions help differentiate, but some overlap remains.

Naming Consistency4/5

The majority of tools follow verb_noun pattern (e.g., deploy_app, get_apps). However, the src_ prefix tools (src_glob, src_grep, src_read) deviate by using a noun prefix instead of a verb, creating a slight inconsistency. Otherwise, naming is clear and predictable.

Tool Count5/5

With 21 tools, the server covers deployment, domain management, secrets, source inspection, and asset upload without being overly large. The count is well-scoped for a deployment platform, each tool serving a necessary role.

Completeness4/5

Core workflows (deploy, status, secrets, source inspection) are well-covered. However, there are minor gaps: no tool to list available templates or manage app metadata beyond deployment. The surface is mostly complete but could benefit from a few additional administrative tools.

Resources