MCP App Store
by KeenEthics

Overview

VDClip turns long videos into short-form content, end to end, inside ChatGPT. Paste a YouTube or video URL and its AI finds the strongest moments and extracts them as ready-to-post clips, each ranked by a virality score so the best ones surface first. It can also caption a full video instead, transcribing in 22 languages. From there, refine any clip in a live mini-editor that renders inside the conversation: restyle animated captions, add background music, apply your brand colors, fonts and logo, reframe to 9:16, 1:1, 4:5 or 16:9, and adjust the timeline. Every change is previewed as an exact diff before it is applied, and anything that removes content asks for confirmation first. When a clip is ready, render it to MP4 and publish or schedule it to your connected TikTok, Instagram, YouTube and Facebook accounts, including bulk scheduling across a week. VDClip quotes the credit cost before starting any paid job and never posts without your approval.

Tools

cancel_post

ChatGPT
Cancel and remove one or more scheduled posts by their internal post ids (1-100). Pass a single-element array to cancel one post; pass multiple ids to cancel in bulk. Posts already published are skipped. The action cannot be undone.

confirm_render_upload

ChatGPT
Mark a browser-render upload as complete (after PUTting the bytes to the request_render_upload URL). Best-effort: the render already exists in storage once the PUT succeeds, so this never fails the call — check the ok field.

create_project

ChatGPT
Create a project. type=clipping generates clips with AI; type=captions adds captions with AI — both consume credits, need video_url (any public URL) + language, and return project_id to poll with get_project_status. type=editor creates an editable project with NO AI and NO credits, and opens it in the editor widget: pass video_url (or video_urls, up to five) with your own uploads.vdclip.com source(s), or omit both for a blank project the user fills in from the editor UI. Video upload only happens through the VDClip platform (uploads.vdclip.com) — this tool cannot accept a file attached in chat; if the user wants to edit an attached video, tell them to upload it via VDClip first and share the resulting link, or open a blank project instead. For the AI types, ask the user first for: (1) the content category (it steers captions too, not just cuts), (2) the preferred clip length (clip_durations) if clipping, and (3) whether to apply a template. If the user NAMES a built-in caption style, pass it straight through as preset_id using its slug (vdclip-impact, wave, shake, tiktok-viral, instagram-story, youtube-shorts, power, attention, neon-pink, neon-cyan, clean, hormozi, spotlight, karaoke-classic, slide-in, stomp, pop-words, typewriter) — do NOT call list_templates first, it opens the templates picker in front of the user for no reason. Call list_templates only to browse the account's SAVED templates, or when the user asked for a template but has not said which.

estimate_cost

ChatGPT
Estimate how many credits a job will cost, and whether the balance covers it. clipping/captions are billed at create_project time; editor is billed at render time (render_clip) — call this before rendering an editor project. Pass duration_seconds, OR video_url (YouTube etc.) to have the server resolve the duration.

get_account

ChatGPT
The connected user's identity and account state: first_name, last_name, plan, active credits and plan_expires_at (paid plans only). Use to greet the user and check plan/credits before gated or credit-consuming operations.

get_capabilities

ChatGPT
What THIS user can do: plan-gated features + catalogs (presets/templates/transitions/voices) + limits. Use up front to learn which tools/resources are enabled.

get_clip

ChatGPT
Detail of one clip (result): processing status, project id, rendering_status, browser_render_ready. Also includes render status (download_url when rendered).

get_project

ChatGPT
Open a clip's editable project in the live editor widget and return its compact summary (overlays, timing, version tag). Use before editing; the summary's #ids identify overlays. For the status of an AI job that is still generating clips, use get_project_status instead.

get_project_share

ChatGPT
Query a project's public link state (external_id + visibility). Use to check whether a link already exists before creating one.

get_project_status

ChatGPT
Processing status of a project. status is pending/processing/completed/failed; step is the pipeline stage index; error_code (when failed) is one of CONCURRENT_PROCESSING_LIMIT, EMAIL_NOT_VERIFIED, PROVIDER_DISABLED, PLAN_RESTRICTED, PROJECT_PROCESSING_ERROR, VIDEO_DURATION_TOO_SHORT, VIDEO_DURATION_TOO_LONG. Poll after create_project until completed, then list_clips.

get_project_summary

ChatGPT
Compact summary of a clip's editable project (overlays, timing, version tag) without opening the editor widget.

get_transcript

ChatGPT
Read the project's timed text (captions and on-screen text) with start/end times. Use it to find WHEN something is said, then cut or edit that range — e.g. "remove the part about pricing".

list_calendar

ChatGPT
List scheduled/published posts on the calendar, cursor-paginated and with an optional date-range filter. Returns stats: the user's plan-level posting quota (day_used/day_limit, month_used/month_limit); derive remaining = limit - used before scheduling.

list_clips

ChatGPT
List the generated clips of a project (cursor-paginated). Each item carries clip_id, title, a short description/sample, highlight tags, duration, score (0-100 virality rank, higher = better), liked/disliked, status and rendering_status. Sort by score to pick the best clip. rendering_status=completed means the clip is rendered; get its signed MP4 URL via get_clip (render with render_clip first if needed).

list_projects

ChatGPT
List one widget-sized page of the user's projects (up to 9, cursor-paginated). For ordinary show/list requests, call this tool exactly once. Do not follow next_cursor automatically; pass cursor only when the user explicitly asks for more projects. Each item carries id, title, status, ai_type, aspect_ratio and duration. Pass id to get_project_status to poll progress, or to list_clips for its clips.

list_social_accounts

ChatGPT
List the connected social accounts. Each item is already shaped for publish_clip: copy account_id, platform, connection_id, user_name and user_handle straight into the accounts array. needs_reauth=true means the token expired and the account cannot publish until reconnected.

list_templates

ChatGPT
List the user's/team's saved templates (id, name, is_default) plus the built-in caption presets (kind: "preset"), organized so the user can pick a style. Use an item's id as create_project's preset_id (a saved template id or a preset id such as tiktok-viral).

publish_clip

ChatGPT
POST the video to TikTok, Instagram, YouTube or Facebook — this is what "publish", "post it", "put it on TikTok" and "schedule for tomorrow" mean. Call list_social_accounts first for the account ids. is_scheduled=true requires scheduled_date (ISO 8601); otherwise it publishes immediately. Side effect: creates real post(s) on the platforms.

rate_clip

ChatGPT
Signal feedback on a clip: "like" approves it for ranking; "dislike" rejects it. Neither action deletes the clip. Use when the user explicitly approves or rejects a clip.

render_clip

ChatGPT
EXPORT the finished video so the user can download or post it — this is what "export", "render", "download it" and "I want the file" mean. For ai_type=editor projects this is the billing point (call estimate_cost first); clipping/captions results were already charged at creation, so re-rendering them is free. Quality is plan-gated. method=browser (WebCodecs) or cloud. Returns render_id + version; poll get_clip for status and download_url.

request_render_upload

ChatGPT
Prepare a direct upload of a browser-encoded (WebCodecs) render result: returns a presigned PUT URL + the exact headers to echo. PUT the render bytes, then call confirm_render_upload with the returned version. Only used for method=browser renders — cloud renders upload server-side.

reschedule_post

ChatGPT
Update a scheduled post: new title, description and/or date. Partial PATCH: only the sent fields change. Use to move the date or fix the text before publishing.

schedule_clips_bulk

ChatGPT
Schedule many clips across many accounts in one call. The backend distributes the posts over time by frequency, inside an 08:00-22:00 local window, and enforces the plan's daily/monthly limits. Requires a plan that allows scheduling. Returns post_ids plus a schedule_preview and skipped_clips (e.g. not_rendered). Side effect: creates scheduled posts.

set_project_share

ChatGPT
Create or update a project's public link. visibility=public exposes the finished clips; private restricts them. Use when enabling or changing sharing.

Capabilities

InteractiveWrites

Example Prompts

Click any prompt to copy it.

Similar Apps