Motion Menu

Give your agent a motion director.

Motion Menu is the interaction layer your component library stops short of: working scroll scenes, shaders, WebGL, seams, product tools and the quiet motion that makes a whole page feel composed. Your agent can search it, inspect it and install the tested code directly.

Browse the library What would your brief resolve to? → 597 patterns. Free. No card, no key.
597live patterns
18page roles
4frameworks
$0free forever

Code that runs, not screenshots of code.

Every pattern is a working demo on one page you can scroll right now. Ask for one by number and you get its complete HTML, CSS and JavaScript — the shared runtime helpers it needs, the stack pins it was tested against, and the gotchas that were hit building it.

The range is the point: Lenis-driven scroll spines, GSAP choreography, GLSL passes, WebGPU compute, Gaussian splats, MediaPipe try-on, transformers.js search, view transitions, physics letters, cloth, flow fields — alongside the quiet things a real page needs, like preloaders, seams between sections, and a device-tier gate that degrades the heavy work on a weak phone.

One line into your agent. No SDK, no build step.

It is an MCP server and a set of plain URLs. Anything that speaks either — Claude Code, Cursor, your own script, a model with a browser — is a client.

# components.json — one line, then it is a registry like any other
{
  "registries": {
    "@motionmenu": {
      "url": "https://www.motionmenu.ca/r/{name}.json",
      "headers": { "Authorization": "Bearer ${MOTION_MENU_KEY}" }
    }
  }
}

# then install like anything else — deps and the runtime come with it
npx shadcn add @motionmenu/velocity-image-bend

# or let the official shadcn MCP do it:
#   "add a hero from the motionmenu registry"

Design intelligence, not a builder.

Motion Menu is the layer your site is built on: six design worlds, a deterministic brief-resolver, and 597 working patterns that carry them. Builders and agents pull it over MCP, the shadcn registry or plain URLs — and the site they ship is theirs, composed, not generated. The licence is one page: what you build stays yours.

The front door

What would your brief resolve to?

Answer four questions and the resolver agents run will pick your design world — the palette, the type, the way your page would move — and point at the real patterns that carry it.

Same brief, same direction — every time.
And the library itself

Take the whole thing. It's free.

Every pattern, every framework wrapper, every door in — MCP, the shadcn registry, plain URLs. No card, no expiry, nothing held back. New patterns land in the same free library, and what you build with them stays yours.

Free key

All 597 patterns, no card, no expiry. A key only meters your own usage — the library answers without one.

What this is, exactly.

It is a library, not a framework
Patterns are transplanted into your page and become your code. There is no runtime dependency on us, and nothing phones home. If you cancel, what you already shipped keeps working — you lose access to fetch more.
It is not a design system
No component library, no Figma kit, no tokens for buttons and inputs. Figma and its Code Connect do that, and do it better. This is the motion layer: the part that moves.
It expects a real stack
Patterns are pinned to three@0.170.0, gsap@3.13.0 and lenis@1.3.17, tested together. Most drop into plain HTML or a React useEffect without ceremony. A handful — WebGPU compute, Gaussian splats, webcam try-on — need a capable browser, and each one says so.
Nothing you wire up breaks
Every pattern has a permanent slug and a permanent URL. Numbers are stable aliases, so /p/150.json and /p/velocity-image-bend.json return the same bytes and both keep resolving forever. Categories are tags, which means the catalogue can be reorganised without moving anything you depend on. That is a commitment about addressing, not a release cadence — there is no promised weekly drop.
Support is one person
Email gets a real answer, usually within a couple of days. There is no phone line, no SLA, and no enterprise tier pretending otherwise. If a pattern is broken, say so and it gets fixed.
The library is free on purpose
Aceternity sells Pro for $199. Magic UI and react-bits are MIT. shadcn/ui is the foundation everyone builds on. Motion Menu is free because distribution is the point — the heavy end nobody else ships (scroll-driven WebGL, shaders, choreography) works best when every agent and every dev can reach it with zero friction. Premium is the point: the wider it reaches, the better every site an agent ships.
Every framework, one pattern
Patterns are framework-free HTML, CSS and JavaScript. Every registry item ships ready-to-use wrappers for React (.tsx), Vue (.vue), Svelte (.svelte), and vanilla TypeScript (.ts). The React wrapper is a useEffect with cleanup; Vue uses onMounted/onBeforeUnmount; Svelte uses onMount. The MCP and shadcn registry both accept ?framework= to get the right format.

Questions.

What's included, since it's free?

Every pattern in the library, wrappers in React, Vue, Svelte and vanilla TypeScript, delivered via MCP, the shadcn registry or plain HTTP. Nothing is held back — there is no paid tier of the library anymore.

Do I get future patterns?

Yes — every pattern added lands in the free library. Nothing new is ever billed. There's no promised release schedule (that's a commitment about addressing, not volume).

Can I use this for client work or commercial projects?

Yes — build for yourself, your employer, or a client, and hand the finished site over. What you can't do is resell the library itself, redistribute it as a collection, or publish pattern source as your own kit — the licence has the exact line.

What if I want help building?

Hand the library to your agent — that's what it's for. The intelligence layer (design digest, direction resolver, the graph) and the docs at /docs are written for agents first: initialize, resolve a direction, build.

I lost my key — how do I get back in?

Full keys are never stored, only their hash, so a lost one can't be looked up — only replaced. Go to /account and use "lost a key you already have?", which emails a fresh one to your account address.

Is there a team license?

No license needed — the library is free for teams and clients alike. Keys are optional and per-account; anyone on your team can grab their own in seconds, or read the library with no key at all.

Do you offer subscriptions?

No. The library is free with no subscription, no renewal, no recurring charge. Nothing is sold here.

What is MCP, and why does it matter?

MCP (Model Context Protocol) is how a coding agent talks to Motion Menu directly. Point Claude Code, Cursor, Windsurf or any other MCP client at the endpoint and it can list and fetch patterns without you opening a browser or copy-pasting code. Setup commands for each client are on /connect.

What can't I do with a Motion Menu licence?

Redistribute the library — or a substantial part of it — as a collection, resell access or publish pattern source as your own kit, share a key outside your plan's seats, or use the library to train a model meant to reproduce it. The full list is on /terms.

What frameworks are supported?

Every pattern is plain HTML, CSS and JavaScript, plus ready wrappers for React, Vue, Svelte and vanilla TypeScript — the MCP and shadcn registry both take a framework parameter to get the one you need.

Will I be charged again later, or is my card stored?

No. It's a single one-time charge, and Stripe holds your payment details — this site never sees a card number. There's nothing recurring to cancel.