Introducing the Shortzly MCP Server: Make and Publish Reels From Claude, ChatGPT, Cursor and Codex
Today we are shipping something we have wanted for a long time: Shortzly is now a remote MCP server. If you already talk to Claude, ChatGPT, Claude Code, Codex, Cursor or Windsurf during your day, you can connect Shortzly with one URL and ask for a finished reel the same way you would ask for a paragraph. Your assistant writes the script, Shortzly renders the video, and the same connection publishes it to your social accounts.
The server lives at https://shortzly.com/mcp. Everything below is live today on every plan, and the full reference is on the MCP server page.
What an MCP server is, in one paragraph
The Model Context Protocol (MCP) is an open standard that lets an AI assistant discover and call tools that live outside of it. An MCP server publishes a list of tools, each with a name, a description and a JSON schema for its inputs. When you connect a server, your assistant reads that list and can call the tools on your behalf, asking you for approval where its client requires it. Claude Desktop, claude.ai, ChatGPT, Claude Code, Codex, Cursor, Windsurf and VS Code all support remote MCP servers over HTTP, which is why one endpoint can serve all of them.
What you can do with it
Anything the Shortzly faceless reel pipeline can do, without opening the dashboard. A few things we used it for while testing:
- A product ad from screenshots. We uploaded seven app screenshots, asked Claude for a 40-second ad with a specific voice, reviewed the preview, upgraded it to HD and posted it to TikTok, YouTube Shorts and Instagram Reels. The whole exchange was nine messages.
- A daily explainer. "Make a 30-second reel about today's James Webb image, Nova voice, CapCut captions, post to YouTube." The assistant wrote the script, Shortzly rendered it, and the reel was live in under three minutes.
- Ten hook variations. Same body, ten different opening lines, ten preview renders, then HD only for the two that landed. Previews cost half a credit each, so this is the cheapest way to test hooks we know of.
- A scheduled batch. Five reels rendered on a Sunday and scheduled across the week with
publish_clipand ascheduled_attimestamp.
How a request flows
The 14 tools split into four groups: discover, build, track and deliver. A typical conversation touches six of them. Here is the sequence behind "make a reel and post it":
get_capabilitiesreturns the valid voices, caption styles, aspect ratios, limits and cost notes, so the model never guesses an enum.get_accountconfirms the plan and how many reels are left this month.create_uploadhands back a presigned PUT URL for any of your own images, video or a voiceover file. Optional.create_reelreceives the script as an array of segments, each with text and a media source, plus voiceover, caption and transition settings. It returns a job id.get_jobis polled until the status is completed, thenget_clipreturns a download URL andupgrade_clip_hdcan re-render the approved preview at full resolution.publish_clipposts the clip to any mix of your connected TikTok, YouTube, Instagram, Facebook and LinkedIn accounts, andget_social_postreports the live URL.
The interesting call is create_reel. Everything creative is in the request, written by your model:
{
"title": "James Webb in 30 seconds",
"aspect_ratio": "9:16",
"segments": [
{ "text": "This telescope sits a million miles from Earth.",
"kind": "video", "media": { "search": "deep space stars" } },
{ "text": "Its mirror is six and a half metres wide, coated in gold.",
"kind": "image", "media": { "asset_ref": "uploads/.../mirror.png" } },
{ "text": "Follow it live, free, at spacetelescope.app.",
"kind": "image", "media": { "url": "https://example.com/end-card.png" } }
],
"voiceover": { "mode": "tts", "voice": "nova" },
"captions": { "mode": "auto", "style": "capcut" },
"transition": "dissolve",
"render_quality": "preview",
"idempotency_key": "jwst-explainer-1"
}
Each segment takes exactly one media source: a public url, an asset_ref from create_upload, or a stock search phrase that Shortzly resolves against Pexels and Pixabay. Up to 40 segments, 400 characters of text each, in English, Spanish, Portuguese or Indonesian.
Your model writes. Shortzly renders.
This is the design decision that shaped the whole server. On the MCP path Shortzly never runs its own script AI. The assistant you are already paying for writes the hook, the body and the shot list, and you steer it in the conversation. Shortzly does the part a chat model cannot do: neural voiceover, stock footage, Ken Burns motion on stills, word-level animated captions, dissolve transitions and a 1080x1920 MP4.
That keeps the cost model honest. A reel counts against your monthly quota exactly as in the dashboard, half a credit for a preview and one credit for HD, and every use of Shortzly's own AI on top of that is opt-in per call:
| Part of the reel | You supply it | Or Shortzly does it |
|---|---|---|
| Script and shot list | Your model writes it, always | Never runs on this path |
| Images and video | Public URL or uploaded asset, free | Stock search, free, no LLM involved |
| Voiceover | Upload your own audio, free | Text-to-speech in six voices, paid AI |
| Captions | Timed from the script, free | Whisper word alignment, paid AI |
| B-roll | Off by default | Stock B-roll with an LLM cue pass, opt-in |
Upload a voiceover and choose timed captions, and the render uses none of Shortzly's AI at all. We think that is the right default for teams that already have a model budget and a voice they like.
Bring your own media
The faceless generator in the dashboard sources its visuals from stock libraries. Over MCP you can do that too, but the more useful mode is your own material. create_upload returns a presigned URL; you PUT the file with the same content type and get back an asset_ref to use in any segment. Uploaded media never travels as a public URL, and the worker reads it through its own storage client.
Public URLs work as well, with a guard. Every media.url is fetched over https only, checked against private, loopback, link-local and cloud metadata ranges, re-validated on every redirect and capped in size. It is the same protection we would want if someone pointed our worker at their own infrastructure.
Connect in a minute
Claude and ChatGPT sign in with OAuth 2.1 and PKCE through dynamic client registration; there is no token to paste. Command-line and editor clients can use OAuth or a bearer token minted under Settings, API tokens in your dashboard.
Claude Desktop and claude.ai
Settings, Connectors, Add custom connector, paste https://shortzly.com/mcp, approve the sign-in.
ChatGPT
Settings, Connectors, turn on Developer mode, Create, paste the same URL, sign in. Enable the connector inside a chat and ask for a reel.
Claude Code
claude mcp add --transport http shortzly https://shortzly.com/mcp
# then type /mcp inside Claude Code and choose Shortzly to sign in
Codex
codex mcp add shortzly --url https://shortzly.com/mcp
codex mcp login shortzly
Cursor, Windsurf and VS Code
{
"mcpServers": {
"shortzly": {
"url": "https://shortzly.com/mcp",
"headers": { "Authorization": "Bearer <id>|shz_..." }
}
}
}
The step-by-step version for every client, with copy buttons, is in our guide on adding an MCP server to Claude Code, Codex, Cursor and Windsurf.
Security notes
- OAuth 2.1 with PKCE and dynamic client registration, with discovery at the standard well-known paths. The consent screen shows the host that will receive the token.
- Scoped tokens. Dashboard tokens carry only the
mcp:useability, are shown once, and can be revoked individually. Connected OAuth apps are listed and removable in the same place. - Rate limits. 120 requests per minute per user and 10 client registrations per minute per IP.
- Idempotency. Pass an
idempotency_keyand a retriedcreate_reelreturns the original job instead of rendering twice. - Read-only tools keep working on an expired subscription; anything that spends quota or publishes refuses with an upgrade link.
Pricing
There is no separate price. The MCP server is included on every Shortzly plan and shares your monthly faceless reel quota: Starter ($19/month) includes 10 reels a month, Pro ($49/month) includes 100. Read-only tools are free to call. If you are new, the 7-day trial covers the MCP server too.
What is next
Two things are already on the list. First, long-form clipping over MCP, so an agent can hand Shortzly a YouTube URL and get ranked highlights back the way the dashboard does today. Second, brand-template creation from the conversation, so an assistant can set up caption style, watermark and intro once and reuse it. If you build something with the server, tell us at [email protected]. The early use cases have already changed our roadmap once.
Frequently asked questions
Does ChatGPT need a plugin or an app store listing?
No. Connectors in developer mode accept any remote MCP server URL. Paste https://shortzly.com/mcp, sign in, and the tools appear. Our guide on making videos from ChatGPT walks through it with screenshots-level detail.
Can an agent run this unattended?
Yes. Tokens work from CI and cloud agents, jobs are idempotent, and list_jobs lets a restarted agent pick up where it left off. For fully hands-off topic discovery and scheduling without an agent in the loop, Autopilot is still the better fit.
Which clip formats are supported?
9:16 for TikTok, Shorts and Reels, 4:5 and 1:1 for feeds, and 16:9 for YouTube. Twelve caption styles, six voices, seven transitions, and previews at 720p before an HD master.
Is there a REST API too?
The MCP server wraps the same services the dashboard uses. If you need a plain HTTP integration without an AI client, contact support and we will point you at the right endpoints for your case.