Give your AI coworker specialist video tools

Start with an editable brief in Cadre, then open it in ChatGPT Work or Claude Cowork. Your assistant can inspect the project and make cuts, zooms, captions, layout and style changes through Cadre's local tools. You review the request before sending it and review every resulting edit on the Cadre timeline.

Available now: open Edit with AI in Cadre and choose ChatGPT Work or Claude Cowork. Coding-agent connections remain available below.

Overview

Cadre is specialist recording and non-destructive video-editing software for Apple Silicon Macs. Its local Agent API lets a compatible desktop assistant operate the same project and timeline the person sees in the app.

Cadre's editor is fully data-driven — a project is a manifest plus timeline data, and the app already speaks a typed command protocol internally. The Agent API wraps that surface in a Model Context Protocol (MCP) server that runs inside the app, bound to 127.0.0.1 on an ephemeral port.

Recording uses the same main-process start path rather than a privileged shortcut: an agent can start, pause, resume and stop a take, and Cadre creates the floating recording controls. The countdown defaults on but can be disabled; screen/area highlighting and display dimming are conditional cues. Everything after the take — inspecting the timeline, zooming, cutting, captioning, styling and exporting — is available as tools your agent can call.

Read the complete open specification

The concise guide on this page is backed by three complete, server-rendered references. Each page also links its exact Markdown encoding for tools that prefer plain text.

  • Agent API overview — discovery, MCP connection, authentication, lifecycle, security and errors.
  • 62-tool reference — every parameter, constraint, result, error and worked workflow.
  • Project format — the .screencraft layout, persisted fields and live-versus-offline editing boundary.
  • Public cross-agent skills and Claude plugin source — independently versioned standalone v1.1.0 with the MIT-licensed editing and motion-graphics skills plus the token-free local MCP bridge. Its dated compatibility record covers Cadre 1.0.0-rc.33's asynchronous 60-tool contract and background-job lifecycle; it is historical evidence, not the current release identifier or primary Work/Cowork setup guidance.
  • Current compatibility evidence — authenticated rc.33 and standalone plugin v1.0.2 MCP initialization, exact ordered 60-tool discovery and one benign get_app_state call, with explicit non-proofs.
  • Earlier rc.20 compatibility evidence — the frozen record of the same plugin against rc.20's 57-tool surface, superseded by the rc.33 record above.
  • Measured handshake evidence — the historical signed rc.18 build's reproducible 54-tool handshake and sanitized local latency record.

These documents describe the public local control surface. They do not expose Cadre's private application source code or create a hosted remote API.

Cadre Agent API at a glance

ProtocolModel Context Protocol over stateless Streamable HTTP transports, with bounded boot-local state for long jobs.
Network boundaryLoopback only: 127.0.0.1 on an ephemeral port. It is not a hosted public API.
AuthenticationA fresh 32-byte bearer token on every app launch, checked on every request.
Tool surface62 tools for recording, project inspection, cuts, zooms, camera layouts, captions, styles, audio, export, history, motion graphics and long-job lifecycle.
Primary setupReviewable editing-request handoffs for ChatGPT Work and Claude Cowork from Edit with AI. Claude Code, Codex and compatible MCP clients can use the same local control surface.
Mutation modelAgent edits use the same validated timeline actions, undo history, autosave and export licence gate as manual edits.
Privacy boundaryProjects and caption transcription stay on the Mac. A connected assistant can request project context through the tools and follows its provider's plan, permissions and data policy.

Connect your desktop assistant

Install the ChatGPT or Claude desktop app on the same Mac as Cadre. Open a recording, choose Edit with AI, and write the result you want in What would you like to change?. Cadre includes the selected project ID and your brief in the request it prepares.

Cadre → Edit with AI
 Recording open
 Project included in the draft
 Request remains yours to send

 Turn this into a concise customer tutorial.
  Keep the setup explanation, cut the pauses, focus the
  product and add clear captions.

ChatGPT Work

Click Connect & open. Cadre installs its local plugin and opens a ChatGPT draft with your brief and selected project. Review the draft, press Send, and keep ChatGPT and Cadre open while the assistant works. Later requests use Open in ChatGPT. Cadre refreshes the private local connection after restarts.

Claude Cowork

Click Set up Cowork. Cadre prepares a ZIP containing its editing and motion-graphics skills plus a token-free local bridge; no Node.js installation or terminal command is required. Upload that ZIP once in Claude's Customize → Plugins screen and enable Cadre. Then return to Cadre, choose Open in Cowork, review the prepared draft and press Send. Keep Claude Desktop and Cadre open while editing.

Local-app boundary: a cloud-only chat cannot reach Cadre's localhost service. Organization settings can also disable local tools or personal plugins. Cadre's automated tests verify draft creation, plugin preparation and local bridge connectivity; they do not substitute for reviewing the request and resulting video in the assistant and Cadre.

Cadre sells the recorder, editor, renderer and integrations. It includes no AI credits or Cadre-funded inference. Assistant usage comes from your own ChatGPT or Claude account and remains subject to that provider's plan, limits, permissions and data policy.

Coding agents and generic MCP clients

Claude Code and Codex remain supported local clients, and any compatible MCP client can use the published control surface. Cadre's in-app setup installs the shared cadre-editor and cadre-motion-graphics workflows; developers can also use the public plugin source and the manual registration steps in the complete specification.

The public standalone v1.1.0 plugin and the v1.0.1 plugin bundled in Cadre 1.0.0-rc.20 require a local Node.js runtime. Cadre 1.0.0-rc.20 preflights Node before preparing its bundled archive. The historical signed rc.18 app does not preflight Node before preparing its earlier archive. The launchers locate a maintained Node.js 22, 24 or 26 release.

Auth & security

  • Localhost only. The server binds to 127.0.0.1 on an ephemeral port — never a public interface.
  • Bearer token on every request. A fresh 32-byte token is minted each boot; supplied and expected values are SHA-256 hashed, then the fixed-width digests are compared with timingSafeEqual.
  • Owned long jobs. Imports, transcription and model downloads return immediately with a separate random job token. That exact token is required to poll or cancel, results expire after 15 minutes, and all job state disappears on restart.
  • Recording uses the shared UI path. An agent can start, pause, resume and stop a recording; Cadre creates the floating recording controls. The countdown defaults on but can be disabled, while screen/area highlighting and display dimming are conditional cues. macOS TCC still governs desktop capture.
  • Nothing you type is recorded. Cadre logs clicks, scrolls and shortcut combinations — never the characters you type. There is no typed text in a project for an agent to read, because none was ever written.
  • The paywall still applies. Export is licence-gated server-side — an agent hits the same LICENSE_REQUIRED gate the UI does, and cannot bypass it.

Tool reference (v1)

The v1 server exposes 62 tools. Calls validate their arguments and return verifiable results. Imports, transcription, caption generation and model downloads return a job receipt immediately, then use explicit status/result tools so a client's short call deadline cannot interrupt valid local work.

ToolWhat it does
get_app_stateCurrent app + license status and whether a project is open.
list_recording_sources / get_recording_statusInspect recordable screens, windows, iOS devices, microphones, permissions and current capture state.
start_recording / stop_recordingStart a visible recording through the normal app UI, then finalise and open the new project.
pause_recording / resume_recordingPause and continue a take without losing the completed segments.
cancel_recordingDestructively abandon a take; MCP clients mark this action as destructive.
list_projectsList indexed projects available to open.
open_projectLoad a project and navigate the app to the editor.
import_videoTurn an MP4, MOV or other supported video into a Cadre project.
get_agent_job_status / get_agent_job_result / cancel_agent_jobPoll, read or cancel one owned long-running import, transcription or model-download job.
get_timelineSnapshot the timeline: durations, zooms, cuts, speeds, captions.
map_time / analyze_audioConvert preview timestamps and find real dead-air ranges.
get_recording_context / generate_transcriptRead private, time-aligned speech without adding visible captions.
get_interaction_context / analyze_visual_contextUnderstand clicks and on-screen text locally without image tokens.
get_video_frameRequest one small visual frame only when text context is insufficient.
get_edited_frameInspect the composited result after cuts, zooms, captions, overlays and styling.
add_zoom / update_zoom / delete_zoomManage cinematic zoom keyframes with spring easing.
add_cut / update_cut / delete_cutRipple-delete or adjust cut regions to remove dead air.
set_speedSet a speed segment (with ramp in/out) over a time range.
add_mask / update_mask / delete_maskBlur sensitive regions or spotlight part of the frame.
add_text_overlay / add_svg_overlay / update_overlay / delete_overlayAdd animated titles, callouts and graphics.
add_camera_layout / update_camera_layout / delete_camera_layoutSet the camera to fill the frame, sit in a corner or stay hidden over a span of the recording.
list_captions / add_caption / update_caption / delete_captionRead and edit individual caption segments.
generate_captionsTranscribe the voiceover on-device with Whisper.
list_caption_models / download_caption_model / set_caption_styleManage on-device transcription and caption presentation.
set_styleUpdate background, frame, cursor, keyboard, motion or webcam style.
set_musicAttach or update a background music track.
set_audio_gainsBalance system, mic and music levels.
undo / redoStep the editor history backward or forward.
save_projectPersist the current edit state to disk.
export_videoRender the project to MP4 (licence-gated).
get_export_statusPoll progress of an in-flight export.
cancel_exportCancel a running export.
get_license_statusCheck licence state before exporting.

Example prompts

You talk to your agent the way you'd talk to an editor. A few that map cleanly onto the tools above:

Tighten this demo.

The agent calls get_timeline, finds silent gaps and slow stretches, then add_cut to ripple-delete dead air and set_speed to ramp through the slow parts — turning a rambling take into a tight one.

Zoom on the terminal every time I click into it.

It reads the click and scroll activity from the interaction log and places add_zoom keyframes over those moments, letting Cadre's spring physics push in and ease back out around each one.

Caption it and export for X.

The agent runs generate_captions on-device, applies a caption style with set_style, then export_video and polls get_export_status until the MP4 is ready.

Errors

Failures come back as a structured { code, message, hint } object, so an agent can branch on the code rather than parse prose.

CodeMeaning
EDITOR_NOT_AVAILABLENo editor window is open to receive edit commands.
NO_PROJECT_OPENA project must be opened before editing.
LICENSE_REQUIREDExport needs an active licence — the paywall, applied to agents too.
EXPORT_IN_PROGRESSAn export is already running; cancel or wait.
INVALID_ARGSTool arguments failed validation.
NOT_FOUNDThe referenced project or timeline item does not exist.
INTERNALAn unexpected error inside the app.
Want to build against it? The control surface ships as an open spec so any agent — not only Codex or Claude Code — can drive Cadre. Get the app and connect from Preferences.