Generate videos in Claude Desktop
One URL in Settings, and the desktop app renders video. Renderly runs a hosted MCP server, so Claude Desktop renders from the templates you already built - and previews cost nothing.
5 free credits · no card · hosted MCP, nothing to install
You
Make today's quote video from my Daily Quote project. Quote: "Discipline is choosing between what you want now and what you want most." Author: Abraham Lincoln.
renderly_list_projectsFinds Daily Quote in your own library
1 match - 4 dynamic variables
renderly_get_variablesReads what that project actually accepts
quote, author, date_label, bg_colour
That quote is 71 characters, near the top of the headline box. I will preview it for free before spending anything.
renderly_preview_render0 creditsResolves all four values, renders nothing
previewUrl ready - resolved 3/4 - warning: UNKNOWN_REPLACEMENT "colour"
Three of four applied. I sent colour, but the variable is bg_colour. Updating the same preview.
renderly_preview_render0 creditsUpdates that preview in place, as a frame grid
revision 2 - resolved 4/4 - no warnings - quote fits on 3 lines
The grid looks right. It runs 22 seconds at 1080p, so 0.5 credits. Render it?
renderly_create_render0.5 creditsRenders, after Claude Desktop asks you to confirm
job queued - 22s at 1080p - 0.5 credits
renderly_get_render_statusPolls the job until the file exists
completed in 43s - MP4 download link - 4.5 credits left
Claude Desktop is the Claude app you install on macOS or Windows, and it can gain tools in two ways. It starts local MCP servers on your own machine, either listed in claude_desktop_config.json or installed as desktop extensions. It also connects to hosted endpoints, which Anthropic calls web connectors. Renderly is the second kind. You add https://renderly.video/api/mcp under Connectors, sign in through the browser, and the app can produce an MP4. Because both kinds sit in one window, a chat can read a spreadsheet from a folder on your disk and turn each row into a video from a template you designed yourself. renderly_preview_render is what makes that comfortable to work with. It resolves the variables, hands back a preview link and a grid of frames, quotes the credit cost, and charges nothing at all. renderly_create_render is annotated as not read-only, so the app asks you before it spends a credit.
Renderly is the rendering engine, not the publisher. It hands back a finished MP4 at a URL - where that file goes next is up to you or one of our no-code integrations. The same engine and the same credits drive the REST API, so nothing about a render differs because Claude Desktop asked for it.
The free preview loop
Claude Desktop can check its work before you pay for it
An agent filling in a template will get something wrong - a mistyped variable name, a headline too long for its line. Renderly gives it a way to find out for nothing. A preview takes the same arguments as a real render and resolves them exactly the same way, but produces no video and costs no credits.
- Preview0 credits
- Fix, preview again0 credits
- Once more0 credits
- Rendercredits charged
It can look at the frames
Append ?mode=grid and the preview page draws a labelled contact sheet spanning the whole video, as ordinary images. Any agent that can open a page and screenshot it can then see a collided caption or a wrong colour - the failures no validator catches.
?mode=gridOr one exact moment
Append ?frame=N to check a specific instant, where N is the second you care about multiplied by the frame rate. The page publishes its own rate, so the agent works it out rather than guessing from the nearest tile on the grid.
?frame=NAnd fix it in place
Pass the previewId back with corrected values and the same preview updates. The link never changes, so the agent reloads and looks again. A revision counter goes up each time, which is how it knows it is seeing its own latest attempt and not a cached earlier one.
previewIdThe warning that saves the most credits. If a variable name does not match, Renderly ignores it silently and renders the authored default instead - so the video comes back looking fine and carrying the wrong text. A preview returns a resolved map of what actually applied plus an UNKNOWN_REPLACEMENT warning, which is how Claude Desktop catches that before it becomes a charge.
Setup
Connect Renderly to Claude Desktop
Renderly is added from inside the app as a web connector: one URL and a browser sign-in. It does not belong in claude_desktop_config.json, which describes only the local servers Claude Desktop starts for you.
curl -i -X POST https://renderly.video/api/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# HTTP/1.1 401
# www-authenticate: Bearer error="invalid_token",
# resource_metadata="https://renderly.video/.well-known/oauth-protected-resource"{
"mcpServers": {
// Only local servers belong here: command, args, env.
// No url field is documented. Renderly does NOT go in this file.
}
}Open Settings and click Connectors in the sidebar. Newer builds label the section Customize, then Connectors.
Anthropic's remote-MCP guide gives two routes into desktop Settings: the Ctrl+Comma shortcut, and the menu icon at the top left, then File, then Settings. That assumes a window with a File menu. On a Mac, open Settings from inside the Claude window instead - the destination is the same.
Mac users: do not use the Claude item in the macOS menu bar. Anthropic documents that route as opening a separate configuration window, with a Developer tab and an Edit Config button. That is the door to local servers, not to connectors.
On Free, Pro or Max, click "+" then "Add custom connector". Some builds instead show an "Add" button at the top right, with "Add custom connector" in its dropdown.
On Team or Enterprise, members cannot add one themselves. An Owner opens Organization settings, then Connectors, then Add, hovers Custom, selects "Web", enters the URL and clicks Add. Members then open Customize, then Connectors, and click Connect on the entry.
Give it a name such as Renderly and the URL https://renderly.video/api/mcp, then click Add.
Finish the WorkOS AuthKit sign-in in the browser window that opens. Claude registers itself through dynamic client registration, so leave Advanced settings - the OAuth Client ID and Client Secret - empty unless you have pre-registered your own client.
Switch the connector on for a chat from the "Add files, connectors, and more /" indicator at the bottom left of the message box, then Connectors. Ask it to list your Renderly projects as a first test.
Expect a render to run in the background rather than hold the chat open: renderly_create_render returns a job id, and renderly_get_render_status polls it until the MP4 link exists.
Sign-in only - an API key will not work here
OAuth is the only path here, and it is the good one. Renderly advertises its authorisation server through RFC 9728 discovery, Claude Desktop registers itself with WorkOS AuthKit dynamically over PKCE with S256, and you simply sign in. The add-connector dialog has no field for a request header or a token, so there is nowhere to paste an API key even if you wanted to. Keys are for clients where you set headers yourself.
How this was checked. Server verified live on 2026-08-19: an unauthenticated POST returns 401 with an RFC 9728 challenge, WorkOS AuthKit advertises Dynamic Client Registration, and all ten tools are registered. The setup below was confirmed against Anthropic's current MCP documentation and survived an independent adversarial recheck on the same date. Nobody here drove Claude Desktop end to end. Anthropic’s documentation
The surface
Ten tools Claude Desktop gets
You never call these by hand. Claude Desktop picks the right one from what you asked for. They are listed because it is worth knowing which of them can cost you money - and that seven of the ten cannot.
They are thin wrappers over the same service layer the public REST API uses, so the two surfaces cannot drift apart.
| Tool | What it does | Cost |
|---|---|---|
renderly_whoamiConnect | Confirms the connection and reports your credit balance | free |
renderly_list_projectsFind | Lists your own projects that have something to personalise | free |
renderly_list_templatesFind | Lists the public system templates | free |
renderly_get_variablesFind | Reads which fields a template or project accepts, and their current values | free |
renderly_preview_renderCheck | Resolves your values exactly as a render would, without producing a video - returns a public preview link, what actually applied, a credit quote and any warnings | free |
renderly_create_renderRender | Renders the video. Annotated as not read-only, so clients ask before calling it | credits |
renderly_get_render_statusTrack | Polls the job and returns the finished video URL | free |
renderly_generate_captionsAdd AI | Transcribes audio into word-synced captions you can drop straight onto a layer | credits |
renderly_generate_voiceoverAdd AI | Turns a script into narration saved to your media library | credits |
renderly_get_ai_jobAdd AI | Polls a captions or voiceover job for its result | free |
Why Claude Desktop
What this client is good at
Two things make Claude Desktop a good home for this connector. The first is the permission panel. Open Customize, then Connectors, click Renderly, and each tool can be set to Always allow, Needs approval or Blocked. Block renderly_create_render, leave renderly_preview_render on, and the app can study as many drafts as you like with no way to spend a credit. The second is that connectors are switched on per conversation, from the "Add files, connectors, and more /" indicator at the bottom left of the message box, so Renderly stays out of chats about anything else. None of this touches claude_desktop_config.json, which is the file Anthropic tells you to quit and restart the app for.
Questions people actually hit
I already run local MCP servers from claude_desktop_config.json. Where in that file does the Renderly URL go?
Where do custom connectors live in the desktop app, and which Settings window is the wrong one?
Can I keep Renderly switched off in most of my chats, and stop it rendering something by accident?
I have a Renderly API key starting rnd_. Can I paste it in instead of signing in through the browser?
The connector sits in an app on my own machine, so does it reach the network the way my machine does?
The same server, in every other client
One endpoint, one account, one credit balance. Only the wrapper changes.
Using something not listed? Any client that speaks remote MCP over Streamable HTTP can connect to https://renderly.video/api/mcp - these pages exist because the setup differs, not the server.