vidmoat

Vidmoat is an AI video editor built for agents.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • List Projects: List the 20 most recently edited Vidmoat video projects (id, name, updatedAt).
  • Get Project: Get a project: settings, tracks, and a per-clip summary (id, type, name, start, duration, trackIndex). Pass full=true for the complete editor document including keyframes, effects and tex
  • Create Project: Create a new empty video project and return its id.

What data it sees

Do you need an account

No: the server works without sign-in

Vidmoat is an AI video editor built for agents. Tell the built-in AI what you want—or plug in Claude or Cursor—and it automatically cuts dead air, writes karaoke captions, removes backgrounds, and reframes your video for every platform.

How to connect

How to connect vidmoat to Claude

The server address to paste into Claude settings:

https://vidmoat--sharksinternet.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect vidmoat to ChatGPT

The server address to paste into ChatGPT settings:

https://vidmoat--sharksinternet.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect vidmoat to Cursor

The server address to paste into Cursor settings:

https://vidmoat--sharksinternet.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (16)

Raw names from tools/list. Only developers need these.

list_projectsList the 20 most recently edited Vidmoat video projects (id, name, updatedAt).
get_projectGet a project: settings, tracks, and a per-clip summary (id, type, name, start, duration, trackIndex). Pass full=true for the complete editor document including keyframes, effects and text styles.
create_projectCreate a new empty video project and return its id.
get_command_schemaGet the full timeline command schema — every operation edit_project accepts, with parameters. Call this once before your first edit_project call.
edit_projectApply timeline editing commands to a project (add/trim/split/style clips, captions, keyframes, effects, transitions, and more). Commands are `{ op, ...params }` objects — discover them with get_command_schema. Returns per-command results PLUS layout lint warnings (overlapping text, offscreen elements, unreadable sizes) — always fix lint warnings before rendering. Pass previewAt:[times] to get rendered frames back as images in this same response and SEE your edit immediately. Omit projectId to edit the most recent project; set dryRun=true to preview without saving.
render_projectQueue a video export (render) of a project. Returns a jobId to poll with get_render_status. Plan limits (resolution cap, watermark, export quota) apply.
get_render_statusCheck a render job: status (PENDING/PROCESSING/COMPLETED/FAILED), progress 0-100, and the download URL when completed.
import_mediaFetch a public media URL (video, audio, or image) into the Vidmoat media store. Returns a durable url to pass as `src` to edit_project addClip, plus the probed duration in seconds. Use this to bring footage, music, or images into a project.
preview_frameSEE the video: renders the project frame at a timestamp exactly as the editor/export pipeline draws it (clips, keyframes, effects, captions) and returns the image. Use it after edits to check composition, overlap, readability and color before rendering. Takes a few seconds.
transcribeGet word-level timings for captions. Two modes: pass `src` (an audio/video URL, e.g. a clip src) for real speech-to-text (uses AI credits), OR pass `script` + `duration` (+ optional `start`) to distribute known text across a time range for free. Feed the returned words[] into edit_project addCaptions.
analyze_visual_contextSEE the video cheaply: classical pixel-math analysis (no vision model, no AI credits) of a video src — shot/cut boundaries, per-shot brightness/saturation/dominant color/motion score/sharpness, letterbox detection, and overall "is this static/talking-head" signal. Use this BEFORE editing footage you have not seen — to find where cuts already are, avoid trimming into a blurry shot, or know if a shot has heavy motion (steady it or lean into it). Cheap and fast — call it freely, it never costs credits.
analyze_audio_contextHEAR the audio cheaply: classical waveform analysis (no speech model, no AI credits) of a video/audio src — windowed loudness (dBFS), silence regions, clipping/distortion detection, dynamic range. The returned silenceRegions match Clip.silenceRegions exactly, so pass them straight to edit_project updateClip (field silenceRegions) then call trimSilence — no need to detect silence yourself. Cheap and fast — call it freely, it never costs credits.
generate_stickerGenerate a transparent AI sticker from a text prompt (premium feature, uses AI credits). Returns a url to use as an image clip src via edit_project addClip. Styles: cartoon, kawaii, retro, neon, 3d, minimal.
inject_html_animationInject a large, self-contained HTML/CSS element into a Vidmoat project as a new clip — for designed graphics too complex for the standard shape/text commands (lower thirds, animated title cards, stat blocks, gradient backgrounds). CSS-ONLY: animate with CSS keyframes/transitions, not JavaScript — <script> tags, inline event handlers, and external resource loads (iframe/link/@import) are stripped before rendering (the element rasterizes as a static image per frame, so script wouldn't execute even if it survived). System fonts, gradients, flexbox, emoji, and inline SVG all work.
list_community_effectsList approved GLSL shader effects submitted by creators on fx.vidmoat.com (id, name, description, category, usage count), ordered most-used first. These render through the same sandboxed custom-shader pipeline as any hand-written effect — apply one with get_community_effect + edit_project addEffect. Applying one credits its creator toward a usage-based payout.
get_community_effectGet one approved community effect by id, including its full GLSL shaderSource — pass effectId from list_community_effects. Apply the result with edit_project: addEffect{ clipId, type:"custom-shader", shader:<shaderSource>, marketplaceEffectId:<id>, colorA:<colorA.default if present> }.