MCP · REST · OpenAPI · Receipts
Your agent has the brains. Everpop is the hands.
Hand your agent the whole popping engine, end-to-end: it delivers the file, distills the sharpest moments, publishes to the user's own channel — on their instruction, never anyone else's account — and reads back real measured results, receipt by receipt. Every step a plain API call; never leaving the API.
Everpop's MCP server and REST API, in two sentences
Everpop runs an MCP server at https://everpop.app/api/mcp/mcp (Streamable HTTP) with 13 tools, plus a REST API with an OpenAPI spec, so an agent can clip the user's own video, publish it and read the results — it connects with OAuth 2.1 + PKCE or an Authorization: Bearer epk_… key and needs Pro ($49/mo) or Scale, while Free and Starter accounts get a 402 with reason "subscription" or "plan".
Input is the user's own file (MP4, MOV, WEBM, MKV or M4V, up to 4 GB) — a pasted YouTube link is never downloaded and clipping a video without its file returns 422 upload_required — and publishing needs exact destination ids plus the user's explicit confirmation; in a chat app without file access, the user uploads in the studio or a linked Drive folder and the agent continues from list_videos.
list_videosrequest_uploadcancel_uploadfinalize_uploadimport_videoclip_videoget_jobpublish_cliplist_receiptscreate_campaignlist_campaignsattach_to_campaigncampaign_proof
The whole loop, by API
1.Upload the file
POST /api/v1/videos/upload → presigned PUT → POST /api/v1/videos/complete. Your agent delivers the bytes itself — no human detour. Clipping starts on its own at completion for active plans.
2.Clip anything
POST /api/v1/clip with an optional natural-language steer ('the most surprising moment') — Everpop cuts the moments out of footage the user already owns.
3.Publish — with consent
GET /api/v1/publish lists exact connected accounts; POST publishes only to the destination ids, metadata and visibility the user reviewed. No omitted-destination fan-out, no spray, no spam.
4.Read the receipts
GET /api/v1/receipts — aggregate YouTube Analytics at 48h and 7d for eligible Shorts. A receipt may carry a separately signed pre-publish prediction; the measured metrics are not separately signed.
Three ways in
MCP connector
13 tools over Streamable HTTP — upload, cancel, clip, publish, receipts, campaigns. Add it to Claude (or any MCP client) in one paste, then connect securely with OAuth.
https://everpop.app/api/mcp/mcpREST + OpenAPI
Plain JSON over HTTPS with a machine-readable schema — point a codegen or any agent framework at it and go.
https://everpop.app/openapi.jsonAgent guide
One markdown file teaches the whole loop — auth, endpoints, gotchas, and the exact curl for every step.
https://everpop.app/skill.mdAuth is one per-user API key (Bearer epk_…) — created by the human on the API page of the studio, read-only or full scope, revocable anytime.
Install in your tools
One click for Cursor, or a copy-paste config for any MCP client.
One click installs the connector; Cursor runs the OAuth sign-in. Other tools — copy a config below.
Cursor / Windsurf / Cline
~/.cursor/mcp.json (or the app's MCP settings)
{
"mcpServers": {
"everpop": {
"url": "https://everpop.app/api/mcp/mcp",
"headers": { "Authorization": "Bearer epk_YOUR_KEY" }
}
}
}VS Code (Copilot MCP)
.vscode/mcp.json
{
"servers": {
"everpop": {
"type": "http",
"url": "https://everpop.app/api/mcp/mcp",
"headers": { "Authorization": "Bearer epk_YOUR_KEY" }
}
}
}Claude Desktop / Code
claude_desktop_config.json — or just paste the URL as a custom connector (OAuth, no key needed)
{
"mcpServers": {
"everpop": {
"url": "https://everpop.app/api/mcp/mcp"
}
}
}Replace epk_YOUR_KEY with a key from Dashboard → API. Clients that support MCP OAuth (Claude, Cursor) can use the bare URL and sign in instead.
Why agents pick Everpop
- Deterministic contracts. Every error is JSON with a stable code — a 422
upload_requiredtells your agent exactly what to do next, in the message. - Safe by construction. There is no download path — an agent can only deliver a file the user hands it, and the user's own rights confirmation travels with it. Publishing runs only on the user's standing instruction: per-clip approval by default, or an autopilot rule they switched on themselves.
- Closed feedback loop. Receipts turn publishing into data your agent can learn from: clip → publish → measure → clip better.
- Idempotent by design. Send an
Idempotency-Key(REST) oroperationId(MCP) and retries never double-render; publishing is idempotent per clip and destination — built for at-least-once agent loops.
Questions agent builders ask
- Does Everpop have an MCP server?
- Yes. Everpop's MCP server is at https://everpop.app/api/mcp/mcp over Streamable HTTP, with 13 tools: list_videos, request_upload, cancel_upload, finalize_upload, import_video, clip_video, get_job, publish_clip, list_receipts, create_campaign, list_campaigns, attach_to_campaign, campaign_proof. The same loop is a REST API at /api/v1, described by the OpenAPI spec at https://everpop.app/openapi.json, and https://everpop.app/skill.md walks an agent through every call.
- How does an agent sign in to Everpop?
- With OAuth 2.1 and PKCE (S256): an MCP client discovers the authorization server from the endpoint's 401 and the user approves access in the browser. Or send a per-user API key in the header Authorization: Bearer epk_… — the user creates it on the API page of the studio, read-only or full scope, and can revoke it anytime. Keys never go in a URL.
- Which Everpop plan includes agent access?
- Pro ($49/mo) or Scale. Free and Starter accounts can connect, but requests return a 402 with reason "subscription" (no active plan) or "plan" (a plan without API access).
- What video can an agent clip with Everpop?
- The user's own file: MP4, MOV, WEBM, MKV or M4V, up to 4 GB. The agent calls request_upload, PUTs the exact bytes to the returned URL, then calls finalize_upload with the user's own confirmation that they hold the rights; clipping starts on its own for active plans.
- Can the agent clip a YouTube link instead of a file?
- No. Everpop never downloads from YouTube. import_video registers only the metadata of a video on the user's own connected channel, and clipping any video that has no uploaded file returns 422 upload_required — the next step is always to upload the file.
- My chat app can't attach files. How does the video get in?
- The user uploads it in the Everpop studio or drops it into a linked Google Drive folder. The agent then finds it with list_videos and carries on: clip_video, get_job, publish_clip, list_receipts.
- Can an agent publish without asking the user?
- No. publish_clip takes the exact destination ids get_job returns plus the final title, description and visibility, and publishing needs the user's explicit confirmation — agents included. The tool is marked destructive so MCP clients can ask before it runs. Hands-free posting happens only through an autopilot rule the user switched on themselves.
- What does the agent get back after publishing?
- list_receipts returns aggregate YouTube Analytics numbers at 48 hours and 7 days for eligible YouTube Shorts — views, retention, likes and subscribers gained — with shareable receipt links. A receipt may carry a separately signed pre-publish prediction; the measured metrics are not separately signed.
Wire it up in five minutes
Read skill.md, create a key, and your agent is clipping. Or paste the MCP connector into Claude and just ask. Your first video is free on the web — up to 3 clips, no card. API keys and agent access come with Pro and Scale.
Start free