MotionSpec — web animation accessibility MCP
io.github.MasterPlayspots/motionspecVersion 1.2.12Web animation accessibility MCP: GSAP, static CSS checks, prefers-reduced-motion, WCAG 2.2.2/2.3.3.
Status
Responds322 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:39 UTC
- Latency
- 322 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://api.motionspec.dev/mcpResponds322 msNo sign-in
Claude Code
claude mcp add --transport http motionspec https://api.motionspec.dev/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: motionspec
Remote MCP server URL: https://api.motionspec.dev/mcpCursor
{
"mcpServers": {
"motionspec": {
"url": "https://api.motionspec.dev/mcp"
}
}
}VS Code
code --add-mcp '{"name":"motionspec","type":"http","url":"https://api.motionspec.dev/mcp"}'Streamable HTTP
npm: motionspec 1.2.12Package only
npm (npx)
claude mcp add motionspec -- npx -y motionspec@1.2.12Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
5 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
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 not motion (WCAG 2.3.3). Uses scoring v2. Same engine and scoring as the free site check at https://motionspec.dev/motion-check. Returns structuredContent {ok, url, status, score, scoring, scoring_doc, findings, groups, summary, badge, disclosures, coverage} plus a Markdown report in text content, or {ok:false, error} with isError:true on failure. Read status first: pages without CSS motion return status 'not-measurable' with score null; runtime motion such as WAAPI/GSAP/WebGL is not audited. Loading indicators are reported as 'review', not as violations; verify them manually. The 'reduced-motion-safe' badge requires a measurable page with zero findings and no detected runtime motion library. Does network I/O (openWorldHint). | Not declared | Yes | Not declared | Yes |
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_catalog#p-report. | Not declared | Yes | Not declared | No |
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: explicitly disabling reduced-motion or loop pause controls can compile with accessibility warnings. Does not write files or execute the emitted code. | No | Yes | Yes | No |
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. For your own local activity use 'npx -p motionspec motion stats' (MIT). It reads this machine's local activity, not hosted usage. | Not declared | Yes | Not declared | No |
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 spec before compiling. | Not declared | Yes | Not declared | No |
Details
- Registry status
- Active
- Published
- Nov 2, 2026
- Updated
- Nov 2, 2026
- Categories (suggested)
- Design and mediaSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared