How to Connect Claude Code to a Video Pipeline with MCP

Claude can write the script, but it cannot render the video. Over MCP it can drive a pipeline that does. This guide connects Claude Code and claude.ai to Treza's hosted MCP server, walks through the five tools it exposes, and shows the prompts that turn a chat into a video production console.

Alex Daro
Alex Daro
How to Connect Claude Code to a Video Pipeline with MCP

Claude Code is a capable operator of anything with an interface, and the Model Context Protocol is how you hand it one. Video generation is a natural fit: renders take minutes, involve several models, and end with an artifact you mostly want linked, not streamed into a terminal. Connect Claude to a pipeline platform over MCP and "make me a video about deep sea creatures and post it as a Short" becomes a working instruction.

This guide uses Treza's hosted MCP server, which exposes your actual account's pipelines as tools. Nothing here requires running a local server or pasting API keys into a chat.

What the connection gives Claude

Treza's MCP server lives at trezalabs.com/api/mcp and speaks standard Streamable HTTP MCP. Once connected, Claude gets five tools scoped to your account:

  • list_pipelines and get_pipeline, so it can find the right pipeline and read its structure
  • run_pipeline, which starts a render on Treza's workers and returns a run id immediately
  • list_runs and get_run, so it can poll progress, inspect per-node results, and return the finished video's URL

The tool count is deliberately small. Five tools that map to real work keep the model reliable; fifty granular ones make it guess.

The pipelines themselves are whatever you built on the canvas: a captioned short, a clip factory, a full publish-to-YouTube automation. Claude triggers the chain; the chain does the production.

Step 1: Have a pipeline worth driving

Build or pick a pipeline in Treza and confirm one manual run works. A template is the fastest start: the captioned short template already chains script, shots, narration, and captions. Whatever quality you lock into the pipeline is what every chat-triggered run inherits.

Step 2: Add the server to Claude Code

One command:

claude mcp add --transport http treza https://trezalabs.com/api/mcp

Claude Code prompts you to authenticate on first use: you sign in on Treza's own page and approve the connection. That is OAuth doing its job, and it means no API key ever appears in your terminal history or chat context. If you prefer keys for scripted or headless use, a scoped API key with pipelines:read and pipelines:run permissions works in an Authorization header instead.

The same server works in claude.ai (Settings, then Connectors, then Add custom connector, with the same URL) and in any MCP client that speaks Streamable HTTP, including Cursor.

Step 3: Ask for a video

Some prompts that work as-is once connected:

  • "List my video pipelines and tell me what each one does."
  • "Run the daily short pipeline with the topic 'bioluminescent deep sea creatures' and give me the output link when it finishes."
  • "Did last night's scheduled run succeed? If it failed, show me which node failed and why."
  • "Pull the last three runs of the clip factory and compare their durations and costs."

Because run_pipeline returns a run id immediately rather than blocking, long renders do not hang the chat. Claude polls get_run and comes back when the status flips. Finished runs include per-node results and output media URLs, so failure questions get answered with the failing node's actual error rather than a shrug.

Where this beats a one-shot integration

Wiring Claude directly to a raw video model API gets you a clip. Wiring it to a pipeline gets you production. The difference shows up in three places:

  1. The prompt engineering lives in the pipeline, not the chat. Your system prompts, model choices, caption styles, and publishing settings are versioned on the canvas. Every chat-started run inherits them, so quality does not depend on how carefully anyone phrases the request.
  2. The output is finished. A pipeline run can end with narration mixed, captions burned in, and the video uploaded to YouTube as a private draft for review. Claude hands back a link to something shippable, not raw frames that need three more tools.
  3. Costs and history are accountable. Runs started from chat draw the same prepaid credits and appear in the same run history as everything else, so an agent-driven workflow stays auditable.

Frequently Asked Questions

Can Claude Code generate videos by itself?

No. Claude has no built-in video model. What it can do is orchestrate one over MCP: with the Treza connector it lists your pipelines, starts runs, monitors progress, and returns the finished video's URL, while models like Veo 3.1, Sora 2 Pro, and Seedance 2.0 do the rendering inside the pipeline.

Do I need to run an MCP server locally?

No. Treza's MCP server is hosted at trezalabs.com/api/mcp and speaks standard Streamable HTTP MCP. Claude Code, claude.ai, and Cursor all connect to it directly, with OAuth sign-in on first use.

Is it safe to give Claude access to my account?

The connection is scoped: every tool call is checked against the signed-in account, so Claude sees and runs only pipelines you own. OAuth means no credentials enter the chat, and API keys, if you use them instead, carry explicit read and run permissions you grant at creation. Publishing nodes default to non-public visibility, so a chat-triggered run does not put anything live unless the pipeline is configured to.

What does a run started from Claude cost?

The same as a run started from the dashboard: each generation is charged at the model's rate from your prepaid balance, only successful generations are charged, and the run appears in the same history with per-node costs. A typical video generation settles around $1.06.