motionworks
MotionWorks
Слой моушн-дизайна с прямым манипулированием для проектов, создаваемых ИИ-агентами кодирования.
MotionWorks работает поверх вашего локального приложения, позволяя выбрать реальный элемент, настроить движение «на ощупь», воспроизвести его, сравнить с оригиналом и применить результат. Настраиваемые значения хранятся в CSS-кастомных свойствах, поэтому браузер может сразу показать предпросмотр, а локальный демон — записать точные изменения обратно в исходный код.
Опиши, чтобы создать. Манипулируй, чтобы уточнить.
Быстрый старт
Установите единственный пакет и инициализируйте проект:
npm install -D motionworks
npx motionworks initinit добавляет .motionworks/ в .gitignore, удаляет устаревшую запись MCP для MotionWorks, если она есть, и записывает сгенерированное руководство MOTIONWORKS.md плюс короткую справочную строфу для Claude Code и Codex. В React-проектах он также подтверждает установку пакета при необходимости.
Запустите приложение и демон MotionWorks в отдельных терминалах:
npm run dev
npx motionworksДля React следуйте сгенерированному руководству, чтобы смонтировать MotionWorksProvider один раз в отдельном, только для разработки, независимом React-корне. Для любой другой страницы загрузите автономный оверлей перед </body>:
<script src="http://127.0.0.1:52340/motionworks.js"></script>MotionWorks также может обслуживать статическую директорию и внедрять оверлей автоматически:
npx motionworks serve .Related MCP server: pincushion-mcp
Контракт CSS
Каждое настраиваемое значение имеет одно каноническое объявление в реальной таблице стилей в правиле зарегистрированного элемента:
.card {
--mw-radius: 120px;
--mw-response: 0.18;
}React-эффекты регистрируют только схему. Хук читает базовые значения из CSS; код эффекта потребляет их через readParams и реагирует на motionworks:change через 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" />;
}Обычный HTML может зарегистрировать ту же схему с помощью data-motionworks и использовать window.MotionWorks.readParams / window.MotionWorks.onParamsChange.
Что происходит при Apply
Apply — это сначала долговечно, а потом автоматически:
Оверлей добавляет запись в
.motionworks/changes.json.Демон напрямую редактирует единственное совпадающее объявление CSS.
Если объявление неоднозначно, демон запускает Claude или Codex, если они доступны.
Если ни один агент не может завершить задачу, запись остаётся в ожидании для Copy prompt и
npx motionworks changes.
Агент изменяет ровно те объявления, которые перечислены, и подтверждает ручную запись обратно с помощью npx motionworks ack <id>. npx motionworks status сообщает о текущем выбранном эффекте, когда дизайнер говорит «вот этот».
Экспорт пакета
В репозитории один публикуемый пакет — motionworks:
Экспорт | Назначение |
| Безопасные для браузера типы схемы и журнала |
|
|
| Связывание CSS без фреймворка и помощники событий, включая |
| Программный демон, журнал, настройка, конфигурация и API статической раздачи |
| Автономный браузерный бандл |
| Демон, статическая раздача, команды журнала, настройка и статус |
React и ReactDOM — необязательные соседи; не-React-страницы используют автономный бандл.
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 guideАвтоматическое выполнение агента включено, если найден claude или codex. Используйте --no-agent для ручной передачи или --agent=claude|codex|off, чтобы выбрать явно. Демон привязывается к 127.0.0.1:52340; MOTIONWORKS_PORT или --port меняет порт.
Разработка
Репозиторий — это npm-воркспейс с одним пакетом в packages/motionworks. Он собирается с помощью tsup и тестируется с помощью Vitest.
npm install
npm run build
npm run typecheck
npm testЗавершённая перестройка моста 0.5.0 задокументирована в docs/plans/bridge-rebuild.md; поддерживаемая архитектура и контракты живут в docs/.
Лицензия
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