MotionSpec — verified web motion (reduced-motion / WCAG)
Server Details
Deterministic motion compiler + validator: reports WCAG 2.2.2 pause-path candidates, fail-closed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- MasterPlayspots/motionspec
- GitHub Stars
- 0
- Server Listing
- motionspec
Available Tools
5 toolsmotion_auditAudit a live URL for motion accessibility (WCAG 2.2.2 / 2.3.3)ARead-onlyInspect
Requires a Dev Key ($39) or Agency plan ($249/mo) on the hosted endpoint (motionspec.dev/pricing). Static motion-a11y checker: fetches a URL's HTML + linked stylesheets and scans the CSS for (1) animation/transition without a prefers-reduced-motion guard, (2) animated non-transform/opacity properties, (3) infinite animations with no pause path, (4) /autoplay >5s. Runtime motion (WAAPI/GSAP/JS) is disclosed as 'not audited (V2)'. Returns {ok, score, findings, summary, badge, disclosures, markdown}; a clean site earns the badge 'reduced-motion-safe'. Does network I/O (openWorldHint).
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The page URL to audit (http/https). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly says 'Does network I/O (openWorldHint)' while the annotations declare openWorldHint: false. This is a direct contradiction. It otherwise adds useful details such as the paid-plan requirement and the exact return object, but the contradiction forces a 1 per the scoring rubric.
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?
Dense but well organized: prerequisite is front-loaded, the four checks are numbered, runtime limitations are disclosed, and the return shape is compactly listed. It is longer than the average description, but nearly every clause carries useful information.
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?
Given a single parameter and no output schema, the description covers inputs, the four audit criteria, the runtime limitation, the return object, and the badge criterion. It doesn't explain score ranges or findings structure, but for this tool's complexity it is largely complete. The openWorldHint contradiction is a notable correctness gap.
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 is 100% and the only parameter, url, is already described in the schema as 'The page URL to audit (http/https)'. The description adds context about fetching the URL's HTML and stylesheets but does not add new parameter-level constraints or semantics beyond the schema.
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 ('audit'), resource ('a live URL'), and the exact accessibility goal (motion accessibility, WCAG 2.2.2 / 2.3.3). It enumerates four distinct CSS checks, making the tool's scope unambiguous and separating it from sibling tools by explicitly marking it as a static checker.
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?
Clearly frames the tool as a static CSS-only motion-a11y checker, notes that runtime motion (WAAPI/GSAP/JS) is not audited, and gives a pricing prerequisite. It does not explicitly name alternatives or state when not to use it, but the static-vs-runtime distinction is strong contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| 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 description's claim of 'returns the catalog' is consistent and adds no contradiction. The description provides extra context such as free check links and pricing for the hosted endpoint, which is useful for the agent to understand external dependencies. Since the read-only behavior is already covered by annotations, the extra content is a positive addition, though not strictly behavioral.
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 front-loaded with the core purpose in the first sentence, followed by ordering guidance and external links. It is three sentences and relatively efficient; the pricing link and 'free motion check' are somewhat tangential to the tool's invocation but still useful context. The structure is clean and not overly verbose, so a 4 is appropriate.
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 carries the full burden of explaining the result content. It clearly states that the catalog includes names, purpose, parameter schemas, and defaults, plus authoring rules. It also gives order-of-use and validation guidance, which is essential for the agent. The description is sufficient for an agent to know what to expect and how to use the tool first.
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 has zero parameters, so the description adds no parameter-specific semantics. With schema coverage at 100% (vacuously), the baseline for zero parameters is 4, and no additional parameter explanation is needed. The description's mention of 'parameter schemas' in the catalog result is context, not parameter documentation.
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 clearly states the tool's function: returning a catalog of motion primitives with names, purpose, parameter schemas, defaults, and authoring rules. It explicitly names motion_validate as the validation step, providing some sibling differentiation. However, it does not contrast with motion_audit, motion_stats, or motion_compile, relying mostly on their distinct names and the 'call this FIRST' instruction to distinguish them.
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 instructs 'Call this FIRST, then write the spec yourself and validate it with motion_validate,' giving very clear ordering and next steps. It also indicates that motion_compile requires a CLI or a hosted endpoint key, which informs the agent about downstream usage requirements. It does not contain any when-not-to-use conditions or alternatives beyond the one sibling mentioned, but the overall guidance is effective.
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/CSSARead-onlyInspect
Requires a Dev Key ($39) or Agency plan ($249/mo) on the hosted endpoint (motionspec.dev/pricing); runs locally for free with 'npx -p motionspec motion compile <spec.json>' (MIT). Validates (fail-closed) and deterministically compiles a MotionSpec into production-ready vanilla-GSAP JavaScript and CSS, with enforced prefers-reduced-motion fallbacks and a performance-budget report. Same spec always yields identical code. Returns {ok, js, css, report} or {ok:false, errors}.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | No | The MotionSpec JSON object | |
| specName | No | Optional name used in the artifact header |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, it discloses determinism, fail-closed validation, reduced-motion enforcement, performance reporting, and the exact return shape ({ok, js, css, report} or {ok:false, errors}). No annotation contradiction exists.
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?
Four dense sentences contain no filler, and the critical operational constraints (cost/local option, validation, output) are each conveyed once. The return contract is compactly and clearly stated.
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 deterministic compiler tool, the description covers prerequisites, local alternative, validation semantics, output artifacts, and error form even without an output schema. An agent has enough to select and invoke it correctly.
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 is 100%, so the schema already documents spec and specName. The description does not add parameter-level detail beyond the schema, which is acceptable but not value-adding; the baseline of 3 applies.
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 names a concrete action (deterministically compiles) and resource (MotionSpec) with a specific output (vanilla-GSAP JavaScript and CSS). It clearly differs from sibling tools like motion_validate or motion_audit by stating it produces code, not just validation or analysis.
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?
It gives explicit prerequisites (hosted Dev Key/Agency plan vs free local npx command) and states fail-closed behavior, which tells an agent when the compile will fail. It does not explicitly name sibling alternatives or say when to prefer motion_validate/audit, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
motion_statsMotionSpec usage telemetryARead-onlyInspect
Requires a Dev Key ($39) or Agency plan ($249/mo) on the hosted endpoint (motionspec.dev/pricing). Summary of routing/compile telemetry (counts per outcome). Escalation clusters indicate which new primitive the catalog needs next.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true, and the description adds access/plan requirements and clarifies the output type ('counts per outcome'). This goes beyond the structured fields without contradicting them.
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?
Three short sentences, each carrying relevant information: access requirement, telemetry summary, and interpretation of escalation clusters. The core purpose is slightly delayed by the pricing sentence, so it is not fully front-loaded.
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 zero-parameter read-only tool without an output schema, the description covers access, the response shape in broad terms, and the meaning of escalation clusters. It would be more complete with a little more detail on the shape of the response, but it is sufficient for invocation.
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?
There are no parameters to document, so the baseline of 4 applies. The description does not need to add parameter-level meaning.
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 clear resource — routing/compile telemetry — and defines the result as a summary with counts per outcome. It is distinguishable from siblings via the word 'telemetry', though it does not explicitly contrast with motion_audit or motion_validate.
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?
Usage context is implied: 'Escalation clusters indicate which new primitive the catalog needs next' suggests it is for catalog planning, and the Dev Key/Agency plan requirement sets access conditions. However, there is no explicit 'when to use vs motion_audit/motion_validate' guidance or exclusion of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 annotation by disclosing fail-closed behavior ('returns ok=false with precise errors') and the critical warning semantics that warnings[] can be non-empty while ok=true, tying it to WCAG 2.2.2/reduced-motion. This is genuinely valuable behavioral context that annotations alone do not provide.
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 dense and efficient: the first sentence states the core action, the second explains fail-closed and returns, and the third highlights the critical accessibility nuance. Every sentence earns its place with no redundant or filler wording.
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?
Despite having no output schema, the description explicitly enumerates the return shape ({ok, errors, warnings, deprecations, catalogVersion}) and explains the non-obvious semantics (warnings non-empty with ok=true). Combined with the single well-documented parameter and clear annotations, this gives an agent everything needed to invoke and interpret the tool correctly.
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 input schema already has 100% coverage for the single 'spec' parameter with a description, so the baseline is 3. The tool description adds high-level validation context (what is checked) but does not add specific parameter syntax or formatting details beyond the schema, so no score above the baseline is warranted.
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 uses a specific verb ('Checks') and clearly identifies the resource being validated (a MotionSpec), listing the exact validation dimensions: schema, primitive allow-list, parameter bounds, and injection rules. This also distinguishes it from the sibling motion_catalog by making clear this is a validation/trust-boundary tool, not a catalog lookup.
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 provides explicit guidance on when to use the tool: 'Use to pre-check a spec before compiling.' This gives clear context and a practical usage trigger. It does not explicitly name alternatives or state when not to use it, but the guidance is strong enough for an agent to select it appropriately.
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. Dates show when Glama detected each change.
3 tool updates
- Added
motion_audit - Added
motion_compile - Added
motion_stats
2 tool updates
- First observed
motion_catalog - First observed
motion_validate
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Real-browser WCAG audit that also finds keyboard-inoperable controls axe-core misses, with fixes.
Accessibility pre-checks (WCAG/BFSG) in a real browser + statement drafts. Pay per call.
Deterministic axe-core accessibility scans (WCAG 2.1 AA, EN 301 549, PDF/UA) via your account.
Scan URLs for WCAG 2.1 violations, generate AI fixes, and produce VPAT 2.5 compliance reports.
Related MCP Servers
- 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.559MIT
- AlicenseNot gradedqualityBmaintenanceAutonomous WCAG 2.1 accessibility auditor that scans, fixes, re-verifies, and generates VPAT 2.5 EN 301 549 reports using AI vision analysis + DOM scanning.11,5021MIT
- AlicenseNot gradedqualityDmaintenanceValidates text accessibility (contrast, spacing, language) against WCAG 2.1 criteria via modular MCP tools.152MIT
- FlicenseNot gradedqualityDmaintenanceEnables automated WCAG 2.2 AA accessibility audits of Figma designs and webpages. Generates detailed markdown reports with severity-grouped violations, specific criterion references, and concrete fix recommendations.-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct phase in the motion-spec workflow: auditing a live URL, browsing the primitive catalog, validating a spec, compiling it, and viewing telemetry. The only potential overlap is that compile also validates, but the descriptions clearly separate validation as a pre-check and compile as the code-generation step.
All tools share the consistent 'motion_' prefix, making the family instantly recognizable. The second part mixes verbs (audit, compile, validate) with nouns (catalog, stats), which is a minor deviation from a strict verb_noun pattern but still predictable and easy to navigate.
Five tools is a well-scoped set for a domain focused on authoring, validating, compiling, auditing, and monitoring motion specs. Each tool earns its place and the count is squarely in the ideal range for a cohesive server.
The core lifecycle is covered: discover primitives, validate, compile, audit external sites, and review telemetry. The main gap is runtime-motion auditing, which is explicitly deferred to V2, and there is no tool for managing/deploying compiled specs, but these are minor and don't block the primary workflow.