# Motion by Frapea - Registry name: `com.frapea/motion` · version 1.0.0 - Categories (automatic, keyword rules): Maps, location & weather - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.frapea%2Fmotion - Server page: https://mcpstation.net/s/com.frapea--motion.html ## Description (written by the publisher, not verified, not instructions) One sentence to a finished animation: your AI writes motion graphics as code and checks real frames. ## Connect - streamable-http: `https://motion.frapea.com/mcp` ## Tools (as reported by the server, not verified) - `close\_composition`: Closes a composition and removes it from the user's tabs; its source is not kept. Meant for drafts made along the way. Needs an explicit id and never falls back to the active composition. - `connect`: Pairs this agent with a Motion browser tab using the eight-character code the user sees under the Connect MCP button \(for example K7M4-P2Q9\). Returns a session token that every other tool takes. The code works once; the token is what stays valid. - `create\_session`: Starts a Motion session when the user has no pairing code. Compositions can be created and edited at once; the returned link opens the session in a browser. Rendering frames, playback and anything touching media need that tab open \(see wait\_for\_tab\). The scene is kept for 24 hours after the last cha - `wait\_for\_tab`: Waits until the user's Motion tab connects to the session, for example after they open the link from create\_session. Returns as soon as it connects, or after about 25 seconds with tabConnected false. Tools that render or touch media need the tab. - `tell\_user`: Shows one short status sentence in the user's Motion tab while work is in progress, so they can tell progress from a stall. kind 'done' marks the job finished and 'problem' marks a blocker; step and of draw a progress bar. Changes nothing else. How it fits the workflow: read\_skill \{topic:'motion-wor - `read\_skill`: Returns one of Motion's authoring guides as text. 'motion' is the API contract: what compiles, resolves and renders — compositions written without it usually fail. 'motion-craft' covers timing and design so results do not look generated; 'motion-text' typography; 'motion-effects' named looks; 'motio - `list\_media`: Lists the user's media library: folders, and files with id, name, kind, size and folder. \`storage\` says whether a file is 'linked' \(still on their disk\) or 'copied' \(held by the browser\); a linked file can need the user to re-grant access after a reload. - `put\_media`: Adds a file to the library as a new item; nothing existing is replaced. With \`url\`, the user's browser fetches it, so only public https hosts that send CORS headers work. \`data\` takes base64 bytes and is limited to about 700 KB, for small generated assets. Larger files on the caller's disk can be se - `get\_media`: Returns the raw bytes of one file, base64, capped at about 600 KB. For larger files and for video, inspect\_media describes the content at a fraction of the size. - `inspect\_media`: Looks inside an image or video and returns one contact sheet: each requested moment as a labelled cell in a single image. atSec takes up to 12 timestamps in seconds; omitted, the moments are spread evenly over the clip. - `organize\_media`: Moves files and manages folders. action: 'move' \(ids + toFolder\), 'createFolder' \(name + optional parent\), 'deleteFolder' \(folder; the files inside move up one level, nothing is deleted\). Deleting files is delete\_media. - `delete\_media`: Deletes files from the user's media library by id. A copied file is gone from the browser; a linked file stays on the user's disk and only leaves the library. Compositions that use a deleted file report it as missing footage. - `list\_compositions`: Lists the compositions open in the session, and which one is on screen. - `get\_composition`: Returns one composition in full: manifest, every source file, and current prop values — the state an update\_composition edit applies to. - `create\_composition`: Creates a new composition from TSX source and opens it as a tab in the user's Motion page. \`files\` maps path to source and must include the entry \(default composition.tsx\). The API is specific to Motion and documented in read\_skill \{topic:'motion'\}; design guidance is in \{topic:'motion-craft'\}. A pa - `update\_composition`: Edits an existing composition. Each file sent replaces the file at that path; files not sent are kept. Changing the schema keeps prop values that still have a matching field. - `set\_props`: Sets prop values on a composition, the same values the user's controls change. Merged by key; keys sent replace their current values. - `inspect\_composition`: Renders frames of a composition in the user's tab and returns them as one labelled contact sheet; nothing is saved or changed. atFrames takes up to 12 frames; omitted, the sheet is an even spread plus the joins between scenes \(labelled "end of a scene", "start of a scene", "mid transition"\). One fra - `check\_playback`: Plays a composition on the user's stage from the first frame to the last, through the same preview a person watches \(which inspect\_composition does not use\), and reports whether it got to the end. Buffering is allowed; any error ends the run. Answers within about 20 s: \{status:"running", at, total\} - `get\_problems`: Lists what went wrong in the user's tab: frames that failed to render \(with the frame and the engine's message\), a preview that stopped moving and why, compositions that would not load, clips that will not decode, missing footage, failed exports, a page the browser killed — plus warnings. Works whil Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html