Hallucination-proof scroll motion: LLM writes validated specs, deterministic GSAP/CSS compiler.
MotionSpec MCP server is a hosted integration for AI assistants that speak the Model Context Protocol. Hallucination-proof scroll motion: LLM writes validated specs, deterministic GSAP/CSS compiler.
Run it two ways: as a keyless MCP server any LLM host can call (npx motionspec), or as a CLI compiler in your build (motion compile spec.json). Either way you keep plain files — a GSAP build or a dependency-free WAAPI/CSS lowering. MIT core. Docs: https://motionspec.dev
Once MotionSpec is connected, these are the calls the assistant has available:
Version — v1.2.6 · schema frozen at spec v1 (ADR-0001, signed)Published — npm motionspec (82 kB packed, 67 files, nothing dev-only ships) · MCP RegistryTests — 295 green — injection attacks, 6000-spec fuzz, golden determinism, schema parity, pause-controls, motion-a11y audit · CI on Node 18/20/22 + x86Catalog — 40 primitives, every one device-verified, reduced-motion-fallback mandatory; the 18 continuous loops also carry a WCAG-2.2.2 pause pathCoverage — ≈99% lines / ≈98% functions / ≈80% branches of src/ + worker/ (CI gate: 90/90/75)motion_catalog — primitives + authoring rules + catalog version (16-hex pin)motion_validate — fail-closed Trust Boundary; precise [MS-XXX] errors; surfaces deprecationsmotion_compile — deterministic spec → code; never emits on a failed validationmotion_audit — static motion-a11y check of a live URL (read-only, open-world)motion_stats — telemetry summary (escalations = catalog growth signal)You will need 3 environment variables: MOTION_API_KEY, OPENROUTER_API_KEY, MOTION_BASE_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.
This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. MotionSpec's toolset — Version, Published, Tests and 7 more — is a fair guide to whether it matches your workflow. It is maintained by MasterPlayspots; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against MotionSpec's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| Version | **v1.2.6** · schema frozen at spec v1 (ADR-0001, signed) |
| Published | **npm motionspec** (82 kB packed, 67 files, nothing dev-only ships) · MCP Registry |
| Tests | **295 green** — injection attacks, 6000-spec fuzz, golden determinism, schema parity, pause-controls, motion-a11y audit · CI on Node 18/20/22 + x86 Playwright e2e |
| Catalog | **40 primitives**, every one device-verified, reduced-motion-fallback mandatory; the 18 continuous loops also carry a WCAG-2.2.2 pause path |
| Coverage | ≈99% lines / ≈98% functions / ≈80% branches of src/ + worker/ (CI gate: 90/90/75) |
| motion_catalog | primitives + authoring rules + catalog version (16-hex pin) |
| motion_validate | fail-closed Trust Boundary; precise [MS-XXX] errors; surfaces deprecations |
| motion_compile | deterministic spec → code; never emits on a failed validation |
| motion_audit | static motion-a11y check of a live URL (read-only, open-world) |
| motion_stats | telemetry summary (escalations = catalog growth signal) |
{
"mcpServers": {
"motionspec": {
"command": "npx",
"args": ["-y", "motionspec"],
"env": {
"MOTION_API_KEY": "your-value",
"OPENROUTER_API_KEY": "your-value",
"MOTION_BASE_URL": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| MOTION_API_KEY | Credential the server authenticates with. | Yes |
| OPENROUTER_API_KEY | Credential the server authenticates with. | Yes |
| MOTION_BASE_URL | Endpoint or connection string the server talks to. | Yes |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.