Everpop

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_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 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/mcp

REST + 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.json

Agent guide

One markdown file teaches the whole loop — auth, endpoints, gotchas, and the exact curl for every step.

https://everpop.app/skill.md

Auth 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.

Add Everpop to Cursor

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_required tells 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) or operationId (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