Skip to main content
Glama
glaxnimate-mcp-server

glaxnimate-mcp-server

by SankofaForge

Glaxnimate 호환 SVG 애니메이션 MCP

이 로컬 MCP 서버는 SVG 아트워크를 검사하고 안정적인 ID를 가진 요소에 SMIL 키프레임을 추가합니다. LLM 워크플로를 위해 설계되었습니다: 구조화된 SVG 생성, 그룹 검사, 모션 추가, 그 결과를 Glaxnimate에서 열거나 웹에서 직접 사용.

Glaxnimate는 소스 트리에 헤드리스 Python API가 있지만, 게시된 Python 패키지는 현재 Windows 전용입니다. 따라서 이 서버는 사용할 수 없는 Glaxnimate 설치를 제어하는 척하는 대신 휴대용 SVG 애니메이션 프리미티브를 사용합니다. 생성된 SVG 파일은 Glaxnimate에서 계속 편집할 수 있습니다.

도구

  • glaxnimate_inspect_svg는 SVG ID와 해당 ID가 참조하는 요소를 나열합니다.

  • glaxnimate_animate_svg는 이동, 회전, 크기 조절, 불투명도, 경로 모프, stroke-dashoffset에 대한 SMIL 애니메이션을 추가합니다.

glaxnimate_animate_svg는 축소 모션 처리를 위해 애니메이션 SVG와 원본 SVG를 모두 반환합니다. 호스트 페이지가 prefers-reduced-motion: reduce를 감지하면 정적 버전을 사용하세요.

Related MCP server: text2animate

설치

이 프로젝트는 Python 3.11 이상이 필요합니다. 저장소 체크아웃에서 가상 환경을 만들고 패키지를 설치하세요:

python -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install .

MCP 클라이언트가 stdio를 통해 glaxnimate-mcp를 실행하도록 구성하세요. JSON 구성을 허용하는 클라이언트의 경우 명령은 다음과 같습니다:

{
  "command": "glaxnimate-mcp"
}

검증

저장소 루트에서 단위 테스트를 실행하세요:

PYTHONPATH=src python -m unittest discover -s tests -v

라이선스

MIT

Available Tools

2 tools
glaxnimate_animate_svgA

Add standards-based SMIL keyframes to a custom SVG.

Each animation needs target_id, property, and values. Property is translate, rotate, scale, opacity, path, or stroke-dashoffset. Use values such as ["0 0", "120 0"] for translate, ["0", "1"] for opacity, or compatible SVG path data for path. duration_ms, begin_ms, repeat_count, and key_times are optional.

The response contains animated_svg for the normal experience and the unchanged reduced_motion_svg for consumers that honor prefers-reduced-motion.

NameRequiredDescriptionDefault
svgYes
animationsYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the output shape (animated_svg plus unchanged reduced_motion_svg), the required animation fields, allowed property types, and optional timing parameters. It does not discuss error behavior, but the main behavioral surface is transparent.

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?

The description is compact and information-dense: one sentence states purpose, one lists required and optional animation keys, one gives value examples, and one states the response fields. Every sentence earns its place and nothing is padded.

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 minimal input schema, the description is unusually complete: an agent knows how to construct the animations array and what to expect in the response. The only minor gap is the absence of explicit value formatting for rotate and scale, but the stated examples and property list are sufficient for a competent call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the animations array items are completely open objects (additionalProperties: true). The description compensates by defining exactly what each animation needs: target_id, property, values, plus optional duration_ms, begin_ms, repeat_count, and key_times. It also gives concrete value examples for translate, opacity, and path, without which the tool would be nearly uninvokable.

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 opens with a specific verb and resource: 'Add standards-based SMIL keyframes to a custom SVG.' This clearly distinguishes it from the sibling glaxnimate_inspect_svg, which is for inspection rather than animation.

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 tool is clearly scoped to modifying/annotating an SVG with SMIL keyframes. It does not explicitly say 'use inspect_svg when you only need to inspect,' but the sibling name and the action verb make the divide obvious enough that an agent can choose correctly.

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

glaxnimate_inspect_svgA

Inspect an SVG and list the element IDs that can receive animation keyframes.

Give generated artwork stable, semantic IDs such as character, arm-left, eye-right, or background before calling this tool. The result confirms which IDs are available.

NameRequiredDescriptionDefault
svgYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavior disclosure. It describes a read-only inspection and the outcome, but does not explicitly state that the SVG is not modified, nor does it mention edge cases like missing IDs or invalid SVG input.

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?

The description is short, front-loaded with the core purpose, and adds one actionable pre-call instruction. Every sentence contributes value without redundancy.

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?

For a simple one-parameter inspection tool with an output schema, the description provides enough context: what the tool does, what input it expects conceptually, and how to prepare artwork for useful results. It does not need to detail return values because an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented 'svg' parameter. It only says 'Inspect an SVG' and references generated artwork, but does not clarify expected SVG format, source, or how the parameter should be provided.

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 clearly states a specific action ('Inspect an SVG') and a concrete result ('list the element IDs that can receive animation keyframes'). This distinguishes it from the sibling glaxnimate_animate_svg, which presumably performs animations rather than inspecting them.

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 description gives explicit pre-call guidance: assign stable semantic IDs before invoking the tool. It implies the tool is used to confirm available animation targets, though it does not explicitly name alternatives or describe when not to use it.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.1.0
    • First observedglaxnimate_animate_svg
    • First observedglaxnimate_inspect_svg

TDQS

A4.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have completely distinct purposes: one inspects the SVG to list available element IDs, and the other adds animations to those elements. There is no overlap or ambiguity.

Naming Consistency5/5

Both tools follow the same glaxnimate_ verb_noun pattern (inspect_svg, animate_svg), making the naming predictable and consistent.

Tool Count3/5

Two tools feels thin for a full animation server, but the narrow workflow of inspect-then-animate is sufficiently focused for a minimal purpose. It sits at the borderline end of the scale.

Completeness3/5

The core workflow (identify targets, add keyframes) is covered, but there are no tools for removing or updating existing animations, or for managing animation timelines. This leaves notable gaps for iterative editing.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Deterministic motion compiler + validator for AI-generated web apps: validated MotionSpec JSON compiles to reduced-motion-safe GSAP/CSS. Reports WCAG 2.2.2 pause-path candidates; missing reduced-motion guards flagged as 2.3.3/AAA best practice. Keyless read-only MCP tools: motion_catalog + motion_validate; compile/audit/stats need a key (full toolset free locally: npx motionspec). MIT core on npm.
    5
    165 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to browse, inspect, edit, create, and export SVGator projects, handling everything from simple color edits to complex animated exports.
    5
    -