MotionSpec — web animation accessibility MCP
Server Details
Web animation accessibility MCP: GSAP, static CSS checks, prefers-reduced-motion, WCAG 2.2.2/2.3.3.
- Status
- Healthy
- Uptime
- 100.0% over 55 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- MasterPlayspots/motionspec
- GitHub Stars
- 0
- Server Listing
- motionspec
TDQS
Scored across 5 tools
Each tool has a distinct core purpose: catalog (lookup), validate (pre-check), compile (codegen), audit (external URL scan), stats (telemetry). motion_validate and motion_compile overlap since compile also validates fail-closed, but descriptions clarify validate is a pre-check and compile produces artifacts, so confusion is limited.
All five tools use a consistent motion_ prefix with lowercase snake_case nouns/verbs (audit, catalog, compile, stats, validate). The pattern is predictable and uniform throughout.
Five tools is well-scoped for a motion verification/compilation service, covering discovery, validation, codegen, auditing, and telemetry without redundancy. Each tool clearly earns its place.
The lifecycle covers discover (catalog) → check (validate) → build (compile) → audit-existing (audit) plus telemetry, which is coherent. There is no explicit spec-authoring/fetch tool, but the design intends the agent to write specs itself, so this is a minor rather than blocking gap.
Available Tools
5 toolsmotion_auditAudit a live URL for motion accessibility (WCAG 2.2.2 / 2.3.3)Read-onlyInspect
Requires a Dev Key ($39/mo) or Agency plan ($249/mo) on the hosted endpoint (motionspec.dev/pricing?src=mcp). 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:'PAYWALL', tool, upgrade} and text guidance. To use motion_audit on the hosted endpoint, connect with an x-motionspec-key header. Run the static URL audit locally for free with 'npx -p motionspec motion audit --json' (MIT).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The page URL to audit (http/https). |
motion_catalogMotionSpec catalog & authoring rulesARead-onlyInspect
Returns 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 and validate it with motion_validate (motion_compile runs in the CLI or with a key on the hosted endpoint). Free motion check: motionspec.dev/motion-check · keys for the hosted endpoint: motionspec.dev/pricing?src=mcp.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: it is a bootstrap/discovery call that returns definitions rather than performing work, and it discloses that motion_compile requires the CLI or a hosted key.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what is returned, then the call order, then the compile caveat. The trailing promotional URLs (motion-check, pricing) are useful pointers but slightly dilute the definition; the substance is still tight and well ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating the return contents (names, purpose, schemas, defaults) and the authoring rules. Combined with the sequencing guidance and the compile auth caveat, an agent has everything needed to use it correctly in the workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to document and the baseline of 4 applies. The description correctly implies no input is needed to retrieve the catalog.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (returns) and resource (the catalog of verified motion primitives) and enumerates the payload (names, purpose, parameter schemas, defaults) plus the authoring rules for a MotionSpec. It also implicitly distinguishes itself from siblings by naming motion_validate and motion_compile as downstream steps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit sequencing instruction ('Call this FIRST, then write the spec yourself and validate it with motion_validate') and clarifies where motion_compile actually runs (CLI or hosted endpoint with a key). An agent knows both when to call it and which sibling to use next.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
motion_compileCompile a MotionSpec to GSAP/CSSRead-onlyInspect
Requires a Dev Key ($39/mo) or Agency plan ($249/mo) on the hosted endpoint (motionspec.dev/pricing?src=mcp). 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:'PAYWALL', tool, upgrade} and text guidance. To use motion_compile on the hosted endpoint, connect with an x-motionspec-key header. motion_compile runs locally for free with 'npx -p motionspec motion compile <spec.json>' (MIT).
| Name | Required | Description | Default |
|---|---|---|---|
| spec | No | The MotionSpec JSON object | |
| specName | No | Optional name used in the artifact header |
motion_statsMotionSpec usage telemetryRead-onlyInspect
Requires a Dev Key ($39/mo) or Agency plan ($249/mo) on the hosted endpoint (motionspec.dev/pricing?src=mcp). 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:'PAYWALL', tool, upgrade} and text guidance. To use motion_stats on the hosted endpoint, connect with an x-motionspec-key header. Read local telemetry for free with 'npx -p motionspec motion stats' (MIT). This reads this machine's local activity, not hosted usage.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
motion_validateValidate a MotionSpec (trust boundary)ARead-onlyInspect
Checks 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.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | The MotionSpec JSON object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnlyHint and openWorldHint annotations by disclosing fail-closed behavior, the exact return shape, and the non-obvious fact that warnings can be non-empty while ok=true. It also explains the accessibility implication, which is critical for correct agent behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with the core validation behavior stated first, followed by the return shape and the critical warning caveat. Every sentence earns its place, and the formatting highlights the most important behavioral nuance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only validation tool with no output schema, the description fully covers what the tool does, when to use it, what it returns, and the key failure and warning semantics. An agent has sufficient information to select and invoke it correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single parameter is 100%, so the baseline is 3. The description adds meaningful semantics by clarifying that the spec parameter is a MotionSpec and by enumerating the validation dimensions applied to it, such as the primitive allow-list and injection rules, which the schema alone does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Checks') and a specific resource ('MotionSpec'), then enumerates exactly what it validates against: schema, primitive allow-list, parameter bounds, and injection rules. It clearly distinguishes itself from the sibling motion_compile by positioning validation as a pre-compile safety check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use to pre-check a spec before compiling,' which gives clear guidance on when to call this tool. It also explains the important warning behavior so an agent knows this is the right tool for accessibility checks before compilation, though it does not explicitly name or exclude alternatives beyond the pre-compile framing.
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.
3 tool updates
- Added
motion_audit - Added
motion_compile - Added
motion_stats
2 tool updates
- First observed
motion_catalog - First observed
motion_validate
Related MCP Connectors
Free WCAG 2.2/ADA/508 accessibility MCP: scan, AI fixes, verify, vision audit, localhost tunnel
Real-browser WCAG audit that also finds keyboard-inoperable controls axe-core misses, with fixes.
Accessibility compliance for AI coding tools. WCAG 2.2 reviews with shared evidence.
網頁動畫工具箱:CSS 動畫、easing、影片壓縮與互動設計。台灣繁體中文 MCP 工具。
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceA local/global MCP server that enables AI agents to generate GSAP v3 animation code, search documentation, validate CSS selectors, and provide best practice guidance.-
- AlicenseAqualityAmaintenanceMotionLint measures the motion your app actually ships — durations, easing curves, stagger intervals, exit timing, reduced-motion support — and scores it against a published set of animation standards with vision LLM.548 npmMIT
- FlicenseBqualityDmaintenanceAnalyzes scroll-triggered animations on any webpage using Playwright, extracting GSAP, ScrollTrigger, Lenis, and CSS code via AST and runtime detection.16-
- AlicenseCqualityDmaintenanceEnables Claude Code to create and manage GSAP animations, including timelines, scroll triggers, and performance optimization.152 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.