Guide8 min readAug 24, 2026

MCP video generation: AI agents that create videos

Ask Claude to write a launch announcement and it writes one. Ask it to make a launch video and, until recently, it apologized. That gap closed when Ozor shipped its MCP server: any AI assistant that speaks the Model Context Protocol — Claude Desktop, Claude Code, Cursor, or a custom agent — can now generate, edit, and export real animated videos as part of a conversation. You describe the video; the agent calls the tools, waits on the render, and hands you a link. This guide covers what MCP is, what the Ozor server's fifteen tools actually do, the three-step setup, and the agent workflows worth building first — all running on the same engine behind Ozor's document to video AI.

Quick Answer

Yes, AI agents can make videos. Ozor exposes its video engine as an MCP server, so any MCP client — Claude, Cursor, VS Code, or a custom agent — can call tools like generate_video, send_message, and export_video from natural language. Setup is one API key and one config block; the agent generates a video from a prompt or document, iterates via conversation, and exports a shareable MP4 at up to 4K. Each generation costs one credit, starting from a free plan with 10 credits.

What is MCP, and why does it matter for video?

The Model Context Protocol is an open standard for connecting AI assistants to external tools and data. Instead of every AI product building bespoke integrations with every service, a service publishes one MCP server describing its capabilities as typed tools, and every MCP-compatible client — Claude Desktop, Claude.ai, Claude Code, Cursor, VS Code, custom agents — can discover and call those tools from natural language. It is the reason your coding assistant can query your database or file a ticket without you writing glue code.

Video is an unusually good fit for this model, because video creation is not one API call — it is a pipeline. A video gets generated, previewed, revised, revised again, exported, and shared, with judgment calls at each step. That shape is awkward for a single REST request but natural for an agent holding a conversation: it can generate a draft, show you the result, take your feedback in plain English, apply it, and only export when you say the word. The protocol handles the plumbing; the agent handles the back-and-forth.

The Ozor MCP server is a thin, typed wrapper around the same engine that powers the Ozor app: prompts and documents become animated motion-graphics videos with AI voiceover, music, and your brand styling, in 16:9 or 9:16. The server is stateless — every call authenticates as you, and everything it creates lands in your regular Ozor account. It is one of three integration surfaces, alongside the official n8n node for workflow automation and a keyed REST API for code — all sharing one credit balance and documented in Ozor's developer docs.

What the Ozor MCP server can do

The server exposes fifteen tools. You never call them by name — the agent picks them based on what you ask — but knowing what exists tells you what you can ask for. They group into five capabilities:

  • Create and iterate. generate_video turns a short creative brief (up to 2,000 characters) into a new video, with optional reference images and clips and a choice of 16:9 or 9:16. send_messagesends a natural-language edit instruction — "add our logo to scene 2", "make the outro shorter" — to an existing video, which is what makes the workflow conversational rather than one-shot. list_videos and get_video let the agent find and inspect what it has made.
  • Monitor long-running work. Generation and editing are asynchronous jobs. get_job is a one-shot status check; wait_for_job blocks until the job completes and returns the editor URL — the gate before the agent shows you anything. Your assistant handles the polling; you just see the finished result.
  • Deliver. export_video renders an MP4 at 720p, 1080p, or 4K; wait_for_export blocks until the render finishes and returns a permanent public watch page, the raw MP4 file, and a download link. get_embed_code produces a ready-to-paste responsive iframe for your site. Identical exports are content-addressed, so re-exporting an unchanged video returns the cached result instantly.
  • Work from documents. analyze_document converts a PDF, PPTX, DOCX, or web URL into a draft video plan — scenes, voiceover script, credit cost. prepare_document_upload issues a one-time signed upload URL for large local files. get_plan and update_plan let the agent revise the plan with you before spending anything, and generate_from_plan renders the approved plan into a real project.
  • Voices. list_voices returns the catalog of TTS narration voices — name, language, gender — so the agent can offer you a choice and lock one in via update_plan before generating.

The server is also opinionated about behavior, not just capability. It instructs agents to present the editor link and stop after generation — asking before spending render time on an export — and to pass URLs through verbatim rather than constructing them. The practical effect: an agent using Ozor behaves like a careful colleague, not a runaway script.

Ozor AI

Give your AI agent a video engine

One API key, one config block, and Claude can make real videos. Free to start.

Try Ozor Free

Set it up in three steps

Setup is deliberately small: there is nothing to deploy and no SDK to install. Local clients run the server via npx with an API key; hosted clients connect to the managed server over OAuth. Either way you are generating within ten minutes.

1

Create an Ozor API key

Sign in at ozor.ai and open Settings → Developer → API Keys. Create a key named for the client that will use it — 'claude-desktop' or 'cursor' — so you can revoke it independently later. The sk_live_... value is shown exactly once; copy it immediately. The key is scoped to your account: every video, plan, export, and job it creates can only be read or modified by you, and revoking it in the dashboard makes the next request fail with a 401 immediately.

2

Add the Ozor server to your MCP client config

For Claude Desktop, edit claude_desktop_config.json (on macOS: ~/Library/Application Support/Claude/claude_desktop_config.json) and add the ozor entry shown below, then quit and relaunch the app. Cursor takes the same JSON shape under Cursor Settings → MCP; VS Code with the MCP extension reads it from .vscode/mcp.json; Zed and Windsurf follow the same pattern. Hosted clients like Claude.ai skip the config file entirely — add a custom connector pointing at https://mcp.ozor.ai and the server handles auth via OAuth 2.1, discovered automatically from its well-known endpoint, so the client never sees your raw API key.

3

Prompt the agent — and verify the connection

Open a new conversation and ask: 'Do you have the Ozor tools available? List them.' The model should reply with at least generate_video, analyze_document, export_video, list_videos, and list_voices. Then give it a real brief: 'Make a 20-second product teaser for a wireless headphone — minimalist, dark background, calm tone.' The agent calls generate_video, waits on the job, and comes back with an editor link where you can preview and tweak the result. From there, everything is conversation: ask for changes, ask for an export, ask for the embed code.

The config block for step 2 — the same shape works in Claude Desktop, Cursor, and VS Code's mcp.json:

{
  "mcpServers": {
    "ozor": {
      "command": "npx",
      "args": ["-y", "@ozor/mcp"],
      "env": {
        "OZOR_API_KEY": "sk_live_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"
      }
    }
  }
}

A note on credits: a generation costs 1 credit, an edit message costs 1 credit, and document analysis costs 1 credit; exports and all read operations are free. Failed generations are not charged. Credits are shared across MCP, n8n, the REST API, and the app — plans and current allowances are on the pricing page.

Example agent workflows

The interesting uses are not "a chatbot that makes videos" — they are agents that produce a video as one step inside a larger job. Three patterns worth building:

A PRD becomes a demo video. You hand Claude Code a product requirements doc and ask for a demo video for the sprint review. The agent calls analyze_document on the file, presents the scene plan — titles, voiceover lines, credit cost — in plain language, and waits. You cut two scenes and ask for a more direct tone; it applies the changes via update_plan, generates on your approval, and returns the editor link. Ten minutes later the review has a narrated, brand-styled walkthrough that would otherwise have been a screen share and an apology.

A personalized video inside a support conversation. A support agent (human or AI) escalates a question that keeps recurring: how a specific feature handles a specific edge case. Instead of writing another paragraph nobody reads, the assistant calls generate_videowith a prompt built from the ticket's actual context, waits for the job, exports, and drops the watch link into the reply. The customer gets a 60-second animated answer to their exact question, and the video joins a library that deflects the next identical ticket.

A scheduled agent produces the weekly recap. An agent runs every Friday, pulls the week's shipped work from your project tracker, condenses it into a brief, and calls generate_video — then export_video and wait_for_export — and posts the watch link to the team channel. Nobody scripts, records, or edits anything, and the update actually gets watched. The full build, including what belongs in the prompt, is in the automated weekly report video guide.

MCP vs REST API vs the Ozor app

MCP is one of three ways to drive the same engine. The right choice depends on who — or what — is steering:

MethodBest forSetupWho drives it
MCP agent workflowConversational and ad-hoc video tasks; letting AI assistants handle the whole pipelineAdd one config block to your MCP clientThe AI agent — you talk, it calls tools
REST API integrationVideo generation embedded in your product; high volume, request-level control1–3 days of engineeringYour code — deterministic, fully scripted
Ozor app (manual)One-off videos, hands-on visual editing, non-technical teammatesNone — sign in and type a promptYou — every step is a human decision

These are not competing products — they are the same account, credits, and engine with different steering wheels. An agent-generated video opens in the same editor as an app-made one, and a project started over MCP can be exported later by a script hitting the video generation API. A sensible progression: start in the app to learn what the engine produces, wire up MCP so your assistant can do the routine work, and reach for the REST API only when video generation becomes a feature of your own product.

Frequently asked questions

Which AI clients support MCP video generation?

Any MCP-compatible client can use the Ozor server: Claude Desktop, Claude Code, and Cursor connect locally over stdio with an API key; Claude.ai on web and mobile connects to the hosted server at mcp.ozor.ai over Streamable HTTP with OAuth 2.1; VS Code (with the MCP extension), Zed, Windsurf, and custom agents work with the same config shape. Because MCP is an open standard, new clients that adopt the protocol get Ozor's video tools without any changes on Ozor's side.

Does generating videos through MCP cost credits?

Yes — the same credits as the Ozor app, from the same balance. A text-prompt generation costs 1 credit, an edit instruction via send_message costs 1 credit, and analyzing a document costs 1 credit; generating from a document plan costs floor(voiceover scenes / 2). Exports and all read operations (list_videos, get_video, get_job) are free. The free plan includes 10 credits; Pro ($19/mo) includes 50, Pro+ ($49/mo) includes 150, and Business ($99/mo) includes 300. If a generation fails, no credit is deducted.

Can an AI agent edit an existing video?

Yes. The send_message tool sends a natural-language instruction — 'add our logo to scene 2', 'make the outro shorter', 'reorder the scenes' — to the Ozor agent for an existing video, optionally with attached images or clips. The agent job runs asynchronously; wait_for_job blocks until it completes and returns the updated editor URL. The project keeps its identity across edits, so an agent can iterate on the same video across many conversation turns, then re-export when you are happy.

Is the output the same as using the Ozor app directly?

Yes — the MCP server is a thin, typed wrapper around the same Ozor engine the web app uses. Videos generated by an agent appear in your Ozor dashboard, open in the same editor via the returned editorUrl, use your brand styling, and export at the same qualities (720p on the free plan, up to 4K on paid plans). You can start a video conversationally through Claude and finish it by hand in the editor, or the other way around.

How do I keep my API key secure in MCP configs?

For local clients, the key lives in an environment variable (OZOR_API_KEY) inside your client config on your own machine — never commit that file to a repository. Create one key per client so a leak is contained and revocable on its own; revoking a key in the dashboard invalidates it immediately. Hosted clients like Claude.ai use the OAuth flow instead: the server stores your key server-side and exchanges short-lived access tokens for it, so the client never handles the raw key at all.

Can an agent turn a document into a video?

Yes, and it is one of the strongest MCP workflows. The agent calls analyze_document with a PDF, PPTX, DOCX, or public URL and gets back a draft plan — scenes, voiceover script, and credit cost — which it presents to you in plain language. You approve or request changes (applied via update_plan, including picking a narration voice from list_voices), and generate_from_plan renders the approved plan into a real project. The agent never has to summarize the document itself; the analysis preserves structure and visuals.

Ozor AI

Your agent's first video is one prompt away

10 free credits. No card. Add the Ozor MCP server to Claude or Cursor and ask for a video.

Try Ozor Free

Written by Mintii Labs · Ozor founders · Aug 24, 2026