Frapea
by app.frapea.com in Search & web
A video editor in your browser that your AI drives: cuts, captions, multicam, motion titles, export.
https://app.frapea.com/mcp- Tools
- 64
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 195 ms
- 354 ms slowest 5%
- Last check
- Passed
- 7 h ago, next any minute now
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": {
"frapea": {
"type": "http",
"url": "https://app.frapea.com/mcp"
}
}
}64 tools
- connect
Pairs you with the user's Frapea browser tab. TWO WAYS ROUND. (1) If they already have Frapea open: ask them for the pairing code (the Connect MCP button) and call this with it. (2) If they do not, or you are not sure: call this with NO arguments and you get back a link — send…
- get_projects
Lists the projects Frapea knows on this machine: id, name, lastOpenedAt, and for a project stored in a folder on disk its `folder` (the directory's name — files you write into its `media/` subfolder join the pool by themselves). Call first to find the projectId every other tool…
- get_timeline
Reads a project's timeline structure: timelines (id, name, fps, resolution) with tracks and clips. THE USER CAN COPY A CLIP'S ID from the editor's right-click menu, so a bare UUID in their message names exactly one clip — call this with NO timelineId to search every timeline and…
- get_media
Lists the project's media library: mediaRef (the id clips use), name, kind (video/audio/image), durationSeconds, resolution, and sceneSamples — timestamps (seconds) where the visual indexer detected distinct moments. sceneSamples is a ready-made shot map: inspect or cut at those…
- get_transcript
Returns the word-level speech transcript of one media asset: language and words [{text, startSec, endSec}]. Only assets the user has transcribed have one — NOT_FOUND means ask the user to run Transcribe on the clip in Frapea. Use the timestamps to align cuts with what is being…
- create_motion_composition
Creates a MOTION COMPOSITION — an animated graphic (infographic, title, promo end-card, chart…) written as a React TSX component. Read the 'motion' skill (read_skill {topic:'motion'}) for the exact API surface, available fonts/icons and golden examples before writing one. files…
- update_motion_composition
Updates a motion composition's TSX files and/or manifest (name, duration, schema…). Same compile-and-test gate as create; files given here MERGE over the existing set. Every clip playing the composition re-renders. preview:true returns one large frame of the result with the…
- get_motion_composition
Returns a motion composition's manifest and full TSX sources.
- list_motion_compositions
Lists the project's motion compositions: id, mediaRef (for add_clips), name, size, fps, duration and the editable props schema.
- create_timeline
Creates a new timeline in the project and returns its id. Set fps, width and height for the target format (e.g. 1080×1920 @30 for a vertical short). The new timeline starts with one video and one audio track; spare tracks appear automatically as clips land.
- add_clips
Places media segments on a timeline. Each clip: mediaRef (from get_media, 'timeline:<id>' to NEST another timeline as a clip, 'solid:#rrggbb' , 'motion:<id>' for a MOTION composition (create_motion_composition) for a generated solid-colour matte, 'adjustment:' for an adjustment…
- split_clips
Blades clips at a timeline frame. Splits every listed clip (and its linked partner) into two independent clips at atFrame. Frames are in the target timeline's fps. Use with get_timeline to find clip ids first.
- remove_clips
Deletes clips (lift — leaves a gap). Linked partners are NOT removed automatically; pass both ids of a pair to delete it whole. To close the gap too, use ripple_delete_ranges instead.
- ripple_delete_ranges
Extracts [fromFrame, toFrame) on one track and shifts everything after it left to close the gap (sync-locked tracks follow). The go-to tool for tightening a cut or removing a bad take.
- set_clip_properties
Adjusts a clip. Only the provided fields change. Mix: volume (0–2, 1 = unity), fadeInFrames / fadeOutFrames (gain or opacity ramps at the edges). Look: opacity (0–1), blend (normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light |…
- generate_captions
Generates animated captions from a spoken clip's transcript (the same generator as Frapea's UI): transcript words group into caption text clips over the clip's span, word-timed so the animation follows speech. One undo, and they share a captionGroupId — restyle them all via…
- manage_effects
Edits a clip's effect stack (ordered, per-effect enable). action: 'add' (type; returns the new effect's id) | 'remove' (effectId) | 'move' (effectId + toIndex — the order IS the render order) | 'toggle' (effectId + enabled) | 'set' (effectId + params patch, clamped to the…
- manage_transitions
Transitions on a track's cuts OR lone clip edges (a free head/tail takes a single-sided fade from/to nothing; its alignment is forced). action: 'add' (trackId + atFrame = the cut where one clip ends and the next starts, + type; optional durationFrames (default 30, clamped to the…
- manage_tracks
Track operations on a timeline. action: 'mute' | 'unmute' | 'solo' | 'unsolo' (audio only; any solo silences non-solo tracks) | 'hide' | 'show' | 'rename' (needs name) | 'duck' | 'unduck' (audio only: dip this track under speech detected on the other audio tracks — transcript…
- cut_to_angle
MULTICAM angle switch. The angles are ordinary video tracks stacked over each other (sync them beforehand — clips of the same take on V1..Vn); this razors the whole angle stack at `atFrame` and keeps only `chosenTrackId` live from there to the next cut — the other angles' clips…
- move_clips
Moves clips to new positions (linked partners follow automatically). Each move: clipId, toStartFrame, optional toTrackId (same-kind track). Overwrite semantics — landing on another clip trims it like a drag-drop.
- set_active_timeline
Sets which timeline the project opens on (and what the user sees if the editor is open). Purely a convenience — every tool here takes an explicit timelineId regardless.
- set_project_settings
Updates a timeline's fps / width / height (clips keep their timing; content re-fits) and/or renames it. Only provided fields change.
- search_media
Semantic search over the project's media. Visual scope matches what is IN the picture (describe a shot: 'aerial city at night'); spoken scope matches transcribed speech (exact words, ranked first, with a snippet). Hits: {mediaRef, timeSec (best moment), fromSec, toSec, score…
- remove_words
Text-based editing: cuts the given transcript words OUT of a clip as ripple deletes (everything after each cut shifts left). wordIndices are positions in get_transcript's words array for the clip's media. Contiguous indices merge into single cuts. The go-to tool for removing…
- remove_silence
Cuts silent gaps inside a clip: any pause between transcribed words longer than minGapSec becomes a ripple delete (a small margin is kept so speech never clips). Typical minGapSec: 0.6 tight, 1.0 balanced, 1.5 loose.
- undo
Reverts the most recent edit THIS agent session made to the project (one step per call; repeat to go further). Cannot revert other tabs' or the user's edits.
- inspect_media
Looks INSIDE a source asset. Returns ONE contact sheet — every requested moment as a labelled cell in a single grid image — plus a per-cell fingerprint. Pass atSec (max 12 timestamps, seconds); combine with get_media's sceneSamples for an instant storyboard of the whole file…
- inspect_timeline
WATCHES the cut. Composites every video layer at each requested frame and returns ONE contact sheet — the frames as labelled cells of a single grid image — plus, per cell, the visibleClipIds that contributed pixels and a fingerprint. Pass frames (timeline frame numbers, max 12)…
- get_problems
What has gone WRONG in the user's editor — renders that failed or stopped, footage that would not decode, chunks that could not be prepared for playback, exports that failed — each with WHERE (the timeline and frames, the source and its own frames, the footage and frame the…
- get_bug_report
Prepare a BUG REPORT for the user: it opens in Frapea (Problems → Create bug report) for them to read and save. The report itself is NOT returned to you — it would leave the user's machine before they have seen it. You get a summary: open problems, media counts, and how many of…
- verify_timeline
RENDER a timeline the way an export would and report what does not work — call it before you call any timeline done. inspect_timeline shows a few frames through the preview path, which quietly substitutes a nearby picture where a frame cannot be rendered; this renders every…
- insert_clips
Ripple-inserts media segments: everything at/after atFrame shifts right to make room (clips under the cut split). Same clip shape as add_clips. Use to splice a shot INTO an existing sequence without overwriting.
- organize_media
Pool file operations. action: 'rename' renames the real file on disk (needs newName; clips referencing the old name go offline). 'delete' UNLINKS the file from the media pool — the real file on disk is NOT touched; clips using it go offline until it is added again.
- read_skill
Returns Frapea's agent guide: editing conventions, tool workflow tips, the current feature surface, and the CREATIVE MANDATE — how far to run with a terse brief (source stock footage, sounds, voiceover, motion graphics and deliver a finished video vs. when to hand control back…
- await_user_action
Waits (up to ~45 s per call) for the user to resolve a pending Frapea prompt — e.g. the folder-permission dialog another tool just opened. The user cannot see tool calls: BEFORE waiting, always say in your visible reply what to click in the Frapea tab, or they will never know…
- open_project
Navigates the user's Frapea tab to a project so they can WATCH the edit live. Not required for editing — every tool works headlessly; use this for show-your-work moments.
- close_project
Navigates the user's Frapea tab back to the project manager and releases this session's headless runtime for the project.
- new_project
Creates a project. By default it is created in the browser's own storage, which needs no permission and no click: the project id comes back immediately and you can start working. The user can turn it into a real folder on their disk whenever they want (Cmd/Ctrl+S, or File → Save…
- connect_media_folder
Asks the user to attach a folder of THEIR OWN source footage to the project — opens a dialog in Frapea with a 'Connect folder' button. Only a human can do this (browser security gesture): tell the user IN YOUR REPLY to click it, then call await_user_action with the returned…
Security scan
1 finding
- Unusually long description in tool:generate_voiceover
generate_voiceover (generate voiceover) Generates an AI voiceover from a script,…
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 7 h ago | Passed | 200 | 243 ms |
| 17 h ago | Passed | 200 | 173 ms |
| 26 h ago | Passed | 200 | 150 ms |
| 36 h ago | Passed | 200 | 204 ms |
| 45 h ago | Passed | 200 | 196 ms |
Show 9 older checks
| 2 days ago | Passed | 200 | 264 ms |
| 3 days ago | Passed | 200 | 273 ms |
| 3 days ago | Passed | 200 | 195 ms |
| 3 days ago | Passed | 200 | 179 ms |
| 4 days ago | Passed | 200 | 135 ms |
| 4 days ago | Passed | 200 | 195 ms |
| 5 days ago | Passed | 200 | 190 ms |
| 5 days ago | Passed | 200 | 200 ms |
| 5 days ago | Passed | 200 | 354 ms |