Skip to main content
Glama
jhauga
by jhauga

Create animation card

create_animation_card

Creates animated cards that turn explanations, walkthroughs, and data stories into short video clips. Animates text, shapes, and charts as 16:9 scenes when motion communicates better than static content.

Instructions

Render a short animated clip as a card when no direct video URL exists but motion would communicate better than static content - explanations, walkthroughs, and data stories. Scenes play sequentially in a 16:9 stage with play/pause, replay, and progress controls; everything is generated text, SVG shapes, and CSS animation (no external assets). Compose classic clip patterns and vary them per conversation: title reveal into bullet build (fade/slide), diagram walk-through with arrows tracing in (draw), a chart that zooms into the label range under discussion and back out (chart.zoom), and a closing takeaway scene (zoom). Mix scene kinds freely; per-scene transition and duration make endless variations from the same schema.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
loopNoRestart from scene 1 after the last scene
titleYes
scenesYes
autoplayNoStart playing on render (default true)
subtitleNo
tutorTermsNoEducational tutor terms. The first occurrence of each term in the card's visible prose is underlined; hovering ~1.2s shows the tip and notifies the host so the model can follow up. Terms are matched once per card, longest first, and never inside code samples, tooltips, or another term's tip. Matching is CASE-SENSITIVE, so "PATH" does not attach its tip to a filesystem "path"; set caseInsensitive on a term to match any casing. Term and tip are PLAIN text.
contextActionsNoRight-click menu actions the model anticipates being useful. Choosing one sends its prompt to the conversation; use {{selection}} to include the user's selected text.
sceneDurationMsNoDefault per-scene duration in ms (default 3500)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cardYes
partsYesSplit state, present on EVERY card result so one completeness check works for all card types. Cards that cannot split always report {current:1,total:1,hasMore:false}; create_markdown_card and create_code_tour_card pack oversized content into parts and can report more. Read hasMore rather than the card title to decide whether content was withheld.
Behavior4/5

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

With no annotations, the description carries the full burden (baseline 3). It goes beyond by disclosing: scenes play sequentially in a 16:9 stage with controls, everything is procedurally generated (text, SVG shapes, CSS animation) with no external assets, and shows how to handle variations via per-scene transitions/durations. It misses some edge cases (e.g., what happens if scenes is empty – though schema enforces minItems 1), but the disclosed behavioral traits are rich and accurate.

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?

The description is substantial but every sentence earns its place, covering what, why, and how to compose scenes. It could arguably be front-loaded more (the key 'when to use' is first, which is good). Minor deduction for density - an agent might need to parse carefully - but no fluff.

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?

Given the tool's complexity (nested scenes, transitions, shapes, charts) and the rich schema, the description does an excellent job of tying it together. It explains the animation model (sequential scenes, transitions), provides patterns (title reveal, chart zoom), and even implies limits (no external assets means you can't rely on images). Not a 5 because it doesn't explicitly document error cases or fallbacks, but for the complexity it covers the essentials well.

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 63%, so the schema itself documents most parameters. The description adds value by implying how scenes (structure of shapes, bullets, chart) relate to the animation, and clarifies the 'no external assets' constraint that affects how to fill scene content. However, it does not directly explain the semantics of properties like durationMs, loop, or autoplay beyond what the schema already states, so it doesn't fully bridge the 37% gap.

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 uses a specific verb ('Render'), identifies the resource (a short animated clip as a card), and clearly distinguishes when to use it: when no direct video URL exists but motion would communicate better. It also differentiates from siblings like create_video_card by emphasizing generated content (text, SVG, CSS) over external assets, which is a strong differentiator visible in the sibling list.

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?

The first sentence explicitly states the primary use case and contrasts with the alternative ('when no direct video URL exists'). It also gives composition guidance ('Compose classic clip patterns and vary them per conversation') and lists concrete examples that heavily imply when to use this over a static card. While it doesn't name a specific sibling, the 'no direct video URL' contrast with create_video_card is an explicit exclusion condition.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jhauga/mcp-chat-cards'

If you have feedback or need assistance with the MCP directory API, please join our Discord server