61 tools, and one of them looks at the result.

Frapea is a full video editor with an MCP server in front of it. Point any MCP client at the endpoint below, pair it with the code in the editor header, and your agent has the whole timeline: cutting, captions, multicam, faces, stock footage, narration and animated titles it writes itself.

Endpoint
https://app.frapea.com/mcp
Transport
Streamable HTTP — JSON over POST
Auth
An 8-character code from the editor. No API key, no sign-up.
Pairing
Plus connect, one more tool: it pairs the agent with your tab using that code.
Claude Code
claude mcp add -s user --transport http frapea https://app.frapea.com/mcp

A call that changes the cut

Every pause over 0.6 s inside one clip becomes a ripple delete. Fourteen of them, and the whole thing is a single undo step.

→ remove_silence{  "projectId":  "cebu-teaser",  "timelineId": "tl_main",  "clipId":     "clip_04",  "minGapSec":  0.6} ← { "ok": true, "cuts": 14 }

A call that checks it

The agent composites its own timeline and reads the result back. Frame 512 returns nothing visible and a black fingerprint — so it finds the hole in the edit itself, rather than you finding it on export.

→ inspect_timeline{  "projectId":  "cebu-teaser",  "timelineId": "tl_main",  "frames":     [0, 96, 240, 388, 512],  "pixels":     false} ← {  "cells": [    { "frame": 0, "label": "f0",      "visibleClipIds": ["clip_title", "clip_01"],      "fingerprint": { "nonBlankRatio": 0.98 } },    { "frame": 96, "label": "f96",      "visibleClipIds": ["clip_01"],      "fingerprint": { "nonBlankRatio": 0.99 } },    { "frame": 240, "label": "f240",      "visibleClipIds": ["clip_02", "clip_04"],      "fingerprint": { "nonBlankRatio": 0.97 } },    { "frame": 388, "label": "f388",      "visibleClipIds": ["clip_04"],      "fingerprint": { "nonBlankRatio": 0.99 } },    { "frame": 512, "label": "f512",      "visibleClipIds": [],      "fingerprint": { "nonBlankRatio": 0.00 } }  ],  "note": "Fingerprints only (pixels:false).           nonBlankRatio near 0 means an empty           or black frame."}

01

Can it actually cut, or only suggest?

It cuts. Everything the timeline does is a call an agent can make — blade, ripple, trim, insert, move, retime — and the result is a real edit in a real project, not a plan for one. Eighteen of the tools are here — nearly a third of them, which is roughly the shape of the job itself.
  • add_clips

    Puts footage on the timeline — or a title, a colour matte, an adjustment layer, a whole other timeline nested as one clip.

  • insert_clips

    Drops something in and pushes the rest right, splitting whatever was under the cut.

  • split_clips

    Blades at a frame.

  • trim_clips

    Pulls one edge. Linked audio follows on its own.

  • move_clips

    Moves clips; linked partners come along.

  • remove_clips

    Lifts a clip out and leaves the gap.

  • ripple_delete_ranges

    Takes a range out and closes the hole behind it.

  • remove_silence

    Cuts the dead air between spoken words — the pass that turns an hour of talking head into forty minutes.

  • remove_words

    Deletes words from the transcript and the picture goes with them. Text-based editing, on any clip with speech.

  • cut_to_angle

    Multicam. Switches to another angle at a frame; the others are switched off, not deleted, so every cut can be changed later.

  • set_clip_properties

    Position, scale, crop, opacity, blend, speed, volume — and masks, Ken Burns moves, stabilisation and voice denoise.

  • set_keyframes

    Animates position, scale, rotation, crop, opacity or volume over time — or any parameter of an effect.

  • manage_transitions

    Transitions on cuts, or a single-sided fade on a loose edge.

  • manage_effects

    The effect stack on a clip — colour correction, wheels, curves, LUTs, blur, sharpen, vignette, glow, chroma key — in order, each one switchable.

  • manage_tracks

    Mutes, solos, hides, renames and merges tracks, ducks the music under speech, and clears away the empty ones.

  • apply_layout

    Splits the frame — side by side, picture in picture, a 2×2 grid.

  • generate_captions

    Word-timed captions from the transcript, styled and animated.

  • create_timeline

    A new timeline in the same project.

02

Can it see what it made?

This is the part people do not expect. inspect_timeline renders real frames of the cut and hands them back, so the agent looks at its own work before it claims to be finished — a caption that overflows, a title that lands on the wrong beat, a shot that was black. None of that is knowable from reading the project file, which is why so much automated editing looks automated. And before it calls the job finished, verify_timeline renders every frame the way an export would, so a frame that only looked fine in a sample does not get through.
  • inspect_timeline

    Renders frames of the cut and looks at them.

  • verify_timeline

    Renders the whole timeline the way an export would and reports every place the picture would fail — the last check before it says it is done.

  • get_problems

    What went wrong in the editor — a render that failed, footage that would not decode — with the timeline and frame where it happened.

  • inspect_media

    Looks inside a source clip before using it.

  • get_timeline

    Reads the structure back — tracks, clips, timing.

  • get_media

    The library, with scene samples for each asset.

  • get_transcript

    Word-level speech, with timings.

  • search_media

    “The drone shot over the reef.” Semantic search across everything in the project — by what is in the picture, or by what was said.

  • get_analysis_status

    How far the background analysis has got, and what failed.

  • manage_queue

    Control of that background work.

  • get_projects

    What projects exist on this machine, and which stock, sound and voice keys are connected.

03

Where does it get what it doesn't have?

It goes and finds it. Stock footage and photographs, sound effects and ambience, and narration in a voice you pick — sourced, downloaded into the project and cut in, without you opening another tab. Voices are generated on your own machine by default, with no key at all. Stock footage and sounds use your own free Pexels and Freesound keys — the editor asks once and links you straight to them, and a paid premium voice provider is there if you want it.
  • search_stock_media

    Searches Pexels for footage and stills.

  • download_stock_media

    Pulls one into the project.

  • search_sounds

    Searches Freesound for effects, ambience and foley.

  • download_sound

    Brings one in.

  • add_sfx

    The built-in effects pack — synthesised, licence-free, nothing to download and no key.

  • generate_voiceover

    Narration from a script, in a voice you choose.

  • list_voiceover_models

    Which voices are available to it.

  • organize_media

    Renames a file on disk, or takes it out of the pool without deleting it.

  • organize_pool

    Bins and what sits in them. Tidying never touches a file, so it cannot break a clip.

  • connect_media_folder

    Asks you to attach a folder of footage.

04

Who makes the titles?

The agent writes them, as code. A motion composition is an animated graphic — a title, an end card, an infographic — authored as React and dropped into the media pool like any other clip, then dragged onto the timeline. It is the same engine as Motion, living inside the editor: the graphic and the cut share one timeline instead of one being rendered somewhere else and imported.
  • create_motion_composition

    Writes a new animated graphic from scratch.

  • update_motion_composition

    Edits one that exists.

  • get_motion_composition

    Reads its source back.

  • list_motion_compositions

    What is in the project, and which properties you can tweak by hand.

05

What am I doing while it works?

Watching, if you want to. open_project points your tab at the project so the edit happens in front of you, clip by clip. Nothing is hidden and nothing is queued somewhere else — and every step the agent takes is one undo away.
  • open_project

    Opens the project in your tab so you can watch.

  • new_project

    Starts one — in the browser, with nothing to click, or in a folder on your disk if you ask for that.

  • close_project

    Hands the tab back.

  • set_active_timeline

    Chooses which timeline you are looking at.

  • set_project_settings

    A timeline's frame rate, resolution and name.

  • undo

    Takes back its own last edit, as many times as you like. Yours are never touched.

  • await_user_action

    Waits for you when it needs a decision, instead of guessing.

  • get_bug_report

    Prepares a bug report in the editor for you to read and save. The agent only gets a summary — nothing leaves your machine before you have seen it.

06

Can it follow a person?

One pass over the footage finds every face and stores a separate path for each — position, size and which way the head is turned, frame by frame. Somebody who walks out of shot and comes back is two sightings until you say they are one person, which is a single call. Then a label, a blur or a mask can be stuck to their head and it stays there.
  • track_faces

    Finds every face in a clip and follows each one.

  • list_face_tracks

    Who it found, for how long, and where it lost them.

  • merge_faces

    Two sightings, one person.

  • bind_face

    Sticks a clip to a face so it follows the head.

07

How does it know what good looks like?

It reads first. read_skill serves seventeen guides — how to cut at all, then how to cut the thing you asked for, how narration is built, how to prove the cut works before exporting, how to argue a piece into shape before calling it finished, and the craft of motion. It also carries the creative mandate: how far to run with a one-line brief before coming back to ask. An agent that only knows the API produces something that renders correctly and looks made by a machine, and that difference is most of what this layer is for.
  • read_skill

    Seventeen guides: craft, formats, voiceover, verification, review, and the whole Motion set.

  • request_ai_models

    Asks you to switch on the analysers it needs.

  • start_transcription

    Transcribes a clip on demand.

  • start_visual_indexing

    Indexes the picture for search. Rarely needed — it happens by itself.

  • retry_analysis

    Runs one failed analysis again.

  • get_job_status

    Progress on anything long-running.

Point your agent at it.

Setup is one command or one config file, and the editor is free.