Fully supported

ClipSpeedAI MCP for Claude Desktop: Complete Setup Guide

Claude Desktop is one of the clients ClipSpeedAI has verified end to end, alongside Claude on claude.ai, Claude Code and Windsurf. What it connects to is a hosted MCP server at https://api.clipspeed.ai/mcp, reachable over streamable HTTP. Nothing about the connection is Claude-Desktop-specific: the same endpoint serves every client on this site, which is why a session you start on the desktop can be picked up later from a terminal with the same account and the same project IDs.

What the desktop app adds is a place to look at the output. Clipping is a review job as much as a generation job — you get back scored, captioned 9:16 vertical clips and you have to decide which ones are worth a title and a post. Doing that in a windowed app you leave open all day is a different experience from doing it in a terminal, and this guide is written around that: connect once, then keep a long conversation running while jobs finish in the background.

Ahead: the key format down to its character count, the two authentication paths and which one you actually get, a three-call smoke test, all ten tools sorted by how much damage each one can do, two worked sessions (one live, one back-catalog), and the failures worth recognising on sight.

On this pageWhat "Verified End to End" Does and Does Not PromiseThe Endpoint Behind the ConnectorYour Key Is 58 Characters and You See It OnceOAuth or a Bearer Key: Which Path You Land OnThree Calls That Prove the Connection WorksAll Ten Tools, Sorted by How Much They Can Cost YouPick a Caption Template Before You Pick a VideoSession One: Clipping a Stream While It Is Still RunningSession Two: Fourteen Interview Episodes, One LookPublishing to YouTube, and Why Private Is the DefaultFailures Worth Recognising on SightKey Hygiene on a Machine You Actually Sit AtWhat It Costs, and What This Page Will Not ClaimAdjacent Reading

What "Verified End to End" Does and Does Not Promise

ClipSpeedAI publishes a support tier for every MCP client, and the tier is the first thing to check because it tells you whether a problem is yours or theirs.

Fully supported is the verified-end-to-end tier. Claude Desktop is in it, with Claude on claude.ai, Claude Code and Windsurf. Practically, that means you should not need client-specific workarounds to get connected — no patched transports, no community forks, no undocumented flags.

Compatible covers Cursor, Codex, OpenClaw and Hermes. These speak the same protocol against the same endpoint with the same header-based key, and verification is in progress rather than complete. Nothing about them is expected to be broken; ClipSpeedAI simply has not signed off on the whole path itself, so the honest label is "should work" instead of "we checked".

Rolling out means the gate is somebody else's. ChatGPT sits here, because availability depends on a vendor decision outside ClipSpeedAI's control. A tier is a statement about verification coverage, not a service guarantee, and it is worth reading it that narrowly.

One caveat that catches people moving between clients: the tier describes the client, not your account. A verified client attached to an account with no active plan will connect and then fail the moment you ask it to make something.

The Endpoint Behind the Connector

The server address is https://api.clipspeed.ai/mcp, and it speaks streamable HTTP. Add it in Claude Desktop the way the app adds any HTTP MCP server — through its connector settings, following Claude Desktop's own current documentation for where that screen lives and what it asks for. That indirection is deliberate here: desktop apps move their settings around between releases, and a screenshot-accurate click path in an evergreen guide ages into a support ticket.

If you have never used MCP before, the two-sentence version: it is a standard that lets a model application call outside software, where the server advertises its tools and the client hands that list to the model at runtime. What Is MCP? Model Context Protocol Explained covers the concept properly and How MCP Servers Work: Architecture and Request Flow traces a single call from prompt to response — neither is worth re-deriving here.

The part that matters for a desktop user is narrower. Because the server is hosted, there is no local process to install, no runtime version to keep current, and no build step. Your machine contributes a network connection and a credential, and that is the whole of its involvement. Server-side changes reach you without a reinstall, which cuts both ways — you get fixes for free and you do not get to pin a version.

An npm package named clipspeed-mcp also exists, published in July 2026 at version 1.0.0.

Your Key Is 58 Characters and You See It Once

Create the key in the ClipSpeedAI app. Under Account, open the API & Integrations tab. The button there is Generate API Key. Under the hood that is a POST /auth/api-keys.

The format is exact and worth memorising, because most authentication failures are really paste failures:

csai_live_<48 hexadecimal characters> prefix: csai_live_ 10 characters
random: 24 random bytes → 48 hex characters
total: 58 characters

Select the key in whatever field you pasted it into and count. If it is not 58 characters, or if anything after csai_live_ is not a hex digit, you have a truncated or mangled copy and no amount of restarting the app will fix it. Long single-line secrets get chopped by terminal wrapping, by chat clients that trim on send, and by password managers that treat the trailing characters as a separator.

Only the prefix is stored for display — the first 18 characters followed by an ellipsis, which works out to csai_live_ plus eight hex digits. The full value is shown once, at creation, and cannot be retrieved afterwards. There is no "reveal" affordance to hunt for. Lose it and you generate a replacement.

That 18-character prefix is more useful than it looks once you have keys on more than one machine. GET /auth/api-keys lists every key on the account with its name, key_prefix, plan, rate_limit, requests_today, total_requests, last_request_at, is_active and created_at. Name each key after the machine it lives on — desktop-mac, laptop, work-pc — and the prefix plus last_request_at tells you at a glance which one your desktop app has been using and whether a key you forgot about is still making calls.

Eligibility note: API key generation requires a plan with API access. A $1 trial account qualifies; a free account does not — the endpoint returns 403 Feature not available. Keys are shown once at creation, carry a per-key daily rate limit (exceeding it returns 429 rate_limit_error), and can be revoked at any time, which stamps a revocation time against the key.

OAuth or a Bearer Key: Which Path You Land On

ClipSpeedAI accepts two credentials, and which one applies is a function of the client, not a setting you choose.

OAuth is the path for GUI clients that can open a browser and complete a redirect. You approve the connection in a normal web flow and never handle a key at all, which is the pleasant version — nothing to paste, nothing to leak, nothing sitting in a file. Claude Desktop is a GUI client, so if its connector screen offers to authorise ClipSpeedAI in a browser, take that route.

A Bearer API key is the path for command-line clients, which send the credential as an Authorization header. The canonical form, straight from ClipSpeedAI's own documentation, is the claude mcp add line — this is the one configuration snippet on this page you can copy verbatim:

claude mcp add --transport http clipspeed https://api.clipspeed.ai/mcp \ --header "Authorization: Bearer <API_KEY>"

Whichever credential you present, it resolves to one account, and that resolution is the point. Clips bill to that account. Plan checks read that account's entitlement. publish_to_youtube posts to the YouTube channel connected to that account and to nothing else. If you share a machine, or you keep separate personal and business accounts, the credential is the only thing distinguishing them — there is no per-call account selector.

MCP Authentication: OAuth and Bearer Keys works through why protocols end up supporting both, and MCP Security: Scopes, Keys and Safe Tool Design covers what a credential like this should be permitted to do in the first place.

Three Calls That Prove the Connection Works

Once the connector is added, restart Claude Desktop and run three checks in ascending order of cost. Each one isolates a different layer, so the first failure tells you where to look.

  1. Confirm the server is listed and connected in the app's connector panel. If it is not there, the problem is registration, not the network — nothing has been attempted yet.
  2. Ask for the caption templates. That routes to list_templates, which takes no arguments at all, so a correct answer isolates transport and authentication from every other variable. A healthy response names six ids: karaoke, hormozi, beasty, fire, youshaei and cinematic. If the model recites a different set, it is answering from memory instead of calling the tool — say "call the tool" and try again.
  3. Ask what is trending in a niche you care about. That runs discover_trending, a real round trip that reaches the video-search side of the service with your credential attached. Getting a plausible recent video back means the whole path is live.

Three passes and you are connected. If step two works but step three fails, you have a working connection and a service-side or account-side problem — which is a much shorter list of suspects than "it doesn't work".

All Ten Tools, Sorted by How Much They Can Cost You

The server exposes ten tools. Grouping them by tool name is how a reference doc does it; grouping them by consequence is more useful when an agent is picking calls on your behalf.

Tier one — reads nothing changes. These inspect state and cost you nothing irreversible.

ToolWhat it does
discover_trendingFinds the fastest-growing recent video in a niche worth turning into shorts. It searches only videos published in roughly the last three weeks, so it surfaces momentum rather than all-time hits.
list_templatesLists the caption-style templates. Takes no arguments. The chosen id is what you pass as captionStyle.
check_clipsReturns the finished, scored, captioned 9:16 vertical clips for a projectId — each with a title, a viral score and a download URL.
check_livestreamPolls a live session by subscriptionId. A status of monitoring means the stream is still live and still being clipped.
creator_packPer-clip suggested titles, hooks and best posting times for a projectId.

Tier two — starts work.

ToolWhat it does
submit_to_clipspeedDrops a video URL or a file into ClipSpeed. This is the clip button. You get a projectId to read results with later.
clip_livestreamLive mode: clips a livestream in real time. Returns a subscriptionId, which is the handle for everything that follows.
extend_livestreamExtends an active live session.

Tier three — ends or publishes.

ToolWhat it does
stop_livestreamStops a session by subscriptionId. Clips already made are kept and stay downloadable — stopping is not discarding.
publish_to_youtubePublishes a finished clip to YouTube. Takes a projectId and optionally clipId, title and privacyStatus. Defaults to private.

Two structural notes the tables cannot carry. First, results are read separately from submission: submit_to_clipspeed hands you a projectId and check_clips is how you find out what came of it, so any script or habit you build should assume polling rather than a blocking call. Second, IDs are the currency of the whole surface — a projectId unlocks check_clips and creator_pack, a subscriptionId unlocks the three live tools. In a desktop conversation the agent keeps both in context, which is most of why the workflow feels shorter than doing it by hand. MCP Tool Design: Writing Tools an Agent Can Actually Use explains why a surface this small composes better than one enormous do-everything call.

Pick a Caption Template Before You Pick a Video

Six template ids, exactly: karaoke, hormozi, beasty, fire, youshaei, cinematic. Ask for them with list_templates and pass the one you want as captionStyle.

The reason to settle this first is that captions are the most visible thing about a short clip and the least visible thing in your own planning. A viewer scrolling past three of your clips in a week reads the caption treatment as a channel signature long before they read your name. Mixing four styles across a batch produces output that looks assembled by four different people, and no amount of good clipping recovers that.

So: call list_templates once, decide once, and then repeat that id on every submission in the batch. In a desktop session this is easy to enforce because the decision stays in the conversation — you can say "same caption style as before" twenty submissions later and the agent still has it.

Do not have the model guess the id from a description. "Something bold and punchy" is not a template id, and a wrong string in captionStyle is a wasted submission rather than a helpful error. Name the id.

Session One: Clipping a Stream While It Is Still Running

Live is the workflow where the desktop app earns its keep, because the job outlives any single exchange and you want a window you can glance at.

Clip this stream live: <stream URL>. Use the cinematic caption style.
Check on it every few minutes and show me each clip as it lands.

clip_livestream attaches to the broadcast and returns a subscriptionId. Write that ID somewhere outside the conversation. It is the only handle to the session, and the three tools that follow all take it as their argument.

check_livestream is the poll. The status to look for is monitoring, which means the stream is still live and clips are still being produced. That single word answers the two questions you actually have — is the source still going, and is the service still watching it — so a session that reports monitoring and no new clips for a while is a quiet stream, not a broken subscription.

extend_livestream continues an active session.

stop_livestream ends it. The important guarantee is that stopping is not destructive — clips already produced are kept and remain downloadable, so there is nothing to rescue before you stop. If the broadcast ends on its own there is nothing left to stop either.

A pattern worth adopting on the desktop specifically: ask for clips to be shown as they arrive rather than summarised at the end. A running list of clips in a window you can scroll back through is a review queue. A paragraph describing clips you have not watched is not. Livestream Clipping API: Clip While You Stream covers the same capability at the API level for anyone building around it.

Session Two: Fourteen Interview Episodes, One Look

The unglamorous workflow, and probably the one that pays. You have a back catalogue — interviews, a podcast, recorded calls — that has never been cut for short form.

Here are 14 episode URLs. Submit each one with the youshaei caption
style. As projects finish, pull the clips and rank the whole set by
score across all 14 — not per episode. Then write titles for the top 6.

Mechanically this is submit_to_clipspeed fourteen times with the same captionStyle, collecting fourteen project IDs, then check_clips against each as they complete. The bookkeeping — which URL produced which project, which projects have reported back — is exactly the spreadsheet you would otherwise be maintaining, and the conversation holds it for free.

The instruction doing the real work is rank across the batch, not within each episode. Per-episode ranking gives you fourteen local winners of wildly different quality. Cross-batch ranking against the viral score tells you which sources are dense with usable material, which is a much more valuable finding than which minute of episode nine was best.

Finish with creator_pack on the projects that produced keepers, not on all fourteen. It returns per-clip titles, hooks and posting times, and there is no reason to generate that for clips you already decided against.

One caution on the score: it is a returned value you can sort on, and this page is not going to tell you what scale it uses or what number is "good", because that is not documented. Use it to decide review order. Watch the clip before you trust it. MCP for Video Editing and Clipping Workflows and Best MCP Servers for Video and Content Workflows cover neighbouring patterns.

Publishing to YouTube, and Why Private Is the Default

publish_to_youtube takes a projectId, and optionally a clipId, a title and a privacyStatus. Left alone, it publishes private.

That default is the single most important design decision on this tool surface. Every other call on the server produces something you can throw away. This one produces something on a public platform under your name, and an agent that picked the wrong clipId from an ambiguous instruction has made a mistake you cannot fully take back. Defaulting to private means the worst case of a misfire is an unwanted private upload rather than a public one.

Two habits follow. Pass an explicit clipId rather than relying on "the best one" resolving to what you meant — in a long desktop session with several projects in context, "the top clip" is genuinely ambiguous. And confirm the clip and the privacy value in the same breath before you approve the call: this clip, this privacy status. It costs a sentence.

The YouTube channel is whichever one is connected to the ClipSpeedAI account behind your credential. Connect it in the app first; there is no way to attach a channel from the tool call. Publishing through this surface goes to YouTube — other destinations are not part of these ten tools.

Failures Worth Recognising on Sight

No ClipSpeedAI tools appear at all. The connector was not registered, or the app has not restarted since it was. Check the connector panel first — if the entry is absent, nothing has been attempted and no log will tell you anything.

Every call fails authentication. Nine times in ten this is the credential rather than the connection. If you are on a key, count it: 58 characters, csai_live_ then 48 hex digits. Then check the key is still active — a revoked key fails exactly like a mistyped one.

Calls fail with a plan or entitlement error. The account behind the credential has no active plan or trial. There is no free tier to fall back to, so the fix is starting a plan or the $1 trial on that same account — a common trip-up is generating the key on one account and paying on another.

Everything worked yesterday and now it is rate limited. Each key carries its own rate limit and its own running counters. GET /auth/api-keys shows requests_today and total_requests per key, so you can see which key is doing the work — often an automation you forgot about, sharing a key with the desktop app.

check_clips comes back empty or short. You read before the work finished. Poll again. Do not resubmit — a second submit_to_clipspeed on the same video is a second job against your account, and now you have two project IDs for one video and no idea which is which.

check_livestream keeps saying monitoring. That is the healthy state: the stream is live and being clipped. It is not a stuck job. If you want it to end, call stop_livestream; the clips already made survive that.

publish_to_youtube fails on the account. No YouTube channel is connected to the ClipSpeedAI account your credential belongs to. Connect it in the app and retry. A credential from a different account will never see that connection.

The model answers instead of calling. If you ask for caption templates and get six plausible-looking names that are not karaoke, hormozi, beasty, fire, youshaei and cinematic, the tool was not invoked. Ask again and say so explicitly.

Key Hygiene on a Machine You Actually Sit At

Revocation is real and it is immediate in effect. DELETE /auth/api-keys/:id — the revoke control in the app — sets the key's is_active to false and stamps revoked_at. The key stops working. It does not vanish from the listing, which is deliberate: you keep the prefix, the creation date, the request counters and the revocation timestamp, and that history is what lets you answer "what was that key doing before I killed it".

Because revoking is cheap and reversible-by-replacement, it should be your first move whenever a key might have been exposed, not the conclusion of an investigation. Screen-shared a settings window. Pasted a key into a chat to ask a question about it. Handed a laptop back. Revoke, generate, move on — the whole recovery is a minute.

Rotation is the same two steps: generate a replacement, update the connector, restart the app so it picks up the new credential, then revoke the old one. Do it in that order and you never have a gap. Name keys per machine and you can rotate one laptop without knocking out the desk.

On what the service can see: the tool arguments and the identity of the account behind the credential. That means the video or stream URL, the caption style id, the project or subscription ID — the things the model put in the call. Your conversation is not sent. Your filesystem is not sent. The tool call is the boundary, which is a genuinely useful mental model: if you want to know what left your machine, read the arguments of the calls that were made.

Two rules that survive contact with real use. Never paste the key into a chat message, including a chat with Claude — the credential belongs in the connector configuration and nowhere else, and a key in a transcript is a key you now have to rotate. And never commit any file containing it; if your dotfiles live in git, exclude the file or template the value out.

What It Costs, and What This Page Will Not Claim

Pricing. $1 today opens a 3-day trial. That $1 is a one-time charge; on the fourth day the trial becomes whichever plan you selected, unless you cancel before then. The plans are Starter at $15/mo, Pro at $29/mo and Ultra at $49/mo. Annual billing takes 50% off. There is no free plan.

The demo is not an evaluation path for this. There is a single free demo, limited to a source video shorter than half an hour. It exists so you can see output before paying. The MCP tools run against your real account, so the demo is not a way to try them.

Reading is separate from submitting. There is no synchronous "return my clips now" call on this surface. Anything you automate should assume it submits, waits, and reads.

Publishing is YouTube only among these ten tools.

And the things this page deliberately does not tell you, because they are not documented: how the viral score is scaled or what number counts as good; how many minutes or jobs your plan includes; how long a live session may run; how fast a clip renders. You will find pages elsewhere that state numbers for all of these. Check the source before you plan around one. The habits that hold regardless — one key per machine, one caption style per batch, poll instead of resubmit, publish private until you have watched it back — do not depend on any of those figures being what you assumed.

Adjacent Reading

Three pages sit genuinely next to this one. ClipSpeedAI MCP for Claude (claude.ai) covers the same account from the browser, where the OAuth connector flow is the whole setup. ClipSpeedAI MCP for Claude Code is the terminal counterpart and the home of the claude mcp add command quoted above — worth reading if you want the desktop for review and the CLI for batch submission on the same key. ClipSpeedAI MCP for ChatGPT tracks the rolling-out tier if you are waiting on that one.

Beyond the client guides: Remote MCP vs Local MCP Servers is the right next read if the hosted-versus-installed distinction in this guide raised questions, and AI Clipping API: Programmatic Short-Form Video is where to go if you would rather call the service directly than through an agent.

Frequently asked questions

Is Claude Desktop officially supported by ClipSpeedAI?
Yes. Claude Desktop is in the fully supported tier, meaning ClipSpeedAI has verified it end to end. The other fully supported clients are Claude on claude.ai, Claude Code and Windsurf. Cursor, Codex, OpenClaw and Hermes are listed as compatible with verification in progress, and ChatGPT is rolling out.
What server address does Claude Desktop connect to?
The hosted ClipSpeedAI MCP server at https://api.clipspeed.ai/mcp, over streamable HTTP. Add it through Claude Desktop's connector settings, following the app's own current documentation for that screen. There is nothing to install locally and no runtime to keep up to date.
What does a ClipSpeedAI API key look like, and where do I get one?
Keys are csai_live_ followed by 48 hexadecimal characters — 58 characters in total. Generate one in the app: open Account, go to the API & Integrations tab, and use Generate API Key. Only the first 18 characters are stored for display, so the full key is shown once at creation and cannot be retrieved later.
Does Claude Desktop authenticate with OAuth or with a Bearer key?
ClipSpeedAI supports OAuth for GUI clients that can complete a browser redirect, and a Bearer API key sent in an Authorization header for command-line clients. Claude Desktop is a GUI client, so if its connector screen offers browser authorisation, use it — you never handle a key that way. Either credential resolves to one ClipSpeedAI account, which is what gets billed and whose YouTube channel is published to.
Can I revoke an API key, and what happens when I do?
Yes. Revoking sets the key's is_active flag to false and stamps a revoked_at timestamp, so the key stops working immediately while its history — prefix, creation date, request counters — stays visible in the key list. Revoke first and investigate second any time a key might have been exposed; replacing it takes about a minute.
Which tools does the ClipSpeedAI MCP server expose?
Ten: discover_trending, submit_to_clipspeed, check_clips, creator_pack, list_templates, publish_to_youtube, clip_livestream, check_livestream, extend_livestream and stop_livestream. A projectId is the handle for recorded-video work; a subscriptionId is the handle for a live session.
What are the caption template ids?
There are six: karaoke, hormozi, beasty, fire, youshaei and cinematic. Call list_templates — it takes no arguments — and pass your choice as captionStyle on submission. Because it needs no arguments, it also doubles as the cheapest way to confirm the connection is live.
How do I check the connection is actually working?
Three steps, cheapest first. Confirm the connector is listed and connected in Claude Desktop. Ask for the caption templates, which calls list_templates and isolates transport and authentication — a correct answer names the six ids above. Then ask what is trending in a niche, which runs discover_trending and exercises a real round trip with your credential attached.
Do I need a paid plan to use the MCP server?
Yes — there is no free plan. $1 today opens a 3-day trial as a one-time charge, and on the fourth day it becomes whichever plan you picked unless you cancel first. Starter is $15/mo, Pro $29/mo and Ultra $49/mo, with annual billing 50% cheaper. The single free demo, limited to a video under half an hour, is a separate thing and is not how the MCP tools run.
Can the MCP server read my conversation or my files?
No. It receives what the tool call contains — the video or stream URL, the caption style id, a project or subscription ID — plus the identity of the account behind your credential. The conversation itself and your filesystem are not sent. If you want to know what left your machine, read the arguments of the calls that were made.

Related reading

Start clipping for $1 →