motionworks
Lets you tune motion by directly editing CSS custom properties on selected elements, with the daemon writing precise changes back to the matching CSS declarations.
Provides a React integration with MotionWorksProvider and the useMotionWorks hook for registering motion schemas, reading CSS-based parameters, and responding to parameter changes.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@motionworksSet up MotionWorks in this project and mount the provider at the app root."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MotionWorks
A direct-manipulation motion design layer for projects built with AI coding agents.
MotionWorks runs over your local app so you can select a real element, tune motion by feel, replay it, compare against the original, and apply the result. Adjustable values live in CSS custom properties, so the browser can preview them immediately and the local daemon can write precise changes back to source.
Describe to create. Manipulate to refine.
Quick start
Install the single package and initialize the project:
npm install -D motionworks
npx motionworks initinit adds .motionworks/ to .gitignore, removes a stale MotionWorks MCP entry if one exists, and writes a generated MOTIONWORKS.md guide plus a short reference stanza for Claude Code and Codex. In React projects it also confirms the package install when needed.
Start your app and the MotionWorks daemon in separate terminals:
npm run dev
npx motionworksFor React, follow the generated guide to mount MotionWorksProvider once in a development-only, independent React root. For any other page, load the standalone overlay before </body>:
<script src="http://127.0.0.1:52340/motionworks.js"></script>MotionWorks can also serve a static directory and inject the overlay automatically:
npx motionworks serve .Related MCP server: pincushion-mcp
The CSS contract
Each adjustable value has one canonical declaration in a real stylesheet on the registered element's rule:
.card {
--mw-radius: 120px;
--mw-response: 0.18;
}React effects register only the schema. The hook reads baselines from CSS; effect code consumes them with readParams and responds to motionworks:change through onParamsChange:
import { useEffect, useRef } from 'react';
import { onParamsChange, readParams, useMotionWorks } from 'motionworks/react';
const schema = {
name: 'Magnetic card',
params: {
radius: { type: 'spatial-radius', label: 'Radius', unit: 'px' },
response: { type: 'temporal-response', label: 'Response' },
},
} as const;
function MagneticCard() {
const ref = useRef<HTMLDivElement>(null);
useMotionWorks(ref, schema);
useEffect(() => {
const el = ref.current;
if (!el) return;
const effect = createMagneticEffect(el, readParams(el, schema.params));
const sync = () => effect.update(readParams(el, schema.params));
const stop = onParamsChange(el, sync);
return () => {
stop();
effect.destroy();
};
}, []);
return <div ref={ref} className="card" />;
}Plain HTML can register the same schema with data-motionworks and use window.MotionWorks.readParams / window.MotionWorks.onParamsChange.
What happens on Apply
Apply is durable before it is automatic:
The overlay appends an entry to
.motionworks/changes.json.The daemon edits the unique matching CSS declaration directly.
If the declaration is ambiguous, the daemon runs Claude or Codex when available.
If no agent can complete it, the entry remains pending for Copy prompt and
npx motionworks changes.
The agent changes exactly the listed declarations and acknowledges a manual writeback with npx motionworks ack <id>. npx motionworks status reports the currently selected effect when a designer refers to “this one.”
Package exports
The repository has one publishable package, motionworks:
Export | Purpose |
| Browser-safe schema and journal types |
|
|
| Framework-free CSS binding and event helpers, including |
| Programmatic daemon, journal, setup, configuration, and static-serving APIs |
| Standalone browser bundle |
| Daemon, static serving, journal commands, setup, and status |
React and ReactDOM are optional peers; non-React pages use the standalone bundle.
CLI
npx motionworks Start the local daemon
npx motionworks serve <dir> Serve a static site with the overlay
npx motionworks changes [--json|--brief] Show pending journal entries
npx motionworks ack <id>|--all Acknowledge manual writebacks
npx motionworks status Show daemon and current selection
npx motionworks revert <id> Revert an applied entry
npx motionworks init Set up the project and agent guideAutomatic agent execution is enabled when claude or codex is found. Use --no-agent for manual handoff or --agent=claude|codex|off to choose explicitly. The daemon binds to 127.0.0.1:52340; MOTIONWORKS_PORT or --port changes the port.
Development
The repository is an npm workspace with one package under packages/motionworks. It builds with tsup and tests with Vitest.
npm install
npm run build
npm run typecheck
npm testThe completed 0.5.0 bridge rebuild is recorded in docs/plans/bridge-rebuild.md; the maintained architecture and contracts live in docs/.
License
MIT © John Kim
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceMCP server that enables AI coding agents to read and write to a local-first HTML/CSS design canvas, bridging visual design and code generation.MIT
- AlicenseAqualityCmaintenanceVisual feedback as agent work packets: stakeholders pin on your live app and your AI coding agent reads each pin (selector, screenshot, DOM, thread, acceptance criteria) via MCP and ships the fix.398021MIT
- AlicenseBqualityCmaintenanceEnables AI agents to directly control Figma Desktop via MCP, supporting UI creation, editing, prototyping, and variable management with over 60 tools.658821MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to remotely operate visual design tools via MCP protocol, with composable architecture for image processing, file operations, and workflow automation.MIT
Related MCP Connectors
Design intelligence for coding agents: audits, design systems, and a taste profile agents consult.
Real-time collaborative whiteboard — AI agents and humans edit the same board live over MCP.
Connect AI coding agents to Anima Playground, Figma, and your design system.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jhn-kim/motionworks'
If you have feedback or need assistance with the MCP directory API, please join our Discord server