text2animate
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| T2A_MCP_TARGET | No | Where register writes the MCP entry. | <repo-parent>/.mcp.json |
| TEXT2ANIMATE_PORT | No | Preferred preview port (walks upward if taken). | 4321 |
| T2A_NO_AUTO_REGISTER | No | Set to skip auto-registration on npm install. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_best_practicesA | Return the guidelines for composing and animating SVGs. Read this before generating an animation. Pass a |
| list_stylesA | List the built-in animation style presets. You can also pass any freeform style phrase to create_animation/get_best_practices. |
| create_animationA | Render a self-contained animated SVG in the local preview UI and open it in the browser. First compose the scene as a layered SVG with an explicit viewBox, then animate it with CSS @keyframes (or SMIL) embedded in the SVG, using natural easing. Call get_best_practices (optionally with a style) first if you need the full guidance. Pass the same |
| list_animationsB | List animations created this session, newest first. |
| await_edit_requestA | Long-poll for the next change the user typed into the preview UI's chat box. This is how live edits work: call it, and it blocks until a request arrives (or ~25s passes). When it returns an edit, apply the change FAST: for small tweaks (color, size, position, timing, text, easing) call apply_patch with minimal find/replace edits — do NOT regenerate the whole SVG. Use apply_edit (full SVG) only for structural changes. Then call await_edit_request again to keep watching. When it returns 'idle', simply call it again. Keep this loop running while the user iterates. |
| apply_editB | Apply a regenerated SVG to the animation referenced by an edit request (from await_edit_request). Updates the animation in place — the preview UI refreshes live. Pass the complete new . |
| apply_patchA | Apply small find/replace edits to an animation's SVG in place — the fast path for tweaks like color, size, position, timing, text, or easing. Prefer this over apply_edit: it avoids resending the whole document. Each |
| open_previewA | Ensure the preview web server is running and open it in the browser. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| animate | Turn a plain-language description into an animated SVG following best practices, then preview it. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| animation-best-practices | How to craft high-quality animated SVGs for text2animate. |
TDQS
Scored across 8 tools
Each tool targets a distinct action: applying full SVGs, patching, polling user edits, creating animations, fetching guidelines, listing animations/styles, and opening preview. No overlap in purpose.
All tool names follow a consistent verb_noun pattern with underscores (e.g., apply_edit, list_animations, open_preview), making them predictable and easy to understand.
8 tools cover the full workflow of creating, editing, listing, and previewing animations without excess. The scope is well-defined and each tool earns its place.
Core CRUD operations are covered except for explicit deletion or retrieval of a single animation. The interactive edit loop is robust, but missing a delete tool is a minor gap.