Skip to main content
Glama

add_asset

Read-onlyIdempotent

Add a logo or full painted sheet to a Virada kit from a file path or base64 image, then use the returned ID in your kit layers.

Instructions

Add a picture the kit uses: a logo for an 'image' layer (PNG with transparency is best) or a whole painted sheet for {"sheet": ...}. Give a local file path (local servers) or base64 PNG/JPEG data. Use the id it returns in the kit. Names: letters, digits, _ and -. In a chat app that can't send a picture's bytes, skip this: build with layers.

Input Schema

NameRequiredDescriptionDefault
nameYes
pathNo
base64_pngNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior1/5

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

The description describes a resource-creating operation ('Add a picture the kit uses', 'Use the id it returns'), while the annotations declare readOnlyHint=true. This is a direct conflict about whether the tool mutates state, so the description cannot be trusted as behavioral guidance.

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?

Short and front-loaded with the purpose, and every clause carries information. The fragment 'or a whole painted sheet for {"sheet": ...}' is syntactically awkward and forces the reader to reconstruct the meaning, which costs it a point.

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?

An output schema exists, so the description needn't explain return values, and it still notes 'Use the id it returns in the kit'. Inputs, formats, and the chat-app fallback are covered; only the path/base64_png relationship is left implicit.

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?

With 0% schema description coverage, the description carries the load and mostly does: it defines the name charset ('letters, digits, _ and -'), explains path (local file path) and base64_png (base64 PNG/JPEG data), and notes PNG-with-transparency preference. It does not state whether path and base64_png are mutually exclusive or optional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Add a picture the kit uses') and distinguishes two asset variants: a logo for an 'image' layer or a whole painted sheet. It is clearly not list_assets, render_sheets, or validate_kit, though no sibling is named explicitly.

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?

It gives concrete invocation context (local file path on local servers vs. base64 data) and an explicit exclusion: 'In a chat app that can't send a picture's bytes, skip this: build with layers.' The alternative is an approach rather than a named sibling tool, so routing is clear but not tool-to-tool.

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