io.github.MasterPlayspots/motionspec

MotionSpec — web animation accessibility MCP

Web animation accessibility MCP: GSAP, static CSS checks, prefers-reduced-motion, WCAG 2.2.2/2.3.3.

Endpointhttps://api.motionspec.dev/mcp (streamable-http)
Registry version1.2.12
Now5 tools · grade B (81) · pin ts_c1823244027dc1f440cd261a0ae7f32a · protocol 2025-06-18
First / last listed2026-11-10 01:09 UTC / 2026-11-10 01:09 UTC
Grade over time2026-11-10: B (81), 5 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-11-10 01:09 UTC
5 tools, grade B (81)

Tools: motion_catalog motion_validate motion_compile motion_audit motion_stats

Current tools (5)

motion_catalogReturns the catalog of verified motion primitives (names, purpose, parameter schemas, defaults) plus the authoring rules for writing a MotionSpec. Call this FIRST, then write the spec yourself, check it with motion_validate and compile it with motion_compile. Free motion check: https://motionspec.dev/motion-check · paid Motion Report (9 USD, one-time): https://motionspec.dev/pricing?src=mcp-motion
params: none
motion_validateChecks a MotionSpec against the schema, the primitive allow-list, parameter bounds and injection rules. Fail-closed: returns ok=false with precise errors. Returns {ok, errors, warnings, deprecations, catalogVersion}. IMPORTANT: warnings[] carries the WCAG 2.2.2 / reduced-motion findings and can be non-empty while ok=true — a spec that compiles is not automatically accessible. Use to pre-check a sp
params: spec*
motion_compileValidates (fail-closed) and deterministically compiles a MotionSpec into vanilla-GSAP JavaScript and CSS, with prefers-reduced-motion enabled by default and a performance-budget report. Same spec always yields identical code. Returns {ok:true, js, css, warnings, report, catalogVersion} or {ok:false, errors, catalogVersion}; css may be null when no CSS is emitted. Read warnings before shipping: exp
params: spec*, specName
motion_auditStatic motion-a11y checker: fetches a URL's HTML + linked stylesheets (up to 12 sheets, 2 MB per response, 8 s timeout) and scans the CSS for (1) animation/transition that moves without an effective (cascade-aware) prefers-reduced-motion guard, (2) animated non-transform/opacity properties, (3) infinite animations with no pause path, (4) <marquee>/autoplay >5s. Colour/opacity-only transitions are
params: url*
motion_statsOperator telemetry of the hosted service (not your own usage); needs the operator key (header x-motionspec-key). This unauthenticated call returns access information only; it does not compile code, fetch URLs, run an audit or read usage data. Arguments are optional and unused. Returns isError:true with structuredContent {ok:false, error:'KEY_REQUIRED', tool, freeLocalAlternative} and text guidance
params: none

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.