Skip to main content
Glama

Animation Fetch Recolor

animation_fetch_recolor
Idempotent

Downloads a Lottie animation for a loading, success, empty, or onboarding hero slot; recolors it to the app's primary and accent palette; saves it as Resources/Animations/.json.

Instructions

Fetch a cute Lottie animation from the free LottieFiles library and recolor it to the app palette into Resources/Animations/.json.

Use when: once per slot (loading, success, empty, onboarding_hero) for every app; rendered by lottie-spm with .named(slot). Colors are mapped at build time (dominant to primary, others to accent). Returns: {ok, path, source, colors}.

Input Schema

NameRequiredDescriptionDefault
slotYesAnimation slot: 'loading', 'success', 'empty' or 'onboarding_hero'.
app_dirYesAbsolute path to the app project directory (contains app.spec.json), e.g. /Users/me/Apps/MyApp.
keywordNoApp-themed search keyword override, e.g. 'happy dog celebration'.
accent_hexYesAccent palette color as hex, '#' optional, e.g. 'FFB300'.
primary_hexYesPrimary palette color as hex, '#' optional, e.g. '006A63'.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.1.5
    • addedInput schema / properties / accent_hex / description
      Added value: +"Accent palette color as hex, '#' optional, e.g. 'FFB300'."
    • addedInput schema / properties / app_dir / description
      Added value: +"Absolute path to the app project directory (contains app.spec.json), e.g. /Users/me/Apps/MyApp."
    • addedInput schema / properties / keyword / description
      Added value: +"App-themed search keyword override, e.g. 'happy dog celebration'."
    • addedInput schema / properties / primary_hex / description
      Added value: +"Primary palette color as hex, '#' optional, e.g. '006A63'."
    • addedInput schema / properties / slot / description
      Added value: +"Animation slot: 'loading', 'success', 'empty' or 'onboarding_hero'."
  2. First observedv0.1.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare idempotent, non-destructive, open-world behavior, so the bar is lower. The description adds real value beyond that: it discloses the external network fetch from LottieFiles, the build-time color mapping rule (dominant to primary, others to accent), and the write target. It doesn't explicitly state overwrite behavior for an existing slot file, which is the one gap.

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?

Front-loaded purpose sentence, then clearly labeled 'Use when:' and 'Returns:' blocks. No filler, every sentence earns its place.

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 an output schema present, the description needn't explain return values, yet it does. Combined with the usage and color-mapping context, an agent has nearly everything needed; only explicit overwrite/collision behavior for an existing slot file is missing.

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 description coverage is 100%, so the baseline is 3. The description restates the slot values already enumerated in the schema and does not clarify the keyword override or the hex format handling, so it adds little meaning beyond structured data.

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 specific verbs (fetch, recolor) and the resource (Lottie animation from LottieFiles), plus the exact output destination (Resources/Animations/<slot>.json). This is clearly distinguishable from the many sibling setup/build/deliver tools.

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?

The 'Use when:' clause gives concrete context — once per slot (loading, success, empty, onboarding_hero) for every app — and explains downstream rendering via lottie-spm. It stops short of naming an alternative tool or stating when not to use it, so it is clear but not fully routing-aware.

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

Deploy Server

Other Tools