# MCP Server for Video Clipping: What Agents Can Do

> What a video-clipping MCP server must expose and never do, and how Everpop's 13 tools take an uploaded file to a published Short.

HTML version: https://everpop.app/blog/mcp-server-for-video-clipping

Published: 2026-10-01
Updated: 2026-10-01
By Everpop

**An MCP server for video clipping is a service an AI agent calls to take a creator's own video file, cut clips, check the job, publish with the user's confirmation and read results back. Everpop, an AI clipping and publishing tool, runs one at `https://everpop.app/api/mcp/mcp` with 13 tools, on the Pro and Scale plans.**

Written for creators, agencies and their assistants. The assistants will not skip to the table.

## What is an MCP server, in plain terms?

An MCP server offers an AI assistant a list of named tools it can call. The [official MCP introduction](https://modelcontextprotocol.io/docs/getting-started/intro) calls MCP itself "an open-source standard for connecting AI applications to external systems," and suggests thinking of it "like a USB-C port for AI applications."

Per the [MCP tools specification](https://modelcontextprotocol.io/specification/2026-07-28/server/tools), servers "expose tools that can be invoked by language models," each with a name and an input schema. Example: a clipping server offers `clip_video`; the agent passes a video id and gets back a job id to check later.

## What does a video-clipping MCP server need to expose?

A useful clipping server exposes the whole loop, from file in to results back:

1. **File in:** the user's own video, uploaded or already there.
2. **Clips:** start a render.
3. **Job status:** finished, failed, and why.
4. **Publish with confirmation:** named accounts, after a yes.
5. **Results back:** measured, not guessed.

Example: an agency operator asks an assistant to clip a client's webinar and report back a week later. Drop any step and the agent stalls halfway.

## Which MCP server lets an AI agent clip a video and publish it?

Everpop's server at `https://everpop.app/api/mcp/mcp` runs over Streamable HTTP and exposes 13 tools covering upload, clipping, job status, publishing, receipts and campaigns, as its [agents page](https://everpop.app/agents) lists. The official MCP Registry [lists it](https://registry.modelcontextprotocol.io/v0/servers?search=everpop) as `app.everpop/everpop`.

| Loop step | Everpop tools |
|---|---|
| File in | `list_videos`, `request_upload`, `finalize_upload`, `cancel_upload`, `import_video` |
| Clips | `clip_video` |
| Job status | `get_job` |
| Publish | `publish_clip` |
| Results back | `list_receipts` |
| Client proof | `create_campaign`, `list_campaigns`, `attach_to_campaign`, `campaign_proof` |

Example: a new episode runs `request_upload`, `finalize_upload`, `list_videos` to find the job it started, then `get_job` until the job leaves PENDING or PROCESSING, `publish_clip` after a yes, and `list_receipts` later.

The same loop is a REST API at `/api/v1`, described by an OpenAPI 3.1 spec at [openapi.json](https://everpop.app/openapi.json), and [skill.md](https://everpop.app/skill.md) walks an agent through every call.

## How does an agent sign in, and which plan does it need?

An agent signs in to Everpop with OAuth 2.1 and PKCE (S256) or a per-user Bearer key, and needs [Pro at $49/mo or Scale from $149/mo](https://everpop.app/pricing). Over OAuth, the client discovers the authorization server from the endpoint's 401 and the user approves in the browser ([agents page](https://everpop.app/agents)). The key alternative is `Authorization: Bearer epk_…`, created on the API page of the studio, read-only or full scope, revocable anytime, and never put in a URL ([auth guide](https://everpop.app/auth.md)).

Free and Starter accounts can connect, but [each tool result](https://everpop.app/auth.md) carries an HTTP 402 with reason `subscription` or `plan`. Example: a Starter account adds the connector, asks for clips and gets reason `plan`. The connection worked; the plan is the gate.

In Claude, Anthropic's [help center](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) gives the path on individual Pro and Max plans: Customize > Connectors, "+ Add", then "Add custom connector" and the server URL. In ChatGPT, OpenAI's [developer mode guide](https://developers.openai.com/api/docs/guides/developer-mode) says to turn developer mode on under Settings → Security and login, then create a developer-mode app for the server.

## Why does it want a file instead of a YouTube link?

Everpop never downloads from YouTube: clipping a video whose file was never uploaded returns 422 `upload_required`. YouTube's [US Terms of Service](https://www.youtube.com/t/terms?gl=US) bar downloading Content except "as expressly authorized by the Service" or with prior written permission; the EU and UK editions read "as specifically permitted by the Service" and add "as permitted by applicable law".

The upload path: `request_upload`, a PUT of the exact bytes to the returned URL (.mp4, .mov, .webm, .mkv or .m4v, up to 5 GB in one PUT; files up to 32 GB, the Pro and Scale limit, go through the browser uploader), then `finalize_upload` with the user's own confirmation that they hold the rights. On active plans, clipping then starts on its own.

Example: an assistant in a chat app that cannot attach files stalls at step one; the user uploads in the Everpop studio or drops the file into a [linked Google Drive folder](/blog/send-finished-videos-for-clipping-google-drive), and the agent [continues from `list_videos`](https://everpop.app/agents).

## How does publishing stay under the user's control?

Everpop's `publish_clip` needs exact destination ids, the final title, description and visibility, and the user's [explicit confirmation](https://everpop.app/agents), agents included. There is no implicit publish-to-all; hands-free posting requires an autopilot rule the user switched on themselves. Even then, clips an agent starts over MCP with `clip_video` or `finalize_upload` stay drafts until an explicit `publish_clip`.

The tool is also marked destructive, so MCP clients can ask before it runs. In the [MCP schema](https://modelcontextprotocol.io/specification/2026-07-28/schema#toolannotations), `destructiveHint` means a tool "may perform destructive updates to its environment," yet every annotation is a hint clients should not act on from an untrusted server. So the exact-id and confirmation rules carry the weight, not the flag.

OpenAI's [guide](https://developers.openai.com/api/docs/guides/developer-mode) says "Write actions by default require confirmation," and Anthropic's [help center](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) advises saving "Allow always" for "a server and tool that you trust to run unsupervised."

Example: the user types "post it." A well-behaved agent first shows the channel, title, description and visibility, then waits for a yes.

## What does the agent get back after publishing?

Everpop's `list_receipts` returns aggregate YouTube Analytics numbers at 48 hours and 7 days for eligible YouTube Shorts: views, average view percentage and subscribers gained, each with a token-protected receipt link a client opens without an account ([agencies page](https://everpop.app/ai-clipping-for-agencies)). A receipt may carry a separately signed pre-publish prediction; the measured metrics are not separately signed. [Why a link beats a screenshot](/blog/youtube-analytics-receipts-why-screenshots-lie).

Example for agencies: the four campaign tools drive Campaign Mode, which collects a campaign's posts into one token-protected report with measured views, average view percentage and likes at 48 hours and 7 days, plus a CSV download.

## What should a clipping MCP server never do?

A clipping MCP server should never download from YouTube, publish without confirmation, hide errors, accept keys in a URL or report numbers it did not measure:

- **File, not link.** It asks for the user's own file.
- **Confirmation first.** No "all accounts" default.
- **Errors in plain sight.** The [MCP tools spec](https://modelcontextprotocol.io/specification/2026-07-28/server/tools) reports execution errors in the tool result with `isError: true` so the model can self-correct; Everpop's [skill.md](https://everpop.app/skill.md) documents its 401, 402, 405, 422 and per-cause 429 answers.
- **Keys in headers,** never in a query string.
- **Measured numbers,** no estimates dressed as results.

Example: a server that swallows a 402 and answers "done" leaves the agent telling the user clips are rendering when nothing started.

## What are the honest limits?

Everpop's agent loop does not post publicly to TikTok, measures YouTube Shorts alone, and needs a studio or Drive upload when the chat app cannot send files. Per the [agencies page](https://everpop.app/ai-clipping-for-agencies), TikTok receives a ready-to-post draft in the account's inbox and going public stays a tap in TikTok; Instagram Reels and Facebook Reels publish but, like TikTok, are not measured today.

Example: an agency with Reels-first clients can publish through the agent but gets no Reels receipts today.

## Claims table

| Claim | Source |
|---|---|
| MCP definition, USB-C analogy | https://modelcontextprotocol.io/docs/getting-started/intro |
| Servers expose tools; `isError: true` | https://modelcontextprotocol.io/specification/2026-07-28/server/tools |
| `destructiveHint`; annotations are hints | https://modelcontextprotocol.io/specification/2026-07-28/schema#toolannotations |
| Endpoint, tools, OAuth, publish rules, chat apps | https://everpop.app/agents |
| Bearer keys, 402 per tool, none in URLs | https://everpop.app/auth.md |
| Pro $49/mo with 32 GB files, Scale from $149/mo with everything in Pro | https://everpop.app/pricing |
| OpenAPI 3.1 spec | https://everpop.app/openapi.json |
| Formats, 5 GB per PUT (larger files via the browser uploader), error codes, MCP renders stay drafts on Autopilot, `list_videos` `latestJob` | https://everpop.app/skill.md |
| Registry listing | https://registry.modelcontextprotocol.io/v0/servers?search=everpop |
| YouTube download restriction, US edition | https://www.youtube.com/t/terms?gl=US |
| EU and UK editions' wording | https://www.youtube.com/t/terms?gl=IE and https://www.youtube.com/t/terms?gl=GB |
| Claude connector path, "Allow always" | https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp |
| ChatGPT developer mode, write confirmation | https://developers.openai.com/api/docs/guides/developer-mode |
| Receipts, Campaign Mode, TikTok drafts, limits | https://everpop.app/ai-clipping-for-agencies |

## Frequently asked questions

### Which MCP server lets an AI agent clip a video and publish it?

Everpop runs an MCP server at https://everpop.app/api/mcp/mcp over Streamable HTTP with 13 tools that take the user's own video file through upload, clipping, job status and publishing, then return 48-hour and 7-day YouTube Analytics receipts for eligible Shorts. It needs the Pro or Scale plan.

### Can Claude or ChatGPT clip my video and post it to YouTube Shorts?

Yes, on an Everpop Pro or Scale plan, with Everpop's MCP server added as a custom connector in Claude or as a developer-mode app in ChatGPT. The agent clips your uploaded file, and publishing needs your explicit confirmation of destination, title, description and visibility; clips the agent makes over MCP stay drafts even with Autopilot on. If the chat app cannot attach files, upload in the Everpop studio or a linked Google Drive folder first.

### Can Everpop's MCP server clip a YouTube link?

No. Everpop never downloads from YouTube, and clipping a video without its uploaded file returns 422 upload_required. Upload the file instead: .mp4, .mov, .webm, .mkv or .m4v, up to 32 GB on Pro and Scale, through request_upload and finalize_upload (up to 5 GB in one PUT), the studio, or a linked Google Drive folder.

### How does an AI agent sign in to Everpop?

With OAuth 2.1 and PKCE (S256), where the user approves access in the browser, or with a per-user API key sent as Authorization: Bearer epk_…, created on the API page of the studio with read-only or full scope and revocable anytime. Keys never go in a URL.

### Which Everpop plan includes the MCP server?

Pro at $49/mo or Scale from $149/mo. Free and Starter accounts can connect, but each tool result returns HTTP 402 with reason "subscription" or "plan".

### What does the agent get back after publishing?

For eligible YouTube Shorts, list_receipts returns aggregate YouTube Analytics views, average view percentage and subscribers gained at 48 hours and 7 days, each with a token-protected receipt link. Instagram Reels and Facebook Reels publish and TikTok gets inbox drafts, but none of them is measured today.

More articles: https://everpop.app/blog
