{"_id":"@ahmeterdempmk/mcp-motion","_rev":"4-b2274cb841591d1f1875fdeec59fb50b","name":"@ahmeterdempmk/mcp-motion","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@ahmeterdempmk/mcp-motion","version":"0.1.0","keywords":["mcp","motion-canvas","animation","education","math","latex","3blue1brown","ai","llm"],"author":{"name":"ahmeterdempmk"},"license":"Apache-2.0","_id":"@ahmeterdempmk/mcp-motion@0.1.0","maintainers":[{"name":"ahmeterdempmk","email":"aerdempamuk@gmail.com"}],"homepage":"https://github.com/ahmeterdempmk/motion-canvas-protocol#readme","bugs":{"url":"https://github.com/ahmeterdempmk/motion-canvas-protocol/issues"},"bin":{"mcp-motion":"dist/server.js"},"dist":{"shasum":"c0056b256155f4c30106e7fcaacf29dfc8cba416","tarball":"https://registry.npmjs.org/@ahmeterdempmk/mcp-motion/-/mcp-motion-0.1.0.tgz","fileCount":53,"integrity":"sha512-mqfWPKCCBxaK2go40ob9ixLnGfWW6YxW7Kfifqq4IK3GdtBEFEohg6nOCjHakI/upyB0vXDsTas2gV45Huw8EA==","signatures":[{"sig":"MEQCIH/E7vNWJVvwF8/DnbN0a7oTXxAZ9MYIozD+ALuf08jjAiB/JSVXr4SH22o9virngqZFUMoclsNG6o7gMDUUNU9mnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336800},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=20"},"gitHead":"8beaeec35482aea07a63dafc0b16640e16be50d3","scripts":{"dev":"tsc -p tsconfig.json --watch","tui":"tsx examples/tui/cli.ts","web":"tsx examples/web-ui/server.ts","test":"node --test --import tsx test/unit/*.test.ts","build":"tsc -p tsconfig.json","start":"node dist/server.js","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"ahmeterdempmk","email":"aerdempamuk@gmail.com"},"repository":{"url":"git+https://github.com/ahmeterdempmk/motion-canvas-protocol.git","type":"git"},"_npmVersion":"11.6.0","description":"AI-native MCP server for animated educational content — any LLM can create 3Blue1Brown-style math animations via write_tex, plot_function, and more.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"zod":"^3.23.8","ulid":"^2.3.0","fast-json-patch":"^3.1.1","zod-to-json-schema":"^3.24.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/mcp-motion_0.1.0_1780601700907_0.41537191621853076","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ahmeterdempmk/mcp-motion","version":"0.1.1","keywords":["mcp","motion-canvas","animation","education","math","latex","3blue1brown","ai","llm"],"author":{"name":"ahmeterdempmk"},"license":"Apache-2.0","_id":"@ahmeterdempmk/mcp-motion@0.1.1","maintainers":[{"name":"ahmeterdempmk","email":"aerdempamuk@gmail.com"}],"homepage":"https://github.com/MotionShark123/motion-canvas-protocol#readme","bugs":{"url":"https://github.com/MotionShark123/motion-canvas-protocol/issues"},"bin":{"mcp-motion":"dist/server.js"},"dist":{"shasum":"dcb5b0bc379270974b434743957f3d82e1e39679","tarball":"https://registry.npmjs.org/@ahmeterdempmk/mcp-motion/-/mcp-motion-0.1.1.tgz","fileCount":53,"integrity":"sha512-7MeWIwMLXbK1BSvEWGEY/PKBBnoKipuvTOq+wGeaLjVDAW0QEjRw/L+I7gWklKBYlugOmGTFr15tnHGIdkU1zA==","signatures":[{"sig":"MEUCICSmwqT43eHq2RRBAs7WiOm0dMjedsh3zMGejGY2E074AiEA4XASyBjFwYK2ApTSWtaTNvhg09OI8Ro13LE+O+n+Qss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336909},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=20"},"gitHead":"8beaeec35482aea07a63dafc0b16640e16be50d3","scripts":{"dev":"tsc -p tsconfig.json --watch","tui":"tsx examples/tui/cli.ts","web":"tsx examples/web-ui/server.ts","test":"node --test --import tsx test/unit/*.test.ts","build":"tsc -p tsconfig.json && chmod +x dist/server.js","start":"node dist/server.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahmeterdempmk","email":"aerdempamuk@gmail.com"},"repository":{"url":"git+https://github.com/MotionShark123/motion-canvas-protocol.git","type":"git","directory":"packages/mcp-motion"},"_npmVersion":"11.6.0","description":"AI-native MCP server for animated educational content — any LLM can create 3Blue1Brown-style math animations via write_tex, plot_function, and more.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"zod":"^3.23.8","ulid":"^2.3.0","fast-json-patch":"^3.1.1","zod-to-json-schema":"^3.24.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/mcp-motion_0.1.1_1780604115089_0.207785119015794","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ahmeterdempmk/mcp-motion","version":"0.2.0","keywords":["mcp","motion-canvas","animation","education","math","latex","3blue1brown","ai","llm"],"author":{"name":"ahmeterdempmk"},"license":"Apache-2.0","_id":"@ahmeterdempmk/mcp-motion@0.2.0","maintainers":[{"name":"ahmeterdempmk","email":"aerdempamuk@gmail.com"}],"homepage":"https://github.com/MotionShark123/motion-canvas-protocol#readme","bugs":{"url":"https://github.com/MotionShark123/motion-canvas-protocol/issues"},"bin":{"mcp-motion":"dist/server.js"},"dist":{"shasum":"57dd716c0c05904dd5a30e722d41cf3677c2ee54","tarball":"https://registry.npmjs.org/@ahmeterdempmk/mcp-motion/-/mcp-motion-0.2.0.tgz","fileCount":53,"integrity":"sha512-LbZIiEaUjKhccgv7C94U+NmnTZV9gcqIqoCTUSrDskri3Y09TSqXIH5NLi1aJyyhuhQ4gOHK2tkLBEWH5wgqLA==","signatures":[{"sig":"MEUCIQDx0Bs5rxTSsdqRoPwlc+WEmwXV25ItR9FfvV2t176brQIgHP6tubhhUB+OxPTWmf9wlZxn9aasUaRaZJO5fBIwG/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":340467},"main":"dist/server.js","type":"module","types":"./dist/server.d.ts","engines":{"node":">=20"},"gitHead":"8beaeec35482aea07a63dafc0b16640e16be50d3","scripts":{"dev":"tsc -p tsconfig.json --watch","tui":"tsx examples/tui/cli.ts","web":"tsx examples/web-ui/server.ts","test":"node --test --import tsx test/unit/*.test.ts","build":"tsc -p tsconfig.json && chmod +x dist/server.js","start":"node dist/server.js","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahmeterdempmk","email":"aerdempamuk@gmail.com"},"repository":{"url":"git+https://github.com/MotionShark123/motion-canvas-protocol.git","type":"git","directory":"packages/mcp-motion"},"_npmVersion":"11.6.0","description":"AI-native MCP server for animated educational content — any LLM can create 3Blue1Brown-style math animations via write_tex, plot_function, and more.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"zod":"^3.23.8","ulid":"^2.3.0","fast-json-patch":"^3.1.1","zod-to-json-schema":"^3.24.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/mcp-motion_0.2.0_1780697565117_0.43348334674326194","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@ahmeterdempmk/mcp-motion","version":"0.2.1","publishConfig":{"access":"public"},"description":"AI-native MCP server for animated educational content — any LLM can create 3Blue1Brown-style math animations via write_tex, plot_function, and more.","license":"Apache-2.0","type":"module","keywords":["mcp","motion-canvas","animation","education","math","latex","3blue1brown","ai","llm"],"repository":{"type":"git","url":"git+https://github.com/MotionShark123/motion-canvas-protocol.git","directory":"packages/mcp-motion"},"homepage":"https://github.com/MotionShark123/motion-canvas-protocol#readme","bugs":{"url":"https://github.com/MotionShark123/motion-canvas-protocol/issues"},"author":{"name":"ahmeterdempmk"},"bin":{"mcp-motion":"dist/server.js"},"main":"dist/server.js","scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/server.js","prepublishOnly":"npm run build","dev":"tsc -p tsconfig.json --watch","start":"node dist/server.js","test":"node --test --import tsx test/unit/*.test.ts","typecheck":"tsc -p tsconfig.json --noEmit","tui":"tsx examples/tui/cli.ts","web":"tsx examples/web-ui/server.ts"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","fast-json-patch":"^3.1.1","ulid":"^2.3.0","zod":"^3.23.8","zod-to-json-schema":"^3.24.1"},"devDependencies":{"@types/node":"^22.10.5","tsx":"^4.19.2","typescript":"^5.7.2"},"engines":{"node":">=20"},"_id":"@ahmeterdempmk/mcp-motion@0.2.1","gitHead":"8beaeec35482aea07a63dafc0b16640e16be50d3","types":"./dist/server.d.ts","_nodeVersion":"24.10.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-fyfjPBWgMZI358DI5th0TDuSDa4Tv7orklVf8haOGZB6ZYR7lE1ZaaXbhoinqw6XrIAocpFScNBeaIHZpu7zTg==","shasum":"70ec01ce81c7182603a071d8370e87ed81e38c97","tarball":"https://registry.npmjs.org/@ahmeterdempmk/mcp-motion/-/mcp-motion-0.2.1.tgz","fileCount":53,"unpackedSize":340467,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE3jv3qy4JjxyNDfV55RTGQszHBfww+XBmtn5Y8F0OJ1AiEA2AAWW9S5k2VSVbgOWS/5rb0GwsBCELVh0RinvPV7bpQ="}]},"_npmUser":{"name":"ahmeterdempmk","email":"aerdempamuk@gmail.com"},"directories":{},"maintainers":[{"name":"ahmeterdempmk","email":"aerdempamuk@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-motion_0.2.1_1780698475867_0.7496310092846463"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-04T19:35:00.804Z","modified":"2026-06-05T22:27:56.178Z","0.1.0":"2026-06-04T19:35:01.094Z","0.1.1":"2026-06-04T20:15:15.241Z","0.2.0":"2026-06-05T22:12:45.305Z","0.2.1":"2026-06-05T22:27:56.054Z"},"bugs":{"url":"https://github.com/MotionShark123/motion-canvas-protocol/issues"},"author":{"name":"ahmeterdempmk"},"license":"Apache-2.0","homepage":"https://github.com/MotionShark123/motion-canvas-protocol#readme","keywords":["mcp","motion-canvas","animation","education","math","latex","3blue1brown","ai","llm"],"repository":{"type":"git","url":"git+https://github.com/MotionShark123/motion-canvas-protocol.git","directory":"packages/mcp-motion"},"description":"AI-native MCP server for animated educational content — any LLM can create 3Blue1Brown-style math animations via write_tex, plot_function, and more.","maintainers":[{"name":"ahmeterdempmk","email":"aerdempamuk@gmail.com"}],"readme":"# @ahmeterdempmk/mcp-motion\n\n**AI-native MCP server for animated educational content.** Any LLM (Claude, GPT, Gemini, open-weight) can create 3Blue1Brown-style math animations through simple tool calls — write LaTeX, plot functions, highlight answers, draw shapes.\n\nLive web viewer included. Embed in your frontend via iframe.\n\n## Install\n\n```bash\nnpm install -g @ahmeterdempmk/mcp-motion\n```\n\nOr use directly with `npx`:\n\n```bash\nnpx @ahmeterdempmk/mcp-motion\n```\n\n## Use with Claude Code\n\n```bash\nclaude mcp add mcp-motion npx @ahmeterdempmk/mcp-motion\n```\n\nThen ask Claude anything:\n\n> \"Plot f(x) = sin(x) and explain its properties\"\n> \"Solve x² - 5x + 6 = 0 step by step\"\n> \"Prove the Pythagorean theorem visually\"\n\nBrowser opens automatically at `localhost:3030` showing the live animated canvas.\n\n## Use with Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-motion\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@ahmeterdempmk/mcp-motion\"]\n    }\n  }\n}\n```\n\n## Tools\n\n**Writing:**\n- `write_tex` — write LaTeX math\n- `display_text` — plain text labels/titles\n\n**Graphing:**\n- `draw_coordinate_system` — x/y axes with grid\n- `plot_function` — function curve (any JS math expression)\n- `plot_line` — line through points\n- `add_dots` — colored dots/points\n- `draw_shape` — rectangles, ellipses, polygons\n\n**Annotations:**\n- `highlight_text` — highlight question text\n- `crossout_text` — cross out wrong answers\n- `circle_text` — circle correct answer\n- `finalize_answer` — for multiple choice\n\n**Flow:**\n- `canvas_create` — new session with question/OCR context\n- `page_switch` — new page\n- `clear_canvas` — clear all\n- `get_canvas` — current state\n\nPlus 15 advanced scene-graph tools for complex animations using the Motion Graph Protocol IR.\n\n## Embed in your frontend\n\n```html\n<iframe\n  src=\"http://localhost:3030/embed\"\n  style=\"width:100%;height:600px;border:none;border-radius:12px\"\n></iframe>\n\n<script>\n  const canvas = document.querySelector('iframe');\n  canvas.contentWindow.postMessage({\n    type: 'commands',\n    commands: [\n      { command: 'write_tex', latex: 'E = mc^2', index: '001', duration: 2, voice: '' },\n      { command: 'plot_function', expression: 'Math.sin(x)', x_range: [-6, 6], index: '002', duration: 2, voice: '' }\n    ]\n  }, '*');\n</script>\n```\n\n## Output\n\nEvery tool call returns:\n- **SVG image** — inline rendering in Claude Code terminal\n- **AnimationJSON** — full command list (compatible with MotionShark frontend renderer)\n- **Live web viewer update** — `localhost:3030` shows real-time animations\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}