Motion by Frapea

com.frapea由 frapea.com 发布官方发布者v1.0.0更新于 Oct 24, 2026

One sentence to a finished animation: your AI writes motion graphics as code and checks real frames.

发布方自己的服务:Frapea

已验证Streamable HTTP可网页运行文件与存储开发者工具媒体与设计

概览

AI 生成的概览

让助手用代码编写 Motion 动态图形合成,并渲染帧、检查播放和报告问题。

可以做什么
让助手用 TSX 源码创建、读取和更新 Motion 合成,并设置属性值。可通过 read_skill 获取编写规范与设计指南,用 inspect_composition 渲染最多 12 帧并返回带标注的缩略图,用 check_playback 从头到尾播放确认,并用 get_problems 列出渲染失败、加载错误或缺失素材等问题。还提供媒体库的列出、添加、查看、整理与删除,以及连接配对、会话创建和进度提示工具。
适用场景
适用于用户想用代码编写动态图形、制作或调整 Motion 合成,并需要 AI 实际渲染画面来检查结果的场景。若只需生成静态代码、不需要浏览器预览或媒体处理,则不必添加。
运行要求
远程端点,无需安装软件包。需通过 connect 用用户界面上的配对码换取会话令牌,或先用 create_session 创建会话;渲染、播放和媒体相关工具需要用户打开 Motion 浏览器标签页(可用 wait_for_tab 等待)。
安装前请注意
connect 需要用户提供一次性配对码,换得的令牌可操作其会话,应妥善保管。delete_media 会删除媒体库文件,organize_media 会移动文件并创建或删除文件夹,close_composition 会关闭合成且不保留源码。put_media 以 url 添加文件时由用户浏览器向外部主机获取内容。会话在最后一次更改后保留约 24 小时。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Motion by Frapea,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.frapea%2Fmotion/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "motion-by-frapea": {
      "type": "http",
      "url": "https://motion.frapea.com/mcp"
    }
  }
}

工具

20

close_composition

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.

输入参数id必填token必填

connect

Connect to a Motion tab

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.

输入参数code必填

create_session

Start a session without a tab

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 change.

无需输入参数。

wait_for_tab

Wait for the Motion 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

Show a status line

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-workflow'}.

输入参数ofkindsteptext必填token必填

read_skill

Read a Motion guide

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; 'motion-transitions' sequencing scenes; 'motion-examples' two contrasting complete pieces; 'motion-workflow' working while the user watches and checking frames; 'motion-review' a structured critique for pieces with an audience and a purpose.

输入参数topic必填

list_media

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.

输入参数pathtoken必填

put_media

Add media from a URL

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 sent as an HTTP POST of the raw bytes to /media/upload?token=TOKEN&name=NAME on this server's origin (up to 10 MB).

输入参数urldataname必填token必填folder

get_media

Get media bytes

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.

输入参数id必填token必填

inspect_media

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.

输入参数id必填atSectoken必填

organize_media

Organize media folders

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.

输入参数idsnametoken必填action必填folderparenttoFolder

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.

输入参数ids必填token必填

list_compositions

List compositions

Lists the compositions open in the session, and which one is on screen.

输入参数token必填

get_composition

Get composition

Returns one composition in full: manifest, every source file, and current prop values — the state an update_composition edit applies to.

输入参数idtoken必填

create_composition

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 partsBoard prop (default false) can lay out UI-like parts for checking before scenes are built.

输入参数fps必填name必填entryfiles必填token必填width必填height必填schemadurationInFrames必填

update_composition

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.

输入参数idfpsnamefilestoken必填widthheightschemadurationInFrames

set_props

Set composition props

Sets prop values on a composition, the same values the user's controls change. Merged by key; keys sent replace their current values.

输入参数idprops必填token必填

inspect_composition

Render frames

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 frame comes back at 1560 px, two at 960, for checking detail. `props` are merged over the composition's for this render only, e.g. {partsBoard:true}. Each frame reports its content share (how much is not background); one far below its neighbours is usually a gap between scenes.

输入参数idpropstoken必填atFrames

check_playback

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} means call again with the same id to keep waiting on the same run. Then {status:"done", verdict:"ok"|"problems", problems, warnings} or {status:"incomplete", reason} (tab hidden, interrupted, edited). It takes over the stage while it runs: the composition under test becomes the one on screen and the preview plays from frame 0. The composition's source and props are not changed.

输入参数idtoken必填

get_problems

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 while the tab is hidden or closed. `current` belongs to the composition as it is now; `earlier` counts problems an edit has since left behind. Other tool results may also carry a `problems` list of what is new. An empty list covers only what the tab has played; check_playback does a full pass.

输入参数idtoken必填includeWarnings

版本历史

1
  1. v1.0.0最新Oct 11, 2026

评分

已满足适用检查项的 72%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分

    请在注册中心条目中发布图标。

  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。

其他 Frapea 集成