Motion by Frapea
by motion.frapea.com in Developer tools
One sentence to a finished animation: your AI writes motion graphics as code and checks real frames.
https://motion.frapea.com/mcp- Tools
- 20
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 176 ms
- 363 ms slowest 5%
- Last check
- Passed
- 4 h ago, next in 1 h
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"motion-by-frapea": {
"type": "http",
"url": "https://motion.frapea.com/mcp"
}
}
}20 tools
- 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…
- 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
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…
- 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…
- 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…
- 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…
- 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…
- 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…
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 4 h ago | Passed | 200 | 155 ms |
| 15 h ago | Passed | 200 | 136 ms |
| 26 h ago | Passed | 200 | 137 ms |
| 37 h ago | Passed | 200 | 103 ms |
| 2 days ago | Passed | 200 | 327 ms |
Show 10 older checks
| 2 days ago | Passed | 200 | 133 ms |
| 3 days ago | Passed | 200 | 175 ms |
| 3 days ago | Passed | 200 | 115 ms |
| 4 days ago | Passed | 200 | 179 ms |
| 4 days ago | Passed | 200 | 103 ms |
| 4 days ago | Passed | 200 | 147 ms |
| 5 days ago | Passed | 200 | 238 ms |
| 5 days ago | Passed | 200 | 176 ms |
| 6 days ago | Passed | 200 | 176 ms |
| 6 days ago | Passed | 200 | 178 ms |