MCP tools
The 32 tools on OpenClip's full MCP server, the 13-tool ChatGPT app, and the 27-tool Claude connector.
The full OpenClip MCP server exposes 32 tools. This page is an overview so you know what is there. The canonical, always-current parameter reference is the skill bundle at https://openclip.app/mcp/skill (its SKILL.md and reference.md) and the machine-readable page at https://openclip.app/mcp.md. Those files are kept in lockstep with the server by CI; this page deliberately does not duplicate their parameter-level detail.
Not set up yet? Start at Connect over MCP.
Endpoint scope
| Endpoint | Authentication | Tools |
|---|---|---|
https://openclip.app/mcp | OAuth | Full 32-tool server |
https://openclip.app/mcp/key | Bearer token | Full 32-tool server |
https://openclip.app/mcp/app | OAuth | Curated 13-tool ChatGPT app |
https://openclip.app/mcp/claude | OAuth | 27-tool Claude connector and plugin |
The ChatGPT endpoint exposes 13 tools: get_account, search_docs, submit_video, list_videos, get_video_status, get_render_status, list_clips, render_clip, list_caption_presets, list_supported_providers, get_transcript, create_upload, and caption_video. Claude includes those capabilities plus get_usage, complete_upload, list_agents, create_agent, update_agent, describe_agent_settings, create_agent_logo_upload, set_agent_logo, transcribe, edit_video, convert_media, extract_thumbnails, edit_image, and get_tool_job_status (27 total). Only remove_background, generate_ugc, get_ugc_job_status, list_ugc_creators, and list_ugc_jobs are excluded from Claude.
ChatGPT can pass a video attachment directly to its create_upload; Claude and full MCP accept video/audio/image files through a presigned PUT URL. The returned video id identifies any upload, including images; uploaded: false means bytes still need to be transferred. Claude and full MCP expose agent selection on submit_video. Both return their entire tool inventory on the first discovery page. The sections below describe the full 32-tool server.
Clipping pipeline
The paid core flow: submit a long video, poll until processed, read the ranked Viral Moments, render captioned clips.
get_video_status reports stage-weighted progress while processing and 100% once the video is completed, including workflows that skip clip detection. Video processing and final captioned rendering are separate: use get_render_status to confirm a final render is ready.
An available preview is not_rendered until a final render is dispatched. Only a dispatched render reports rendering; rendering one moment does not mark untouched clips as in progress.
| Tool | What it does |
|---|---|
submit_video | Submit a source video URL (YouTube, Vimeo, Google Drive, Dropbox, OneDrive, and more) to start clip detection |
get_video_status | Poll one video's processing status until it completes or fails |
list_clips | List a video's detected Viral Moments: hook, virality score, timestamps, clip URLs |
render_clip | Produce a final captioned render of one Viral Moment |
get_render_status | Check the render state of a video's Viral Moments |
list_caption_presets | List the caption style presets available for rendering |
get_transcript | Get a processed video's time-coded transcript, sliceable by millisecond window |
list_supported_providers | List the video sources submit_video accepts |
list_videos | List the team's videos, most recent first |
Uploads
| Tool | What it does |
|---|---|
create_upload | Import a ChatGPT attachment with its file reference, or create a presigned URL and PUT local bytes; then use caption_video for whole-video captions or complete_upload for the paid clipping pipeline |
complete_upload | Finish an upload and start the paid clipping pipeline (skip this for free tools and caption_video) |
Captions for any short video
Quick Captions for agents: caption a whole short video, such as a finished edit or a UGC clip, without the clipping pipeline. No credits; the Free plan gets two captioned Videos a month, paid plans are unlimited.
| Tool | What it does |
|---|---|
caption_video | Transcribe an uploaded video of up to three minutes and render it as a captioned MP4 in a caption preset; poll get_video_status, then get_render_status for the MP4 |
Free media utilities
These need an account but no subscription. All are async: they return a tool_job id you poll.
| Tool | What it does |
|---|---|
transcribe | Transcribe an uploaded video into time-coded text with JSON, SRT, and VTT downloads |
edit_video | Crop, trim, rotate, resize, compress, or mute an uploaded video |
convert_media | Convert an uploaded file to another video container, a GIF, or an audio format |
extract_thumbnails | Extract evenly spaced thumbnail frames from an uploaded video |
edit_image | Compress, resize, or crop an uploaded image |
remove_background | Remove an image's background and return a transparent PNG |
get_tool_job_status | Poll a free tool job until it completes or fails |
UGC generation
| Tool | What it does |
|---|---|
generate_ugc | Generate a short vertical UGC-style video from a creative brief |
get_ugc_job_status | Poll a UGC generation job for its status and final clip URL |
list_ugc_creators | List the UGC spokespersons available to your team, grouped by niche |
list_ugc_jobs | List the team's UGC generation jobs, most recent first |
Account and presets
| Tool | What it does |
|---|---|
get_account | Return the connected account: identity, team, and remaining credits |
get_usage | Return the team's credit balance and recent usage history |
list_agents | List the team's saved processing agents and caption presets |
create_agent | Create a processing agent for the team |
update_agent | Update one of the team's agents |
describe_agent_settings | Describe every nested agent setting, its type, and allowed values |
create_agent_logo_upload | Start uploading a logo image for an agent's watermark |
set_agent_logo | Finish setting an agent's logo after the upload |
Documentation
| Tool | What it does |
|---|---|
search_docs | Search this documentation and return the most relevant pages with excerpts |
How the tools behave
Four patterns show up everywhere:
- Poll, don't wait. Long jobs (
submit_video,render_clip,caption_video, free tools, UGC) return an id immediately; poll the matching status tool until the state is terminal. - Ids are opaque hashids. Pass them back exactly as returned.
- Times are milliseconds across clips and transcripts, so a clip's window slots straight into
get_transcript. - Payment failures pause credit-funded tools. On the full MCP server,
submit_videoandget_video_statusreturn a recovery message andbilling_urlwhen a failed subscription payment parks a video inpending_credits.payment_required: trueopens the billing portal while Stripe can retry;subscription_required: trueopens a new checkout after terminal dunning. Stop polling, recover at that URL, then check again. Other paid tools, includinggenerate_ugc, return equivalent guidance before work starts. The ChatGPT app and Claude endpoints instead return an account-restriction message without transactional links or subscription buttons.