Skip to main content
Glama

Upload brand logo

upload_logo
Idempotent

Upload the product's logo once, then pass the returned logo object as brand.logo to render_previews, or as props.logo in templates that support a logo (their spec lists editableFields.logo). Templates with a logo show it wherever they show the brand name; the brand text stays as its alt text. Send an SVG as text in svg, or a PNG, JPEG, WebP, or SVG file as base64 in data. Up to 1 MB. Prefer the project's SVG logo (for example public/logo.svg) or a PNG with a transparent background. mono: true draws the logo in the template's text color, which keeps it readable on any theme; it needs a transparent background.

Input Schema

NameRequiredDescriptionDefault
svgNoThe logo as SVG text.
dataNoThe logo file as base64, or as a data: URL.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses the 1 MB limit, the accepted formats and how each is passed, the alt-text behavior, and the mono rendering rule requiring a transparent background. These are real behavioral constraints the annotations (idempotent, non-destructive) do not convey.

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-loads the core action and downstream usage before format details. Dense but nearly every sentence carries an actionable constraint; the mono/transparent-background details could be slightly tighter but are not wasted.

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?

With no output schema, the description still explains that a logo object is returned and how to consume it, and covers size, formats, and rendering behavior. Adequate for a 2-parameter write tool, though it does not spell out error/failure handling for oversized or invalid uploads.

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 100%, so baseline is 3, but the description adds meaning beyond the schema: svg takes SVG text while data accepts PNG/JPEG/WebP/SVG as base64 or a data: URL, plus preferred-format guidance. This enriches the choice between the two parameters.

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 ('Upload the product's logo once') and immediately explains how the returned object feeds downstream siblings (render_previews, templates). An agent can distinguish this from render_preview(s) and get_template_spec without opening a schema.

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 usage context: upload once, then pass the returned logo object to render_previews or as props.logo in logo-supporting templates (spec lists editableFields.logo). It is explicit about the downstream route but does not name when NOT to use it or contrast with a sibling alternative.

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.